home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog Special Edition 1: Linux
/
CD2.iso
/
docs
/
intro
< prev
next >
Wrap
Text File
|
1999-03-14
|
15KB
|
262 lines
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...