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

  1. <!doctype linuxdoc system>
  2.  
  3. <article>
  4.  
  5. <title>Le systΦme d'exploitation Linux
  6.  
  7. <author>RΘmy Card, RenΘ Cougnenc, Julien Simon<p>
  8.  
  9. <sect>Historique de Linux<p>
  10.  
  11.     Au cours de l'annΘe 1991, un Θtudiant finlandais, nommΘ Linus Torvalds,
  12. a achetΘ un micro-ordinateur de type PC, afin d'Θtudier la programmation du
  13. microprocesseur i386. Ne voulant pas Ωtre limitΘ par MS/DOS, il a tout d'abord
  14. utilisΘ un clone d'Unix, peu cher, appelΘ Minix. Minix possΦde lui-mΩme
  15. certaines limitations qui, bien que moins importantes que celles de MS/DOS,
  16. sont assez gΘnantes (limitation de la taille des exΘcutables α 64 kilo-octets,
  17. limitation des systΦmes de fichiers α 64 mΘga-octets, temps de rΘponse
  18. dΘplorable, ...). Aussi, Linus Torvalds a commencΘ α rΘ-Θcrire certaines
  19. parties du systΦme afin de lui ajouter des fonctionnalitΘs et de le rendre
  20. plus efficace et a diffusΘ une distribution source de son travail via
  21. Internet. La premiΦre version de Linux (version 0.1 en ao√t 1991) Θtait nΘe.
  22.  
  23.     Cette premiΦre version Θtait trΦs limitΘe (elle ne comportait mΩme pas
  24. de gestionnaire des disquettes) et n'Θtait utilisable que sous Minix. Aussi, il
  25. est fort probable qu'elle ait ΘtΘ utilisΘe par trΦs peu de personnes.
  26. NΘanmoins, un
  27. petit nombre de <sq>hackers</sq>
  28. ont dΘcouvert, α cette
  29. Θpoque, cet embryon de systΦme et ont vu en lui la base d'un systΦme
  30. exploitable. Aussi, un certain nombre de personnes ont commencΘ α travailler
  31. avec Linus Torvalds afin d'enrichir le noyau.
  32.  
  33.     Au cours des quatre derniΦres annΘes, le dΘveloppement du noyau Linux,
  34. ainsi que des utilitaires nΘcessaires pour en faire un systΦme compatible avec
  35. Unix, a ΘtΘ menΘ de maniΦre intensive par un ensemble de programmeurs, situΘs
  36. aux quatre coins du monde, communiquant via le rΘseau Internet. Ces
  37. dΘveloppeurs ont implΘmentΘ de nombreuses fonctionnalitΘs qui font de Linux
  38. aujourd'hui un clone efficace d'Unix pour micro-ordinateurs PC-386, Amiga
  39. et Atari.
  40.  
  41. <sect>MΘthode de dΘveloppement<p>
  42.  
  43.     La faτon dont Linux a ΘtΘ dΘveloppΘ (et continue α Ωtre dΘveloppΘ) est
  44. assez originale. En effet, le dΘveloppement de Linux n'est pas contr⌠lΘ par une
  45. organisation responsable du systΦme : un ensemble de dΘveloppeurs, rΘpartis
  46. dans le monde entier, collabore pour Θtendre les fonctionnalitΘs du systΦme,
  47. le plus souvent en dialoguant via Internet. Tout programmeur disposant des
  48. compΘtences nΘcessaires, de temps libre, et d'une certaine dose de courage,
  49. peut participer au dΘveloppement du systΦme.
  50.  
  51.     Bien que le nom <sq>Linux</sq> se rΘfΦre au noyau du systΦme, le
  52. dΘveloppement ne se confine pas α ce seul noyau : certaines Θquipes
  53. travaillent sur d'autres projets, comme la conception et le dΘveloppement
  54. de nouveaux utilitaires ou encore le dΘveloppement des librairies partagΘes
  55. utilisΘes pour programmer.
  56.  
  57.     Chaque Θquipe travaille selon une structure hiΘrarchique informelle :
  58. une personne est responsable d'un projet et plusieurs autres
  59. programmeurs participent au dΘveloppement en contribuant du code. L'exemple
  60. typique de cette mΘthode de dΘveloppement est le noyau lui-mΩme : Linus
  61. Torvalds maintient le noyau et c'est lui qui effectue les distributions source
  62. quand il estime que le code est utilisable ; chaque partie importante du
  63. noyau (comme la gestion du rΘseau, les gestionnaires de pΘriphΘriques, le
  64. systΦme de fichiers, ...) est sous la responsabilitΘ d'un dΘveloppeur
  65. qui centralise le travail d'autres programmeurs et les transmet α Linus
  66. Torvalds pour inclusion dans le noyau officiel.
  67.  
  68.     Bien que cette mΘthode de dΘveloppement puisse surprendre au premier
  69. abord, elle est trΦs efficace. La totalitΘ du noyau de Linux a ΘtΘ Θcrite
  70. par des volontaires, qui ont souvent passΘ des nuits entiΦres α programmer
  71. et α corriger des bogues.
  72.  
  73.     Le code dΘveloppΘ dans le cadre de Linux est le plus souvent diffusΘ
  74. sous forme de programme source, sous la licence GNU (<sq><em>General Public
  75. License</em></sq>, ou GPL). La GPL stipule que les programmes source sont la
  76. propriΘtΘ de leurs auteurs et qu'ils doivent Ωtre distribuΘs sous forme de
  77. source. Cette licence autorise quiconque α revendre ces programmes mais elle
  78. impose que tout utilisateur puisse avoir accΦs aux programmes source. De plus,
  79. la GPL impose que toute modification de ces programmes est couverte par la
  80. mΩme licence, et donc que les programmes seront toujours librement disponibles.
  81.  
  82. <sect>FonctionnalitΘs de Linux<p>
  83.  
  84. <sect1>Le noyau<p>
  85.  
  86.     Linux offre toutes les fonctionnalitΘs d'un clone Unix sur
  87. micro-ordinateurs PC-386. Il fournit un
  88. environnement de travail multi-utilisateurs, plusieurs personnes peuvent
  89. utiliser la machine au mΩme moment, et multi-tΓches, chaque utilisateur peut
  90. exΘcuter plusieurs programmes en parallΦle. Le systΦme fonctionne en mode
  91. protΘgΘ, exΘcute du code 32 bits, contrairement α d'autres systΦmes
  92. qui s'exΘcutent en mode 16 bits et sont donc moins performants..., et
  93. utilise les mΘcanismes de protection du processeur pour garantir qu'aucun
  94. processus ne peut perturber l'exΘcution des autres ou du systΦme lui-mΩme.
  95.  
  96.     Le noyau implΘmente les sΘmantiques Unix : processus concurrents,
  97. chargement α la demande des
  98. programmes exΘcutables avec partage de pages et copie en Θcriture,
  99. pagination, systΦmes de fichiers, support des protocoles rΘseau TCP/IP.
  100.  
  101.     Il supporte, de plus, la majoritΘ des pΘriphΘriques existant dans
  102. le monde PC (y compris les cartes sonores) et permet de relire les partitions
  103. MS/DOS, OS/2 et tous les formats standards de CD/ROM.
  104.  
  105. <sect1>Applications<p>
  106.  
  107.  Les  librairies  de dΘveloppement  dans  Linux  sont basΘes  sur  les
  108. librairies GNU,  de la <sq><em>Free Software  Fundation</em></sq>. Ces
  109. libraries offrent  un haut degrΘ  de comptabilitΘ avec  les diffΘrents
  110. <sq>standards</sq> Unix  (Posix, BSD,  System V), ce  qui permet  de compiler
  111. facilement tout  type d'application  disponible au niveau  source pour
  112. Unix. Ces  librairies existent sous forme  de bibliothΦques partagΘes,
  113. ce qui  signifie que le code  des fonctions de librairie  n'est chargΘ
  114. qu'une seule  fois en mΘmoire  et que les programmes  exΘcutables sont
  115. plus petits en taille sur les disques.
  116.  
  117.     La plupart des utilitaires standards Unix sont disponibles sous Linux,
  118. aussi bien les commandes de base que des applications plus evoluΘes, comme
  119. les compilateurs et Θditeurs de texte. La plupart des ces utilitaires sont
  120. des programmes GNU,
  121. qui supportent des extensions qu'on ne retrouve pas dans les versions BSD
  122. ou System V de ces programmes, mais qui restent compatibles avec ces
  123. derniΦres. Certains programmes, notamment les utilitaires rΘseau, sont des
  124. programmes BSD. En rΘsumΘ, pratiquement tout programme Unix diffusΘ sous
  125. forme de source peut Ωtre compilΘ sous Linux et s'exΘcute parfaitement, grΓce
  126. α la compatibilitΘ implΘmentΘe dans le noyau et dans les librairies.
  127.  
  128.     En plus des programmes standards, Linux supporte de <sq>grosses</sq>
  129. applications. On retrouve l'interface graphique X Window (XFree86 3 basΘ
  130. sur X11R6), un environnement de dΘveloppement trΦs complet comprenant toutes
  131. les bibliothΦques standard, compilateurs et dΘbogueurs disponibles sous Unix
  132. (C, C++, Objective-C, Smalltalk, Fortran, Pascal, Lisp, Scheme, Ada, <tt>gdb</tt>,
  133. ...). L'utilisateur dispose Θgalement d'outils trΦs puissants de formatage
  134. de texte, comme <tt>nroff</tt>, TeX, et LaTeX.
  135.  
  136. <sect1>CompatibilitΘ avec d'autres systΦmes<p>
  137.  
  138.     Linux n'est pas compatible directement avec les applications
  139. dΘveloppΘes pour d'autres systΦmes d'exploitation. Afin de permettre aux
  140. utilisateurs de Linux de bΘnΘficier des applications qu'ils possΦdent dΘjα,
  141. que ce soit sous MS/DOS, Windows ou des systΦmes Unix commerciaux, des
  142. Θmulateurs sont en cours de dΘveloppement et permettent dΘjα d'exΘcuter des
  143. applications <sq>ΘtrangΦres</sq>.
  144.  
  145.     L'Θmulateur MS/DOS utilise le mode virtuel 8086 du processeur i386
  146. pour exΘcuter des applications DOS. Il implΘmente les fonctionnalitΘs de
  147. MS/DOS dans un processus et assure ainsi l'interfaτage entre l'application et
  148. le systΦme en Θmulant les appels systΦme effectuΘs par le programme. A ce
  149. jour, de nombreuses applications fonctionnent correctement sous l'Θmulateur
  150. MS/DOS et la liste s'allonge tous les jours.
  151.  
  152.     L'Θmulateur WINE est assez similaire α WABI, dΘveloppΘ par Sun
  153. Microsystems : il permet d'exΘcuter des applications Windows en convertissant
  154. leurs appeles graphiques en requΩtes adressΘes α l'environnement X Window. A
  155. ce jour, seul un petit nombre d'applications Windows fonctionne correctement
  156. mais le dΘveloppement de WINE n'en est qu'α ses dΘbuts et les progrΦs semblent
  157. prometteurs.
  158.  
  159.     Le module de compatibilitΘ iBCS2 permet d'exΘcuter des
  160. applications dΘveloppΘes pour des systΦmes Unix commerciaux sur
  161. micro-ordinateurs PC-386. Cet Θmulateur convertit les appels systΦme se
  162. conformant au standard iBCS2 (qui dΘfinit le format des primitives systΦme
  163. ainsi que celui de leurs arguments) en appels natifs traεtΘs par le noyau
  164. Linux. Il est ainsi possible d'exΘcuter de maniΦre transparente des programmes
  165. dΘveloppΘs pour d'autres systΦmes, comme SCO par exemple.
  166.  
  167.     Le but de ces diffΘrents Θmulateurs est de permettre d'utiliser des
  168. applications commerciales sous Linux. Il faut dΘsormais signaler que certains
  169. Θditeurs de logiciels considΦrent maintenant Linux comme un marchΘ potentiel
  170. pour leurs produits et envisagent de porter leurs applications sous Linux. De
  171. la sorte, il est probable qu'un certain nombre d'applications commerciales
  172. tourneront bient⌠t en mode natif sous Linux, sans nΘcessiter
  173. d'Θmulateur. L'exemple le plus frappant de cette tendance consiste en
  174. le portage du jeu DOOM qui fonctionne sous Linux dans l'environnement X
  175. Window.
  176.  
  177. <sect>DisponibilitΘ de Linux<p>
  178.  
  179.     Linux, et ses programmes associΘs, Θtant diffusΘs librement sous la
  180. licence GNU, ils sont disponibles au tΘlΘchargement sur de nombreux serveurs
  181. FTP de part le monde. Les trois sites primaires de distribution sont les
  182. suivants :
  183. <itemize>
  184. <item> <tt/tsx-11.mit.edu/, dans le rΘpertoire <tt>/pub/linux</tt> ;
  185. <item> <tt/ftp.funet.fi/, dans le rΘpertoire <tt>/pub/OS/Linux</tt> ;
  186. <item> <tt/sunsite.unc.edu/, dans le rΘpertoire <tt>/pub/Linux</tt>.
  187. </itemize>
  188.  
  189.     De nombreux serveurs FTP effectuent des miroirs rΘguliers de ces sites,
  190. permettant ainsi d'accΘder rapidement aux mΩmes donnΘes en raison de la
  191. proximitΘ gΘographique. En France, on peut citer les serveurs suivants :
  192. <itemize>
  193. <item <tt/ftp.ibp.fr/, dans le rΘpertoire <tt>/pub/linux</tt> ;
  194. <item <tt/ftp.fdn.org/, dans le rΘpertoire <tt>/pub/Linux</tt> ;
  195. <item <tt/ftp.loria.fr/, dans le rΘpertoire <tt>/pub/linux</tt> ;
  196. <item <tt/ftp.univ-angers.fr/, dans le rΘpertoire <tt>/pub/Linux</tt>.
  197. </itemize>
  198.  
  199.     De nombreuses distributions binaires du systΦme sont Θgalement
  200. disponibles pour un prix raisonnable sous forme de CD/ROM. Ceci permet aux
  201. personnes intΘressΘes d'installer un systΦme Linux, mΩme si elles n'ont pas
  202. accΦs au rΘseau Internet. Il est α noter que ces CD/ROM ne sont pas toujours
  203. α jour, vu l'Θvolution rapide de Linux, mais ils sont gΘnΘralement ΘditΘs
  204. pΘriodiquement afin d'incorporer les derniΦres versions disponibles.
  205.  
  206. <sect>Sources d'informations sur Linux<p>
  207.  
  208.     Linux fait l'objet de plusieurs forums de discussion Usenet, aussi
  209. bien en langue anglaise (<it>comp.os.linux.advocacy, comp.os.linux.announce,
  210. comp.os.linux.answers, comp.os.linux.development.apps,
  211. comp.os.linux.development.system,
  212. comp.os.linux.hardware, comp.os.linux.networking, comp.os.linux.misc,
  213. comp.os.linux.setup, comp.os.linux.x</it>) qu'en franτais (<it>fr.comp.os.linux</it>).
  214.  
  215.     De nombreuses documentations sont dΘsormais Θgalement accessibles.
  216. Les <sq>HOWTO</sq> dΘcrivent, briΦvement mais clairement, l'installation et
  217. l'utilisation d'une partie du systΦme. De plus, un groupe de documentation,
  218. le <sq><em>Linux Documentation Project</em></sq>, publie des guides complets qui sont
  219. diffusΘs librement. Le serveur FTP <tt/ftp.ibp.fr/ offre ces documentations
  220. dans le rΘpertoire <tt>/pub/linux/docs</tt> ainsi que leurs traductions
  221. franτaises dans le rΘpertoire <tt>/pub/linux/french</tt>.
  222.  
  223.     Enfin, il faut signaler que certains Θditeurs commencent α publier des
  224. livres complets sur Linux. Les premiers livres publiΘs sur Linux Θtaient
  225. rΘdigΘs en allemand mais il existe maintenant des livres en anglais sur Linux,
  226. certains de ces livres Θtant traduits en franτais.
  227.  
  228. <sect>Evolution future de Linux<p>
  229.  
  230.     La version actuelle du noyau de Linux est 1.2. Bien que Linux soit
  231. dΘjα trΦs complet et compΘtitif avec des systΦmes d'exploitation commerciaux,
  232. le dΘveloppement du systΦme continue.
  233.  
  234.     Des portages du noyau sont en cours afin de rΘaliser des versions
  235. s'exΘcutant sur stations de travail Sparc et PC Alpha, en plus des versions
  236. actuelles fonctionnant sur micro-ordinateurs PC-386, Amiga et Atari. De
  237. nouvelles fonctionnalitΘs sont Θgalement α l'Θtude et devraient Ωtre
  238. disponibles prochainement.
  239.  
  240.     Le noyau n'est pas la seule partie du systΦme α Θvoluer. Des Θquipes
  241. de dΘveloppement travaillent pour Θtendre les fonctionnalitΘs des
  242. utilitaires et des librairies. On peut citer, notamment, l'utilisation
  243. imminente du format de fichier exΘcutable ELF qui permettra la crΘation de
  244. librairies dynamiques et une compatibilitΘ plus grande avec les versions
  245. d'Unix commerciaux s'exΘcutant sur PC-386.
  246.  
  247. <sect> Ce document
  248. <p>
  249.  
  250. Ce document est un article d'introduction, basΘ sur la feuille
  251. d'informations Linux. Il a ΘtΘ Θcrit par RΘmy Card, RenΘ  Cougnenc,
  252. et Julien  Simon.
  253.  
  254. Il est, bien entendu, mis
  255.        dans le domaine public. Toutefois, soyez assez courtois pour ne
  256.        pas vous en approprier la propriΘtΘ si vous le diffusez...
  257.  
  258. </article>
  259.