home *** CD-ROM | disk | FTP | other *** search
- Le systeme d'exploitation Linux
- Remy Card, Rene Cougnenc, Julien Simon
-
- 11.. HHiissttoorriiqquuee ddee LLiinnuuxx
-
- Au cours de l'annee 1991, un etudiant finlandais, nomme Linus
- Torvalds, a achete un micro-ordinateur de type PC, afin d'etudier la
- programmation du microprocesseur i386. Ne voulant pas etre limite par
- MS/DOS, il a tout d'abord utilise un clone d'Unix, peu cher, appele
- Minix. Minix possede lui-meme certaines limitations qui, bien que
- moins importantes que celles de MS/DOS, sont assez genantes
- (limitation de la taille des executables a 64 kilo-octets, limitation
- des systemes de fichiers a 64 mega-octets, temps de reponse
- deplorable, ...). Aussi, Linus Torvalds a commence a re-ecrire
- certaines parties du systeme afin de lui ajouter des fonctionnalites
- et de le rendre plus efficace et a diffuse une distribution source de
- son travail via Internet. La premiere version de Linux (version 0.1 en
- aout 1991) etait nee.
-
- Cette premiere version etait tres limitee (elle ne comportait meme pas
- de gestionnaire des disquettes) et n'etait utilisable que sous Minix.
- Aussi, il est fort probable qu'elle ait ete utilisee par tres peu de
- personnes. Neanmoins, un petit nombre de "hackers" ont decouvert, a
- cette epoque, cet embryon de systeme et ont vu en lui la base d'un
- systeme exploitable. Aussi, un certain nombre de personnes ont
- commence a travailler avec Linus Torvalds afin d'enrichir le noyau.
-
- Au cours des quatre dernieres annees, le developpement du noyau Linux,
- ainsi que des utilitaires necessaires pour en faire un systeme
- compatible avec Unix, a ete mene de maniere intensive par un ensemble
- de programmeurs, situes aux quatre coins du monde, communiquant via le
- reseau Internet. Ces developpeurs ont implemente de nombreuses
- fonctionnalites qui font de Linux aujourd'hui un clone efficace d'Unix
- pour micro-ordinateurs PC-386, Amiga et Atari.
-
- 22.. MMeetthhooddee ddee ddeevveellooppppeemmeenntt
-
- La facon dont Linux a ete developpe (et continue a etre developpe) est
- assez originale. En effet, le developpement de Linux n'est pas
- controle par une organisation responsable du systeme : un ensemble de
- developpeurs, repartis dans le monde entier, collabore pour etendre
- les fonctionnalites du systeme, le plus souvent en dialoguant via
- Internet. Tout programmeur disposant des competences necessaires, de
- temps libre, et d'une certaine dose de courage, peut participer au
- developpement du systeme.
-
- Bien que le nom "Linux" se refere au noyau du systeme, le
- developpement ne se confine pas a ce seul noyau : certaines equipes
- travaillent sur d'autres projets, comme la conception et le
- developpement de nouveaux utilitaires ou encore le developpement des
- librairies partagees utilisees pour programmer.
-
- Chaque equipe travaille selon une structure hierarchique informelle :
- une personne est responsable d'un projet et plusieurs autres
- programmeurs participent au developpement en contribuant du code.
- L'exemple typique de cette methode de developpement est le noyau lui-
- meme : Linus Torvalds maintient le noyau et c'est lui qui effectue les
- distributions source quand il estime que le code est utilisable ;
- chaque partie importante du noyau (comme la gestion du reseau, les
- gestionnaires de peripheriques, le systeme de fichiers, ...) est sous
- la responsabilite d'un developpeur qui centralise le travail d'autres
- programmeurs et les transmet a Linus Torvalds pour inclusion dans le
- noyau officiel.
-
- Bien que cette methode de developpement puisse surprendre au premier
- abord, elle est tres efficace. La totalite du noyau de Linux a ete
- ecrite par des volontaires, qui ont souvent passe des nuits entieres a
- programmer et a corriger des bogues.
-
- Le code developpe dans le cadre de Linux est le plus souvent diffuse
- sous forme de programme source, sous la licence GNU ("_G_e_n_e_r_a_l _P_u_b_l_i_c
- _L_i_c_e_n_s_e", ou GPL). La GPL stipule que les programmes source sont la
- propriete de leurs auteurs et qu'ils doivent etre distribues sous
- forme de source. Cette licence autorise quiconque a revendre ces
- programmes mais elle impose que tout utilisateur puisse avoir acces
- aux programmes source. De plus, la GPL impose que toute modification
- de ces programmes est couverte par la meme licence, et donc que les
- programmes seront toujours librement disponibles.
-
- 33.. FFoonnccttiioonnnnaalliitteess ddee LLiinnuuxx
-
- 33..11.. LLee nnooyyaauu
-
- Linux offre toutes les fonctionnalites d'un clone Unix sur micro-
- ordinateurs PC-386. Il fournit un environnement de travail multi-
- utilisateurs, plusieurs personnes peuvent utiliser la machine au meme
- moment, et multi-taches, chaque utilisateur peut executer plusieurs
- programmes en parallele. Le systeme fonctionne en mode protege,
- execute du code 32 bits, contrairement a d'autres systemes qui
- s'executent en mode 16 bits et sont donc moins performants..., et
- utilise les mecanismes de protection du processeur pour garantir
- qu'aucun processus ne peut perturber l'execution des autres ou du
- systeme lui-meme.
-
- Le noyau implemente les semantiques Unix : processus concurrents,
- chargement a la demande des programmes executables avec partage de
- pages et copie en ecriture, pagination, systemes de fichiers, support
- des protocoles reseau TCP/IP.
-
- Il supporte, de plus, la majorite des peripheriques existant dans le
- monde PC (y compris les cartes sonores) et permet de relire les
- partitions MS/DOS, OS/2 et tous les formats standards de CD/ROM.
-
- 33..22.. AApppplliiccaattiioonnss
-
- Les librairies de developpement dans Linux sont basees sur les
- librairies GNU, de la "_F_r_e_e _S_o_f_t_w_a_r_e _F_u_n_d_a_t_i_o_n". Ces libraries
- offrent un haut degre de comptabilite avec les differents
- "standards" Unix (Posix, BSD, System V), ce qui permet de compiler
- facilement tout type d'application disponible au niveau source pour
- Unix. Ces librairies existent sous forme de bibliotheques partagees,
- ce qui signifie que le code des fonctions de librairie n'est charge
- qu'une seule fois en memoire et que les programmes executables sont
- plus petits en taille sur les disques.
-
- La plupart des utilitaires standards Unix sont disponibles sous Linux,
- aussi bien les commandes de base que des applications plus evoluees,
- comme les compilateurs et editeurs de texte. La plupart des ces
- utilitaires sont des programmes GNU, qui supportent des extensions
- qu'on ne retrouve pas dans les versions BSD ou System V de ces
- programmes, mais qui restent compatibles avec ces dernieres. Certains
- programmes, notamment les utilitaires reseau, sont des programmes BSD.
- En resume, pratiquement tout programme Unix diffuse sous forme de
- source peut etre compile sous Linux et s'execute parfaitement, grace a
- la compatibilite implementee dans le noyau et dans les librairies.
-
- En plus des programmes standards, Linux supporte de "grosses"
- applications. On retrouve l'interface graphique X Window (XFree86 3
- base sur X11R6), un environnement de developpement tres complet
- comprenant toutes les bibliotheques standard, compilateurs et
- debogueurs disponibles sous Unix (C, C++, Objective-C, Smalltalk,
- Fortran, Pascal, Lisp, Scheme, Ada, gdb, de texte, comme nroff, TeX,
- et LaTeX.
-
- 33..33.. CCoommppaattiibbiilliittee aavveecc dd''aauuttrreess ssyysstteemmeess
-
- Linux n'est pas compatible directement avec les applications
- developpees pour d'autres systemes d'exploitation. Afin de permettre
- aux utilisateurs de Linux de beneficier des applications qu'ils
- possedent deja, que ce soit sous MS/DOS, Windows ou des systemes Unix
- commerciaux, des emulateurs sont en cours de developpement et
- permettent deja d'executer des applications "etrangeres".
-
- L'emulateur MS/DOS utilise le mode virtuel 8086 du processeur i386
- pour executer des applications DOS. Il implemente les fonctionnalites
- de MS/DOS dans un processus et assure ainsi l'interfacage entre
- l'application et le systeme en emulant les appels systeme effectues
- par le programme. A ce jour, de nombreuses applications fonctionnent
- correctement sous l'emulateur MS/DOS et la liste s'allonge tous les
- jours.
-
- L'emulateur WINE est assez similaire a WABI, developpe par Sun
- Microsystems : il permet d'executer des applications Windows en
- convertissant leurs appeles graphiques en requetes adressees a
- l'environnement X Window. A ce jour, seul un petit nombre
- d'applications Windows fonctionne correctement mais le developpement
- de WINE n'en est qu'a ses debuts et les progres semblent prometteurs.
-
- Le module de compatibilite iBCS2 permet d'executer des applications
- developpees pour des systemes Unix commerciaux sur micro-ordinateurs
- PC-386. Cet emulateur convertit les appels systeme se conformant au
- standard iBCS2 (qui definit le format des primitives systeme ainsi que
- celui de leurs arguments) en appels natifs traites par le noyau Linux.
- Il est ainsi possible d'executer de maniere transparente des
- programmes developpes pour d'autres systemes, comme SCO par exemple.
-
- Le but de ces differents emulateurs est de permettre d'utiliser des
- applications commerciales sous Linux. Il faut desormais signaler que
- certains editeurs de logiciels considerent maintenant Linux comme un
- marche potentiel pour leurs produits et envisagent de porter leurs
- applications sous Linux. De la sorte, il est probable qu'un certain
- nombre d'applications commerciales tourneront bientot en mode natif
- sous Linux, sans necessiter d'emulateur. L'exemple le plus frappant de
- cette tendance consiste en le portage du jeu DOOM qui fonctionne sous
- Linux dans l'environnement X Window.
-
- 44.. DDiissppoonniibbiilliittee ddee LLiinnuuxx
-
- Linux, et ses programmes associes, etant diffuses librement sous la
- licence GNU, ils sont disponibles au telechargement sur de nombreux
- serveurs FTP de part le monde. Les trois sites primaires de
- distribution sont les suivants :
- +o tsx-11.mit.edu, dans le repertoire /pub/linux ;
-
- +o ftp.funet.fi, dans le repertoire /pub/OS/Linux ;
-
- +o sunsite.unc.edu, dans le repertoire /pub/Linux.
-
- De nombreux serveurs FTP effectuent des miroirs reguliers de ces
- sites, permettant ainsi d'acceder rapidement aux memes donnees en
- raison de la proximite geographique. En France, on peut citer les
- serveurs suivants :
-
- +o ftp.ibp.fr, dans le repertoire /pub/linux ;
-
- +o ftp.fdn.org, dans le repertoire /pub/Linux ;
-
- +o ftp.loria.fr, dans le repertoire /pub/linux ;
-
- +o ftp.univ-angers.fr, dans le repertoire /pub/Linux.
-
- De nombreuses distributions binaires du systeme sont egalement
- disponibles pour un prix raisonnable sous forme de CD/ROM. Ceci permet
- aux personnes interessees d'installer un systeme Linux, meme si elles
- n'ont pas acces au reseau Internet. Il est a noter que ces CD/ROM ne
- sont pas toujours a jour, vu l'evolution rapide de Linux, mais ils
- sont generalement edites periodiquement afin d'incorporer les
- dernieres versions disponibles.
-
- 55.. SSoouurrcceess dd''iinnffoorrmmaattiioonnss ssuurr LLiinnuuxx
-
- Linux fait l'objet de plusieurs forums de discussion Usenet, aussi
- bien en langue anglaise (_c_o_m_p_._o_s_._l_i_n_u_x_._a_d_v_o_c_a_c_y_,
- _c_o_m_p_._o_s_._l_i_n_u_x_._a_n_n_o_u_n_c_e_, _c_o_m_p_._o_s_._l_i_n_u_x_._a_n_s_w_e_r_s_,
- _c_o_m_p_._o_s_._l_i_n_u_x_._d_e_v_e_l_o_p_m_e_n_t_._a_p_p_s_, _c_o_m_p_._o_s_._l_i_n_u_x_._d_e_v_e_l_o_p_m_e_n_t_._s_y_s_t_e_m_,
- _c_o_m_p_._o_s_._l_i_n_u_x_._h_a_r_d_w_a_r_e_, _c_o_m_p_._o_s_._l_i_n_u_x_._n_e_t_w_o_r_k_i_n_g_, _c_o_m_p_._o_s_._l_i_n_u_x_._m_i_s_c_,
- _c_o_m_p_._o_s_._l_i_n_u_x_._s_e_t_u_p_, _c_o_m_p_._o_s_._l_i_n_u_x_._x) qu'en francais
- (_f_r_._c_o_m_p_._o_s_._l_i_n_u_x).
-
- De nombreuses documentations sont desormais egalement accessibles.
- Les "HOWTO" decrivent, brievement mais clairement, l'installation et
- l'utilisation d'une partie du systeme. De plus, un groupe de
- documentation, le "_L_i_n_u_x _D_o_c_u_m_e_n_t_a_t_i_o_n _P_r_o_j_e_c_t", publie des guides
- complets qui sont diffuses librement. Le serveur FTP ftp.ibp.fr offre
- ces documentations dans le repertoire /pub/linux/docs ainsi que leurs
- traductions francaises dans le repertoire /pub/linux/french.
-
- Enfin, il faut signaler que certains editeurs commencent a publier des
- livres complets sur Linux. Les premiers livres publies sur Linux
- etaient rediges en allemand mais il existe maintenant des livres en
- anglais sur Linux, certains de ces livres etant traduits en francais.
-
- 66.. EEvvoolluuttiioonn ffuuttuurree ddee LLiinnuuxx
-
- La version actuelle du noyau de Linux est 1.2. Bien que Linux soit
- deja tres complet et competitif avec des systemes d'exploitation
- commerciaux, le developpement du systeme continue.
-
- Des portages du noyau sont en cours afin de realiser des versions
- s'executant sur stations de travail Sparc et PC Alpha, en plus des
- versions actuelles fonctionnant sur micro-ordinateurs PC-386, Amiga et
- Atari. De nouvelles fonctionnalites sont egalement a l'etude et
- devraient etre disponibles prochainement.
-
- Le noyau n'est pas la seule partie du systeme a evoluer. Des equipes
- de developpement travaillent pour etendre les fonctionnalites des
- utilitaires et des librairies. On peut citer, notamment, l'utilisation
- imminente du format de fichier executable ELF qui permettra la
- creation de librairies dynamiques et une compatibilite plus grande
- avec les versions d'Unix commerciaux s'executant sur PC-386.
-
- 77.. CCee ddooccuummeenntt
-
- Ce document est un article d'introduction, base sur la feuille
- d'informations Linux. Il a ete ecrit par Remy Card, Rene Cougnenc, et
- Julien Simon.
-
- Il est, bien entendu, mis dans le domaine public. Toutefois, soyez
- assez courtois pour ne pas vous en approprier la propriete si vous le
- diffusez...
-
-