home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog Special Edition 1: Linux
/
CD2.iso
/
docs
/
intro.sgml
< prev
next >
Wrap
SGML Document
|
1999-03-14
|
14KB
<!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>