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

  1.   Le systeme d'exploitation Linux
  2.   Remy Card, Rene Cougnenc, Julien Simon
  3.  
  4.   11..  HHiissttoorriiqquuee ddee LLiinnuuxx
  5.  
  6.   Au  cours  de  l'annee  1991,  un  etudiant  finlandais,  nomme  Linus
  7.   Torvalds, a achete un micro-ordinateur de type PC, afin  d'etudier  la
  8.   programmation  du microprocesseur i386. Ne voulant pas etre limite par
  9.   MS/DOS, il a tout d'abord utilise un clone d'Unix,  peu  cher,  appele
  10.   Minix.  Minix  possede  lui-meme  certaines  limitations qui, bien que
  11.   moins  importantes  que  celles  de  MS/DOS,   sont   assez   genantes
  12.   (limitation  de la taille des executables a 64 kilo-octets, limitation
  13.   des  systemes  de  fichiers  a  64  mega-octets,  temps   de   reponse
  14.   deplorable,  ...).  Aussi,  Linus  Torvalds  a  commence  a  re-ecrire
  15.   certaines parties du systeme afin de lui ajouter  des  fonctionnalites
  16.   et  de le rendre plus efficace et a diffuse une distribution source de
  17.   son travail via Internet. La premiere version de Linux (version 0.1 en
  18.   aout 1991) etait nee.
  19.  
  20.   Cette premiere version etait tres limitee (elle ne comportait meme pas
  21.   de gestionnaire des disquettes) et n'etait utilisable que sous  Minix.
  22.   Aussi,  il  est fort probable qu'elle ait ete utilisee par tres peu de
  23.   personnes.  Neanmoins, un petit nombre de "hackers" ont  decouvert,  a
  24.   cette  epoque,  cet  embryon  de systeme et ont vu en lui la base d'un
  25.   systeme  exploitable.  Aussi,  un  certain  nombre  de  personnes  ont
  26.   commence a travailler avec Linus Torvalds afin d'enrichir le noyau.
  27.  
  28.   Au cours des quatre dernieres annees, le developpement du noyau Linux,
  29.   ainsi que  des  utilitaires  necessaires  pour  en  faire  un  systeme
  30.   compatible  avec Unix, a ete mene de maniere intensive par un ensemble
  31.   de programmeurs, situes aux quatre coins du monde, communiquant via le
  32.   reseau   Internet.  Ces  developpeurs  ont  implemente  de  nombreuses
  33.   fonctionnalites qui font de Linux aujourd'hui un clone efficace d'Unix
  34.   pour micro-ordinateurs PC-386, Amiga et Atari.
  35.  
  36.   22..  MMeetthhooddee ddee ddeevveellooppppeemmeenntt
  37.  
  38.   La facon dont Linux a ete developpe (et continue a etre developpe) est
  39.   assez originale.  En  effet,  le  developpement  de  Linux  n'est  pas
  40.   controle  par une organisation responsable du systeme : un ensemble de
  41.   developpeurs, repartis dans le monde entier,  collabore  pour  etendre
  42.   les  fonctionnalites  du  systeme,  le  plus souvent en dialoguant via
  43.   Internet. Tout programmeur disposant des competences  necessaires,  de
  44.   temps  libre,  et  d'une  certaine dose de courage, peut participer au
  45.   developpement du systeme.
  46.  
  47.   Bien  que  le  nom  "Linux"  se  refere  au  noyau  du   systeme,   le
  48.   developpement  ne  se  confine pas a ce seul noyau : certaines equipes
  49.   travaillent  sur  d'autres  projets,  comme  la   conception   et   le
  50.   developpement  de  nouveaux utilitaires ou encore le developpement des
  51.   librairies partagees utilisees pour programmer.
  52.  
  53.   Chaque equipe travaille selon une structure hierarchique informelle  :
  54.   une   personne   est  responsable  d'un  projet  et  plusieurs  autres
  55.   programmeurs participent au  developpement  en  contribuant  du  code.
  56.   L'exemple  typique de cette methode de developpement est le noyau lui-
  57.   meme : Linus Torvalds maintient le noyau et c'est lui qui effectue les
  58.   distributions  source  quand  il  estime  que le code est utilisable ;
  59.   chaque partie importante du noyau (comme la  gestion  du  reseau,  les
  60.   gestionnaires  de peripheriques, le systeme de fichiers, ...) est sous
  61.   la responsabilite d'un developpeur qui centralise le travail  d'autres
  62.   programmeurs  et  les transmet a Linus Torvalds pour inclusion dans le
  63.   noyau officiel.
  64.  
  65.   Bien que cette methode de developpement puisse surprendre  au  premier
  66.   abord,  elle  est  tres  efficace. La totalite du noyau de Linux a ete
  67.   ecrite par des volontaires, qui ont souvent passe des nuits entieres a
  68.   programmer et a corriger des bogues.
  69.  
  70.   Le  code  developpe dans le cadre de Linux est le plus souvent diffuse
  71.   sous forme de programme source, sous la licence GNU  ("_G_e_n_e_r_a_l  _P_u_b_l_i_c
  72.   _L_i_c_e_n_s_e",  ou  GPL).  La GPL stipule que les programmes source sont la
  73.   propriete de leurs auteurs et  qu'ils  doivent  etre  distribues  sous
  74.   forme  de  source.  Cette  licence  autorise  quiconque a revendre ces
  75.   programmes mais elle impose que tout utilisateur  puisse  avoir  acces
  76.   aux  programmes  source. De plus, la GPL impose que toute modification
  77.   de ces programmes est couverte par la meme licence, et  donc  que  les
  78.   programmes seront toujours librement disponibles.
  79.  
  80.   33..  FFoonnccttiioonnnnaalliitteess ddee LLiinnuuxx
  81.  
  82.   33..11..  LLee nnooyyaauu
  83.  
  84.   Linux  offre  toutes  les  fonctionnalites  d'un clone Unix sur micro-
  85.   ordinateurs PC-386. Il fournit  un  environnement  de  travail  multi-
  86.   utilisateurs,  plusieurs personnes peuvent utiliser la machine au meme
  87.   moment, et multi-taches, chaque utilisateur  peut  executer  plusieurs
  88.   programmes  en  parallele.  Le  systeme  fonctionne  en  mode protege,
  89.   execute du  code  32  bits,  contrairement  a  d'autres  systemes  qui
  90.   s'executent  en  mode  16  bits  et sont donc moins performants..., et
  91.   utilise les mecanismes  de  protection  du  processeur  pour  garantir
  92.   qu'aucun  processus  ne  peut  perturber  l'execution des autres ou du
  93.   systeme lui-meme.
  94.  
  95.   Le noyau implemente les  semantiques  Unix  :  processus  concurrents,
  96.   chargement  a  la  demande  des programmes executables avec partage de
  97.   pages et copie en ecriture, pagination, systemes de fichiers,  support
  98.   des protocoles reseau TCP/IP.
  99.  
  100.   Il  supporte,  de plus, la majorite des peripheriques existant dans le
  101.   monde PC (y compris les  cartes  sonores)  et  permet  de  relire  les
  102.   partitions MS/DOS, OS/2 et tous les formats standards de CD/ROM.
  103.  
  104.   33..22..  AApppplliiccaattiioonnss
  105.  
  106.   Les   librairies  de developpement  dans  Linux  sont basees  sur  les
  107.   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
  108.   offrent    un   haut  degre   de  comptabilite  avec   les  differents
  109.   "standards" Unix  (Posix, BSD,  System V), ce  qui permet  de compiler
  110.   facilement tout  type d'application  disponible au niveau  source pour
  111.   Unix. Ces  librairies existent sous forme  de bibliotheques partagees,
  112.   ce qui  signifie que le code  des fonctions de librairie  n'est charge
  113.   qu'une seule  fois en memoire  et que les programmes  executables sont
  114.   plus petits en taille sur les disques.
  115.  
  116.   La plupart des utilitaires standards Unix sont disponibles sous Linux,
  117.   aussi bien les commandes de base que des applications  plus  evoluees,
  118.   comme  les  compilateurs  et  editeurs  de  texte.  La plupart des ces
  119.   utilitaires sont des programmes GNU,  qui  supportent  des  extensions
  120.   qu'on  ne  retrouve  pas  dans  les  versions  BSD  ou System V de ces
  121.   programmes, mais qui restent compatibles avec ces dernieres.  Certains
  122.   programmes, notamment les utilitaires reseau, sont des programmes BSD.
  123.   En resume, pratiquement tout programme  Unix  diffuse  sous  forme  de
  124.   source peut etre compile sous Linux et s'execute parfaitement, grace a
  125.   la compatibilite implementee dans le noyau et dans les librairies.
  126.  
  127.   En  plus  des  programmes  standards,  Linux  supporte  de   "grosses"
  128.   applications.  On  retrouve  l'interface graphique X Window (XFree86 3
  129.   base sur  X11R6),  un  environnement  de  developpement  tres  complet
  130.   comprenant   toutes   les   bibliotheques  standard,  compilateurs  et
  131.   debogueurs disponibles sous  Unix  (C,  C++,  Objective-C,  Smalltalk,
  132.   Fortran,  Pascal,  Lisp, Scheme, Ada, gdb, de texte, comme nroff, TeX,
  133.   et LaTeX.
  134.  
  135.   33..33..  CCoommppaattiibbiilliittee aavveecc dd''aauuttrreess ssyysstteemmeess
  136.  
  137.   Linux  n'est  pas  compatible  directement   avec   les   applications
  138.   developpees  pour  d'autres systemes d'exploitation. Afin de permettre
  139.   aux utilisateurs  de  Linux  de  beneficier  des  applications  qu'ils
  140.   possedent  deja, que ce soit sous MS/DOS, Windows ou des systemes Unix
  141.   commerciaux,  des  emulateurs  sont  en  cours  de  developpement   et
  142.   permettent deja d'executer des applications "etrangeres".
  143.  
  144.   L'emulateur  MS/DOS  utilise  le  mode virtuel 8086 du processeur i386
  145.   pour executer des applications DOS. Il implemente les  fonctionnalites
  146.   de  MS/DOS  dans  un  processus  et  assure  ainsi l'interfacage entre
  147.   l'application et le systeme en emulant les  appels  systeme  effectues
  148.   par  le  programme. A ce jour, de nombreuses applications fonctionnent
  149.   correctement sous l'emulateur MS/DOS et la liste  s'allonge  tous  les
  150.   jours.
  151.  
  152.   L'emulateur  WINE  est  assez  similaire  a  WABI,  developpe  par Sun
  153.   Microsystems :  il  permet  d'executer  des  applications  Windows  en
  154.   convertissant   leurs  appeles  graphiques  en  requetes  adressees  a
  155.   l'environnement  X  Window.  A  ce  jour,   seul   un   petit   nombre
  156.   d'applications  Windows  fonctionne correctement mais le developpement
  157.   de WINE n'en est qu'a ses debuts et les progres semblent  prometteurs.
  158.  
  159.   Le  module  de  compatibilite iBCS2 permet d'executer des applications
  160.   developpees pour des systemes Unix commerciaux  sur  micro-ordinateurs
  161.   PC-386.  Cet  emulateur  convertit les appels systeme se conformant au
  162.   standard iBCS2 (qui definit le format des primitives systeme ainsi que
  163.   celui de leurs arguments) en appels natifs traites par le noyau Linux.
  164.   Il  est  ainsi  possible  d'executer  de  maniere   transparente   des
  165.   programmes developpes pour d'autres systemes, comme SCO par exemple.
  166.  
  167.   Le  but  de  ces differents emulateurs est de permettre d'utiliser des
  168.   applications commerciales sous Linux. Il faut desormais  signaler  que
  169.   certains  editeurs  de logiciels considerent maintenant Linux comme un
  170.   marche potentiel pour leurs produits et  envisagent  de  porter  leurs
  171.   applications  sous  Linux.  De la sorte, il est probable qu'un certain
  172.   nombre d'applications commerciales tourneront bientot  en  mode  natif
  173.   sous Linux, sans necessiter d'emulateur. L'exemple le plus frappant de
  174.   cette tendance consiste en le portage du jeu DOOM qui fonctionne  sous
  175.   Linux dans l'environnement X Window.
  176.  
  177.   44..  DDiissppoonniibbiilliittee ddee LLiinnuuxx
  178.  
  179.   Linux,  et  ses  programmes associes, etant diffuses librement sous la
  180.   licence GNU, ils sont disponibles au telechargement  sur  de  nombreux
  181.   serveurs   FTP  de  part  le  monde.  Les  trois  sites  primaires  de
  182.   distribution sont les suivants :
  183.   +o  tsx-11.mit.edu, dans le repertoire /pub/linux ;
  184.  
  185.   +o  ftp.funet.fi, dans le repertoire /pub/OS/Linux ;
  186.  
  187.   +o  sunsite.unc.edu, dans le repertoire /pub/Linux.
  188.  
  189.   De nombreux serveurs FTP  effectuent  des  miroirs  reguliers  de  ces
  190.   sites,  permettant  ainsi  d'acceder  rapidement  aux memes donnees en
  191.   raison de la proximite geographique. En  France,  on  peut  citer  les
  192.   serveurs suivants :
  193.  
  194.   +o  ftp.ibp.fr, dans le repertoire /pub/linux ;
  195.  
  196.   +o  ftp.fdn.org, dans le repertoire /pub/Linux ;
  197.  
  198.   +o  ftp.loria.fr, dans le repertoire /pub/linux ;
  199.  
  200.   +o  ftp.univ-angers.fr, dans le repertoire /pub/Linux.
  201.  
  202.   De   nombreuses  distributions  binaires  du  systeme  sont  egalement
  203.   disponibles pour un prix raisonnable sous forme de CD/ROM. Ceci permet
  204.   aux  personnes interessees d'installer un systeme Linux, meme si elles
  205.   n'ont pas acces au reseau Internet. Il est a noter que ces  CD/ROM  ne
  206.   sont  pas  toujours  a  jour, vu l'evolution rapide de Linux, mais ils
  207.   sont  generalement  edites  periodiquement   afin   d'incorporer   les
  208.   dernieres versions disponibles.
  209.  
  210.   55..  SSoouurrcceess dd''iinnffoorrmmaattiioonnss ssuurr LLiinnuuxx
  211.  
  212.   Linux  fait  l'objet  de  plusieurs forums de discussion Usenet, aussi
  213.   bien      en      langue       anglaise       (_c_o_m_p_._o_s_._l_i_n_u_x_._a_d_v_o_c_a_c_y_,
  214.   _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_,
  215.   _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_,
  216.   _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_,
  217.   _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
  218.   (_f_r_._c_o_m_p_._o_s_._l_i_n_u_x).
  219.  
  220.   De  nombreuses  documentations  sont  desormais egalement accessibles.
  221.   Les "HOWTO" decrivent, brievement mais clairement,  l'installation  et
  222.   l'utilisation   d'une  partie  du  systeme.  De  plus,  un  groupe  de
  223.   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
  224.   complets  qui sont diffuses librement. Le serveur FTP ftp.ibp.fr offre
  225.   ces documentations dans le repertoire /pub/linux/docs ainsi que  leurs
  226.   traductions francaises dans le repertoire /pub/linux/french.
  227.  
  228.   Enfin, il faut signaler que certains editeurs commencent a publier des
  229.   livres complets sur Linux.  Les  premiers  livres  publies  sur  Linux
  230.   etaient  rediges  en  allemand mais il existe maintenant des livres en
  231.   anglais sur Linux, certains de ces livres etant traduits en  francais.
  232.  
  233.   66..  EEvvoolluuttiioonn ffuuttuurree ddee LLiinnuuxx
  234.  
  235.   La  version  actuelle  du  noyau de Linux est 1.2. Bien que Linux soit
  236.   deja tres complet  et  competitif  avec  des  systemes  d'exploitation
  237.   commerciaux, le developpement du systeme continue.
  238.  
  239.   Des  portages  du  noyau  sont  en cours afin de realiser des versions
  240.   s'executant sur stations de travail Sparc et PC  Alpha,  en  plus  des
  241.   versions actuelles fonctionnant sur micro-ordinateurs PC-386, Amiga et
  242.   Atari. De  nouvelles  fonctionnalites  sont  egalement  a  l'etude  et
  243.   devraient etre disponibles prochainement.
  244.  
  245.   Le  noyau  n'est pas la seule partie du systeme a evoluer. Des equipes
  246.   de developpement travaillent  pour  etendre  les  fonctionnalites  des
  247.   utilitaires et des librairies. On peut citer, notamment, l'utilisation
  248.   imminente du  format  de  fichier  executable  ELF  qui  permettra  la
  249.   creation  de  librairies  dynamiques  et une compatibilite plus grande
  250.   avec les versions d'Unix commerciaux s'executant sur PC-386.
  251.  
  252.   77..  CCee ddooccuummeenntt
  253.  
  254.   Ce document  est  un  article  d'introduction,  base  sur  la  feuille
  255.   d'informations Linux. Il a ete ecrit par Remy Card, Rene  Cougnenc, et
  256.   Julien  Simon.
  257.  
  258.   Il est, bien entendu, mis dans le  domaine  public.  Toutefois,  soyez
  259.   assez  courtois pour ne pas vous en approprier la propriete si vous le
  260.   diffusez...
  261.  
  262.