INITIATION A GNU/LINUX
I- HISTORIQUE
1- Unix
À la fin des années 1960, les constructeurs d’ordinateurs proposaient chacun de leur
côté un système d’exploitation propre à leur machine et incompatible avec les autres. C’est
dans ce contexte qu’aux Bell Labs de New York, des chercheurs ont entrepris de réfléchir à
un système d’exploitation idéal. Cette réflexion conduisit en 1969 Kenneth Thompson à
mettre sur pied un nouveau prototype de système d’exploitation baptisé Unics qui, avec le
temps sera contracté en Unix.
Unix est écrit en C pour assurer sa portabilité. Il sait partager le temps processeur entre
plusieurs tâches et plusieurs utilisateurs. Une des raisons de son rapide développement fut la
libre distribution de son code source aux universités américaines. Chacune de ces universités
était libre de l’étudier, de le modifier ou de proposer des améliorations (bien sur après
acquisition d’une licence). Nous verrons ainsi l’apparition de :
- BSD (Berkeley System Distribution) développé en 1980 par des chercheurs de
l'université de Berkeley
- AIX développé en février 1990 par IBM
- Sun Solaris, développé par SUN Microsystems
- HP-UX développé à partir de 1986 par Hewlett Packard
- Ultrix développé par DEC
- IRIX développé par SGI
- Unixware développé par Novell
- Unix SCO développé dès 1979 par Santa Cruz Operations et Hewlett Packard
- Tru64 UNIX, Unix commercial développé par Compaq
- Minix développé en 1985 par un professeur américain enseignant en Hollande,
nommé Andrew Tannenbaum. afin d'enseigner la programmation système à ses
étudiants.
Cette pratique a malheureusement eu pour conséquence d’introduire des
incompatibilités entre les systèmes, il est apparu nécessaire de normaliser le comportement du
système Unix. La norme POSIX fut créée.
2- POSIX
POSIX (acronyme de Portable Operating System Interface, dont le X exprime
l'héritage UNIX de l'Interface de programmation) est le nom d'une famille de standards
définie depuis 1988 par l'Institute of Electrical and Electronics Engineers (IEEE) et
formellement désignée IEEE 1003. C'est le standard officiel qui définit les interfaces
communes à tous les systèmes de type Unix.
Une interface de programmation (API pour Application Programming Interface) est
une façade clairement délimitée par laquelle un logiciel (plus précisément un système
d’exploitation) offre des services à d'autres logiciels. L'objectif est de fournir une porte
d'accès à une fonctionnalité en cachant les détails de sa mise en œuvre. Une interface de
programmation comporte des classes, des méthodes ou des fonctions, des types de données et
des constantes. Une interface de programmation est mise en œuvre par une bibliothèque
logicielle qui fournit une solution à un problème informatique en faisant abstraction de son
fonctionnement
3- Projet GNU
Au départ, toutes les sources d’UNIX étaient disponibles, donc beaucoup de gens ont
pu contribuer à son expansion. Avec la commercialisation du système par la suite, les sources
n'étaient offertes qu'à des prix exorbitants. Cette situation était frustrante pour les étudiants et
techniciens qui ne pouvaient s’offrir une licence ou travailler avec toute la liberté qu’ils
auraient souhaitée sur ce système. Ce besoin a pour ainsi dire suscité des initiatives
alternatives, dont la première fut en 1983 le lancement du projet GNU (GNU's not UNIX) par
Richard Stallman. En 1984, ce dernier a créé la Free Software Foundation (FSF, fondation du
logiciel libre), cadre juridique au projet GNU. L’objectif en était titanesque : il s’agissait
d’écrire un système Unix complet en repartant de zéro, compatible avec les systèmes
existants, et sous forme de logiciel libre. Stallman a rapidement été rejoint par des
collaborateurs et volontaires du monde entier.
4- Linux
Entre-temps, un étudiant finlandais, Linus Torvalds qu’indisposait la faible
disponibilité de l’ordinateur serveur Unix de l’université d’Helsinki, entreprit d’écrire un
noyau Unix supportant une architecture Intel 80386 en s’inspirant de Minix (le concepteur
Andrew Tanenbaum refusant d’intégrer les contributions visant à améliorer Minix). À ce
noyau, il adapte de nombreux composants disponibles du projet GNU pour obtenir un système
d’exploitation plus complet. Il a été rapidement rejoint dans son projet par de nombreux
volontaires. Dès 1993, les premières solutions complètes intégrant le noyau Linux voient le
jour. Elles n’ont depuis pas cessé de se développer en volume et en qualité. Par la suite,
Richard Stallman et la FSF ont demandé qu’on rende hommage à leur travail de préparation
En effet le noyau Linux ne représente en volume de code qu’environ 3 % du système. La
plupart des applications provenant du projet GNU. Le mot « Linux » ne renvoie dès lors qu’au
noyau du système et l’utilisant de l’expression « GNU/Linux » ou « GNU-Linux » pour le
système complet.
Linux du sa popularité du fait qu’il fonctionnait très bien sur des ordinateurs bon
marché et aussi à sa gratuité. Linux a été le système de prédilection des étudiants et de ceux
qui désiraient posséder un système Unix mais qui n’avaient pas les moyens de le faire. Etant
devenu un système majeur et stable des entreprises en ont trouvé une solution à moindre coût.
Les produits et solutions estampillés de la mention « Linux » sont nombreux et variés,
tant sur les étagères des commerces que sur Internet. On appelle distribution Linux
l'assemblage d'un ensemble de logiciels autour d'un noyau Linux afin de fournir un système
clé en main.
Chaque distribution possède ses avantages et ses inconvénients. En effet, si certaines
distributions sont plus adaptées à des débutants et proposent des interfaces graphiques
évoluées (Mandriva), d'autres par contre privilégient la sécurité ou l'évolutivité. Les
distributions les plus connues sont :
La distribution Knoppix ;
La distribution Debian ;
La distribution Mandrake ;
La distribution Fedora/RedHat ;
La distribution SuSe ;
La distribution Slackware ;
La distribution Mandriva.
La distribution Gentoo ;
II- AVANTAGES ET INCONVENIENTS DU SYSTEME LINUX
Linux est un système pouvant être exécuté sur différentes plates-formes matérielles. Il
est de plus en plus utilisé sur les super-ordinateurs et les smartphones. Sur les serveurs
informatiques, le marché est partagé avec Unix et Windows. Il est largement utilisé comme
système embarqué dans les appareils électroniques : télévision, modem, GPS, consoles de jeu,
assistants numériques, etc. Il reste en revanche très peu utilisé sur sa plate-forme d'origine, les
ordinateurs personnels.
Linux est ainsi un système multi plate-forme. Il est également multi-utilisateurs mais
aussi multitâches et multiprocesseurs. Linux est considéré comme un système fiable, robuste
et puissant. Il est d'ailleurs capable de fonctionner avec très peu de ressources sur des
ordinateurs bas de gamme très peu puissants.
Le système GNU/Linux possède notamment les avantages suivants :
La gratuité : Des serveurs FTP librement accessibles stockent les fichiers grâce
auxquels une machine peut fonctionner sous GNU/Linux. La plupart des utilisateurs
installent donc GNU/Linux grâce à un support contenant une distribution laissées à
disposition sur l'Internet par des groupes d'utilisateurs ou commercialisées par des
sociétés commerciales vendent.
Stabilité et robustesse : GNU/Linux offre une base solide car assure en continu un bon
service : pas « de plantage surprise » du système ni d'instabilité de l'ensemble causée
par le dysfonctionnement de certains programmes.
Assistance : Les sources d'information abondent : forums de "news", documents
publiés sur le Web, clubs d'utilisateurs, revues et livres publiés, canaux IRC ... Leurs
niveaux de qualité varient mais beaucoup perçoivent une très nette amélioration.
Code source disponible : Cela facilite l'apprentissage et la maintenance corrective
(correction de bugs) ou adaptative (extension des fonctions assurées). La disponibilité
des codes sources garanti que les utilisateurs ne seront jamais otages de formats de
fichiers ou d'algorithmes aux spécifications non rendues publiques.
Conforme aux normes et standards POSIX : Il est dit « ouvert » car ses concepteurs
tentent toujours de ménager sa compatibilité avec les standards et normes, donc avec
les autres systèmes ouverts.
Performances et rendement : GNU/Linux, à configuration matérielle égale, s'avère très
souvent plus rapide que les autres systèmes d'exploitation. Une seule machine peut
satisfaire les besoins de plusieurs utilisateurs simultanément connectés. Il fonctionne
de façon utile même sur des machines modestes ou obsolètes, grâce à sa modularité.
GNU/Linux possède également des inconvénients, nous pouvons citer:
Apprentissage nécessaire : Linux, héritier d'Unix lui-même conçu par des chercheurs
pour leurs pairs, ne brille d'ordinaire pas par son ergonomie (facilité d’utilisation). Les
auteurs de programmes se soucient souvent davantage de l'efficacité et de la richesse
des fonctions assurées que de l'attrait exercé par l'interface utilisateur. Un utilisateur
ignorant tout de l'informatique doit se familiariser avec cet outil, sous peine de devoir
se contenter de la sous-exploiter ou bien de recouvrir souvent aux services d'un
informaticien Des interfaces ergonomiques existent (KDE, GNOME).
Manque d'applications dans les domaines non techniques : Les premiers développeurs
de logiciels libres s'intéressaient surtout aux aspects scientifiques et techniques. Les
applications relevant d'autres domaines d'activité, en particulier de la gestion,
manquent encore à l'appel. Mais certains nouveaux convaincus peuvent étendre le
champ, et certains s'y emploient.