home *** CD-ROM | disk | FTP | other *** search
- <!doctype linuxdoc system>
-
- <article>
-
- <title>Le systΦme d'exploitation Linux
-
- <author>RΘmy Card, RenΘ Cougnenc, Julien Simon<p>
-
- <sect>Historique de Linux<p>
-
- Au cours de l'annΘe 1991, un Θtudiant finlandais, nommΘ Linus Torvalds,
- a achetΘ un micro-ordinateur de type PC, afin d'Θtudier la programmation du
- microprocesseur i386. Ne voulant pas Ωtre limitΘ par MS/DOS, il a tout d'abord
- utilisΘ un clone d'Unix, peu cher, appelΘ Minix. Minix possΦde lui-mΩme
- certaines limitations qui, bien que moins importantes que celles de MS/DOS,
- sont assez gΘnantes (limitation de la taille des exΘcutables α 64 kilo-octets,
- limitation des systΦmes de fichiers α 64 mΘga-octets, temps de rΘponse
- dΘplorable, ...). Aussi, Linus Torvalds a commencΘ α rΘ-Θcrire certaines
- parties du systΦme afin de lui ajouter des fonctionnalitΘs et de le rendre
- plus efficace et a diffusΘ une distribution source de son travail via
- Internet. La premiΦre version de Linux (version 0.1 en ao√t 1991) Θtait nΘe.
-
- Cette premiΦre version Θtait trΦs limitΘe (elle ne comportait mΩme pas
- de gestionnaire des disquettes) et n'Θtait utilisable que sous Minix. Aussi, il
- est fort probable qu'elle ait ΘtΘ utilisΘe par trΦs peu de personnes.
- NΘanmoins, un
- petit nombre de <sq>hackers</sq>
- ont dΘcouvert, α cette
- Θpoque, cet embryon de systΦme et ont vu en lui la base d'un systΦme
- exploitable. Aussi, un certain nombre de personnes ont commencΘ α travailler
- avec Linus Torvalds afin d'enrichir le noyau.
-
- Au cours des quatre derniΦres annΘes, le dΘveloppement du noyau Linux,
- ainsi que des utilitaires nΘcessaires pour en faire un systΦme compatible avec
- Unix, a ΘtΘ menΘ de maniΦre intensive par un ensemble de programmeurs, situΘs
- aux quatre coins du monde, communiquant via le rΘseau Internet. Ces
- dΘveloppeurs ont implΘmentΘ de nombreuses fonctionnalitΘs qui font de Linux
- aujourd'hui un clone efficace d'Unix pour micro-ordinateurs PC-386, Amiga
- et Atari.
-
- <sect>MΘthode de dΘveloppement<p>
-
- La faτon dont Linux a ΘtΘ dΘveloppΘ (et continue α Ωtre dΘveloppΘ) est
- assez originale. En effet, le dΘveloppement de Linux n'est pas contr⌠lΘ par une
- organisation responsable du systΦme : un ensemble de dΘveloppeurs, rΘpartis
- dans le monde entier, collabore pour Θtendre les fonctionnalitΘs du systΦme,
- le plus souvent en dialoguant via Internet. Tout programmeur disposant des
- compΘtences nΘcessaires, de temps libre, et d'une certaine dose de courage,
- peut participer au dΘveloppement du systΦme.
-
- Bien que le nom <sq>Linux</sq> se rΘfΦre au noyau du systΦme, le
- dΘveloppement ne se confine pas α ce seul noyau : certaines Θquipes
- travaillent sur d'autres projets, comme la conception et le dΘveloppement
- de nouveaux utilitaires ou encore le dΘveloppement des librairies partagΘes
- utilisΘes pour programmer.
-
- Chaque Θquipe travaille selon une structure hiΘrarchique informelle :
- une personne est responsable d'un projet et plusieurs autres
- programmeurs participent au dΘveloppement en contribuant du code. L'exemple
- typique de cette mΘthode de dΘveloppement est le noyau lui-mΩme : 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 rΘseau, les gestionnaires de pΘriphΘriques, le
- systΦme de fichiers, ...) est sous la responsabilitΘ d'un dΘveloppeur
- qui centralise le travail d'autres programmeurs et les transmet α Linus
- Torvalds pour inclusion dans le noyau officiel.
-
- Bien que cette mΘthode de dΘveloppement puisse surprendre au premier
- abord, elle est trΦs efficace. La totalitΘ du noyau de Linux a ΘtΘ Θcrite
- par des volontaires, qui ont souvent passΘ des nuits entiΦres α programmer
- et α corriger des bogues.
-
- Le code dΘveloppΘ dans le cadre de Linux est le plus souvent diffusΘ
- sous forme de programme source, sous la licence GNU (<sq><em>General Public
- License</em></sq>, ou GPL). La GPL stipule que les programmes source sont la
- propriΘtΘ de leurs auteurs et qu'ils doivent Ωtre distribuΘs sous forme de
- source. Cette licence autorise quiconque α revendre ces programmes mais elle
- impose que tout utilisateur puisse avoir accΦs aux programmes source. De plus,
- la GPL impose que toute modification de ces programmes est couverte par la
- mΩme licence, et donc que les programmes seront toujours librement disponibles.
-
- <sect>FonctionnalitΘs de Linux<p>
-
- <sect1>Le noyau<p>
-
- Linux offre toutes les fonctionnalitΘs d'un clone Unix sur
- micro-ordinateurs PC-386. Il fournit un
- environnement de travail multi-utilisateurs, plusieurs personnes peuvent
- utiliser la machine au mΩme moment, et multi-tΓches, chaque utilisateur peut
- exΘcuter plusieurs programmes en parallΦle. Le systΦme fonctionne en mode
- protΘgΘ, exΘcute du code 32 bits, contrairement α d'autres systΦmes
- qui s'exΘcutent en mode 16 bits et sont donc moins performants..., et
- utilise les mΘcanismes de protection du processeur pour garantir qu'aucun
- processus ne peut perturber l'exΘcution des autres ou du systΦme lui-mΩme.
-
- Le noyau implΘmente les sΘmantiques Unix : processus concurrents,
- chargement α la demande des
- programmes exΘcutables avec partage de pages et copie en Θcriture,
- pagination, systΦmes de fichiers, support des protocoles rΘseau TCP/IP.
-
- Il supporte, de plus, la majoritΘ des pΘriphΘriques 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.
-
- <sect1>Applications<p>
-
- Les librairies de dΘveloppement dans Linux sont basΘes sur les
- librairies GNU, de la <sq><em>Free Software Fundation</em></sq>. Ces
- libraries offrent un haut degrΘ de comptabilitΘ avec les diffΘrents
- <sq>standards</sq> 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 bibliothΦques partagΘes,
- ce qui signifie que le code des fonctions de librairie n'est chargΘ
- qu'une seule fois en mΘmoire et que les programmes exΘcutables 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 evoluΘes, comme
- les compilateurs et Θditeurs 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
- derniΦres. Certains programmes, notamment les utilitaires rΘseau, sont des
- programmes BSD. En rΘsumΘ, pratiquement tout programme Unix diffusΘ sous
- forme de source peut Ωtre compilΘ sous Linux et s'exΘcute parfaitement, grΓce
- α la compatibilitΘ implΘmentΘe dans le noyau et dans les librairies.
-
- En plus des programmes standards, Linux supporte de <sq>grosses</sq>
- applications. On retrouve l'interface graphique X Window (XFree86 3 basΘ
- sur X11R6), un environnement de dΘveloppement trΦs complet comprenant toutes
- les bibliothΦques standard, compilateurs et dΘbogueurs disponibles sous Unix
- (C, C++, Objective-C, Smalltalk, Fortran, Pascal, Lisp, Scheme, Ada, <tt>gdb</tt>,
- ...). L'utilisateur dispose Θgalement d'outils trΦs puissants de formatage
- de texte, comme <tt>nroff</tt>, TeX, et LaTeX.
-
- <sect1>CompatibilitΘ avec d'autres systΦmes<p>
-
- Linux n'est pas compatible directement avec les applications
- dΘveloppΘes pour d'autres systΦmes d'exploitation. Afin de permettre aux
- utilisateurs de Linux de bΘnΘficier des applications qu'ils possΦdent dΘjα,
- que ce soit sous MS/DOS, Windows ou des systΦmes Unix commerciaux, des
- Θmulateurs sont en cours de dΘveloppement et permettent dΘjα d'exΘcuter des
- applications <sq>ΘtrangΦres</sq>.
-
- L'Θmulateur MS/DOS utilise le mode virtuel 8086 du processeur i386
- pour exΘcuter des applications DOS. Il implΘmente les fonctionnalitΘs de
- MS/DOS dans un processus et assure ainsi l'interfaτage entre l'application et
- le systΦme en Θmulant les appels systΦme effectuΘs par le programme. A ce
- jour, de nombreuses applications fonctionnent correctement sous l'Θmulateur
- MS/DOS et la liste s'allonge tous les jours.
-
- L'Θmulateur WINE est assez similaire α WABI, dΘveloppΘ par Sun
- Microsystems : il permet d'exΘcuter des applications Windows en convertissant
- leurs appeles graphiques en requΩtes adressΘes α l'environnement X Window. A
- ce jour, seul un petit nombre d'applications Windows fonctionne correctement
- mais le dΘveloppement de WINE n'en est qu'α ses dΘbuts et les progrΦs semblent
- prometteurs.
-
- Le module de compatibilitΘ iBCS2 permet d'exΘcuter des
- applications dΘveloppΘes pour des systΦmes Unix commerciaux sur
- micro-ordinateurs PC-386. Cet Θmulateur convertit les appels systΦme se
- conformant au standard iBCS2 (qui dΘfinit le format des primitives systΦme
- ainsi que celui de leurs arguments) en appels natifs traεtΘs par le noyau
- Linux. Il est ainsi possible d'exΘcuter de maniΦre transparente des programmes
- dΘveloppΘs pour d'autres systΦmes, comme SCO par exemple.
-
- Le but de ces diffΘrents Θmulateurs est de permettre d'utiliser des
- applications commerciales sous Linux. Il faut dΘsormais signaler que certains
- Θditeurs de logiciels considΦrent maintenant Linux comme un marchΘ 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 bient⌠t en mode natif sous Linux, sans nΘcessiter
- d'Θmulateur. L'exemple le plus frappant de cette tendance consiste en
- le portage du jeu DOOM qui fonctionne sous Linux dans l'environnement X
- Window.
-
- <sect>DisponibilitΘ de Linux<p>
-
- Linux, et ses programmes associΘs, Θtant diffusΘs librement sous la
- licence GNU, ils sont disponibles au tΘlΘchargement sur de nombreux serveurs
- FTP de part le monde. Les trois sites primaires de distribution sont les
- suivants :
- <itemize>
- <item> <tt/tsx-11.mit.edu/, dans le rΘpertoire <tt>/pub/linux</tt> ;
- <item> <tt/ftp.funet.fi/, dans le rΘpertoire <tt>/pub/OS/Linux</tt> ;
- <item> <tt/sunsite.unc.edu/, dans le rΘpertoire <tt>/pub/Linux</tt>.
- </itemize>
-
- De nombreux serveurs FTP effectuent des miroirs rΘguliers de ces sites,
- permettant ainsi d'accΘder rapidement aux mΩmes donnΘes en raison de la
- proximitΘ gΘographique. En France, on peut citer les serveurs suivants :
- <itemize>
- <item <tt/ftp.ibp.fr/, dans le rΘpertoire <tt>/pub/linux</tt> ;
- <item <tt/ftp.fdn.org/, dans le rΘpertoire <tt>/pub/Linux</tt> ;
- <item <tt/ftp.loria.fr/, dans le rΘpertoire <tt>/pub/linux</tt> ;
- <item <tt/ftp.univ-angers.fr/, dans le rΘpertoire <tt>/pub/Linux</tt>.
- </itemize>
-
- De nombreuses distributions binaires du systΦme sont Θgalement
- disponibles pour un prix raisonnable sous forme de CD/ROM. Ceci permet aux
- personnes intΘressΘes d'installer un systΦme Linux, mΩme si elles n'ont pas
- accΦs au rΘseau Internet. Il est α noter que ces CD/ROM ne sont pas toujours
- α jour, vu l'Θvolution rapide de Linux, mais ils sont gΘnΘralement ΘditΘs
- pΘriodiquement afin d'incorporer les derniΦres versions disponibles.
-
- <sect>Sources d'informations sur Linux<p>
-
- Linux fait l'objet de plusieurs forums de discussion Usenet, aussi
- bien en langue anglaise (<it>comp.os.linux.advocacy, comp.os.linux.announce,
- comp.os.linux.answers, comp.os.linux.development.apps,
- comp.os.linux.development.system,
- comp.os.linux.hardware, comp.os.linux.networking, comp.os.linux.misc,
- comp.os.linux.setup, comp.os.linux.x</it>) qu'en franτais (<it>fr.comp.os.linux</it>).
-
- De nombreuses documentations sont dΘsormais Θgalement accessibles.
- Les <sq>HOWTO</sq> dΘcrivent, briΦvement mais clairement, l'installation et
- l'utilisation d'une partie du systΦme. De plus, un groupe de documentation,
- le <sq><em>Linux Documentation Project</em></sq>, publie des guides complets qui sont
- diffusΘs librement. Le serveur FTP <tt/ftp.ibp.fr/ offre ces documentations
- dans le rΘpertoire <tt>/pub/linux/docs</tt> ainsi que leurs traductions
- franτaises dans le rΘpertoire <tt>/pub/linux/french</tt>.
-
- Enfin, il faut signaler que certains Θditeurs commencent α publier des
- livres complets sur Linux. Les premiers livres publiΘs sur Linux Θtaient
- rΘdigΘs en allemand mais il existe maintenant des livres en anglais sur Linux,
- certains de ces livres Θtant traduits en franτais.
-
- <sect>Evolution future de Linux<p>
-
- La version actuelle du noyau de Linux est 1.2. Bien que Linux soit
- dΘjα trΦs complet et compΘtitif avec des systΦmes d'exploitation commerciaux,
- le dΘveloppement du systΦme continue.
-
- Des portages du noyau sont en cours afin de rΘaliser des versions
- s'exΘcutant sur stations de travail Sparc et PC Alpha, en plus des versions
- actuelles fonctionnant sur micro-ordinateurs PC-386, Amiga et Atari. De
- nouvelles fonctionnalitΘs sont Θgalement α l'Θtude et devraient Ωtre
- disponibles prochainement.
-
- Le noyau n'est pas la seule partie du systΦme α Θvoluer. Des Θquipes
- de dΘveloppement travaillent pour Θtendre les fonctionnalitΘs des
- utilitaires et des librairies. On peut citer, notamment, l'utilisation
- imminente du format de fichier exΘcutable ELF qui permettra la crΘation de
- librairies dynamiques et une compatibilitΘ plus grande avec les versions
- d'Unix commerciaux s'exΘcutant sur PC-386.
-
- <sect> Ce document
- <p>
-
- Ce document est un article d'introduction, basΘ sur la feuille
- d'informations Linux. Il a ΘtΘ Θcrit par RΘmy Card, RenΘ Cougnenc,
- et Julien Simon.
-
- Il est, bien entendu, mis
- dans le domaine public. Toutefois, soyez assez courtois pour ne
- pas vous en approprier la propriΘtΘ si vous le diffusez...
-
- </article>
-