CNAM Versailles - Conception et développement informatique B0
Transcription
CNAM Versailles - Conception et développement informatique B0
CNAM Versailles - Conception et développement informatique B0 Patrick DEIBER [email protected] Novembre 1996 - Révision 1.01 Introduction au système d’exploitation Linux CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Page 2/29 Révision 1.01 Introduction au système d’exploitation Linux Page 3/29 TABLE DES MATIERES 1HISTORIQUE.......................................................................................................................................................4 2ARCHITECTURE DU SYSTÈME......................................................................................................................5 3CARACTÉRISTIQUES DE LINUX...................................................................................................................7 4MATÉRIEL...........................................................................................................................................................9 4.1CARTE MÈRE ET MICROPROCESSEUR.............................................................................................................................9 4.2MÉMOIRE................................................................................................................................................................9 4.3STOCKAGE DES DONNÉES............................................................................................................................................9 4.4VIDÉO...................................................................................................................................................................10 4.5IMPRIMANTES.........................................................................................................................................................10 4.6MODEMS...............................................................................................................................................................10 4.7RÉSEAU.................................................................................................................................................................10 5APPLICATIONS.................................................................................................................................................11 5.1COMMANDES DE BASES ET UTILITAIRES.......................................................................................................................11 5.2FORMATAGE DE TEXTE ET TRAITEMENT DE TEXTE.........................................................................................................11 5.3LANGAGES ET OUTILS DE PROGRAMMATION.................................................................................................................11 5.4LE SYSTÈME X WINDOW.........................................................................................................................................12 5.5RÉSEAU.................................................................................................................................................................13 5.5.1TCP/IP (Transmission Control Protocol/Internet Protocol).....................................................................13 5.5.2UUCP (UNIX to UNIX Copy)....................................................................................................................13 5.6INTERFAÇAGE AVEC MS-DOS.................................................................................................................................14 5.7AUTRES APPLICATIONS.............................................................................................................................................15 6A PROPOS DU COPYRIGHT DE LINUX......................................................................................................16 7DIFFÉRENCES ENTRE LINUX ET D’AUTRES SYSTÈMES....................................................................17 7.1POURQUOI UTILISER LINUX ?....................................................................................................................................17 7.2LINUX CONTRE MS-DOS.......................................................................................................................................17 7.3LINUX CONTRE LES AUTRES SYSTÈMES........................................................................................................................17 7.4AUTRES IMPLÉMENTATIONS D’UNIX........................................................................................................................19 8CONCLUSION....................................................................................................................................................20 9ANNEXE 1 - TERMINOLOGIE ET SIGLES..................................................................................................21 10ANNEXE 2 - DISTRIBUTION........................................................................................................................23 10.1POUR SE PROCURER LINUX.....................................................................................................................................23 10.1.1Par l'Internet ...........................................................................................................................................23 10.1.2Par téléphone...........................................................................................................................................24 10.1.3Sur CD-ROM par correspondance ..........................................................................................................24 10.2POUR SE TENIR AU COURANT...................................................................................................................................25 10.3POUR DÉBUTER.....................................................................................................................................................26 11ANNEXE 3 - DOCUMENTATION.................................................................................................................27 CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 1 Page 4/29 Historique 1973, sortie de la première version d’UNIX, par Dennis Ritchie, Ken Thompson et Brian Kernighan. UNIX est l’un des systèmes d’exploitation les plus populaires au monde, en raison du grand nombre d’architecture qu’il supporte. UNIX est un système d’exploitation multitâches pour mini-ordinateurs et grands systèmes. Il existe des versions d’UNIX pour de nombreux types d’ordinateurs, depuis les ordinateurs personnels jusqu’aux grosses machines. La plupart des implémentations d’UNIX pour PC sont souvent onéreuses. En 1991, un étudiant finlandais, nommé Linus Torvalds, réécrit certaines parties du système Minix (un clone d’UNIX développé par Andy Tanenbaum) afin de lui ajouter des fonctionnalités et de le rendre plus efficace. Les sources de son travail sont diffusés sur Internet et c’est ainsi que la première version de Linux est née : version 0.1 en août 1991. En mars 1994, Linux n’est plus considéré comme un système en béta-test par la sortie de la version 1.0. Le noyau est très stable depuis longtemps et la majorité des versions récentes peuvent être utilisées 24H/24 pendant des mois sans aucun réamorçage, plantage ou erreur fatale. Le noyau de Linux n’utilise aucun code en provenance de AT&T ou de quelque autre source propriétaire, et la plupart des programmes disponibles pour Linux sont développés par le projet GNU à la Free Software Foundation à Cambridge, Massachussetts. Au 19 octobre 1996, la version stable de Linux est 2.0.23, et la version de développement est 2.1.5 (essai de l’ajout de IP v6) Convention de numérotation : Les versions x.y.z, où y est un nombre pair, sont stables, et seules des corrections de bogues seront appliquées lorsque z est incrémenté. Lorsque y est impair, il s’agit de versions en bétatest destinées aux développeurs uniquement, peuvant être instables, mais contiennent de nouvelles fonctionnalités qui sont ajoutées au cours du développement. En moyenne, une nouvelle version de Linux sort tous les deux mois avec les dernières mises à jour du noyau, et des utilitaires. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 2 Page 5/29 Architecture du système HARDWARE (matériel) KERNEL (noyau système) SHELL APPLICATION Matériel : il fournit au système d’exploitation des services de base (périphériques, terminaux, horloge, interruptions...). Le noyau (système d’exploitation) : interagit directement avec le matériel, il fournit des services communs aux programmes du système et les isole de la partie matérielle, l’ensemble des appels systèmes et les algorithmes internes, qui les implémentent, forment le corps du noyau. Le shell : c’est « un interpréteur de commandes » qui permet d’exécuter des commandes de manière synchrone et asynchrone. C’est un programme utilisateur et non une partie du noyau (il est facilement modifiable). Le noyau fournit ses services de manière transparente pour l’utilisateur. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux Page 6/29 Ouverture d’une session utilisateur : Message login : affiché à l'écran Entrez un nom d'utilisateur Message password : affiché à l'écran Initialise : - le n° d'usager - le n° de groupe - l'environnement Entrez le mot de passe l'utilisateur est informé des messages en attente Connexion établie affichage de l'invite le message du jour est affiché Fermeture d’une session utilsateur : Entrez la commande exit ou appuyer sur les touches CTRL + D CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 3 Page 7/29 Caractéristiques de Linux • Multi-tâches : exécute plusieurs programmes en même temps. • Multi-utilisateurs : plusieurs utilisateurs actifs sur la même machine en même temps (et sans licence multi-utilisateurs !). • Multi plates-formes : il fonctionne sur différents processeurs, et pas seulement sur Intel. • Exécution en mode protégé sur les processeurs x86. • Protection de la mémoire entre les processus, afin qu' un programme ne puisse à lui seul compromettre le fonctionnement de l' ensemble du système. • Chargement des exécutables à la demande : Linux ne lit sur le disque que les parties effectivement utilisées d' un programme. • Partage des pages entre exécutables avec copie en écriture. Cela signifie que des processus multiples peuvent partager la même mémoire. Lorsque l' un d' eux tente d' y écrire, cette page (4Ko de mémoire sur processeurs x86) est copiée ailleurs. Ceci accroît les performances et réduit l' occupation mémoire. • Mémoire virtuelle utilisant la pagination (et non pas le "swap" de processus entiers) sur disque, grâce à une partition, un fichier ou les deux, avec la possibilité d' ajouter et de retirer de nouvelles zones de swap dynamiquement. Jusqu' à 16 zones de 128 Mo peuvent être utilisées simultanément, soit un total de 2 Go de swap disponible. • Réserve de mémoire commune aux programmes utilisateur et au cache disque (afin que toute la mémoire libre puisse être utilisée pour le cache qui ne sera réduit que lors de l' exécution de gros programmes) : Linux utilise au mieux, à chaque instant, TOUTE la mémoire disponible de la machine. • Bibliothèques partagées liées dynamiquement (DLL a.out, et ELF) ; des bibliothèques statiques sont, bien entendu, également disponibles. • Sauvegarde d' image-mémoire (core-dump) lors de plantage d' un programme, à des fins d' analyse post-mortem effectuée grâce à un débogueur. • Très conforme à POSIX, compatible System V et BSD au niveau programme source. Support des binaires COFF et ELF. • Bonne compatibilité binaire avec SCO, SVR3 et SVR4, grâce à un module d' émulation conforme iBCS2. • Tous les sources sont disponibles : le noyau, les pilotes, les outils de développement et tous les programmes utilisateur. De plus, ils sont librement diffusables. Il existe bien quelques applications commerciales pour Linux diffusées sans leurs sources, mais tout ce qui a été libre l' est toujours et le restera. • Contrôle de processus POSIX (job control). • Pseudo-terminaux (pty' s). • Emulation 387 dans le noyau afin qu' il ne soit pas nécessaire de l' inclure dans les programmes. Tout ordinateur exécutant Linux semble ainsi doté d' un coprocesseur mathématique. Bien entendu, si votre ordinateur comporte déjà un coprocesseur, Linux l' utilisera à la place de l' émulation. Vous pourrez recompiler votre noyau pour éliminer le code de l' émulateur (dont les fonctions seront prises en charge par la FPU), et gagner un peu de mémoire vive. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux Page 8/29 • De nombreux claviers nationaux ou personnalisés sont définis et il est assez facile d' en ajouter de nouveaux. • Consoles virtuelles multiples : plusieurs sessions indépendantes accessibles par une combinaison de touches (indépendamment de la carte vidéo utilisée). Elles sont allouées dynamiquement et on peut en utiliser jusqu' à 63 simultanément. • Plusieurs systèmes de fichiers reconnus comme minix-1, Xenix, et les plus courants de System V, en plus d' un système très perfectionné (ext2fs), offrant des noms de 255 caractères et une taille pouvant atteindre 4 To. • Accès transparent aux partitions MS-DOS (ou aux partitions FAT OS/2) via un système de fichiers spécial : vous n' avez pas besoin de commandes particulières pour utiliser une partition MS-DOS. Elle ressemble à une partition Unix (sauf pour la taille du nom des fichiers, les permissions d' accès, etc). Les partitions compressées de MS-DOS 6 ne sont pas encore reconnues mais il existe un patch (dmsdosfs). Le type VFAT (MS-Windows NT, MS-Windows 95) est pris en charge depuis la version 2.0. • Système de fichiers spécial nommé UMSDOS, autorisant l' installation de Linux directement sur une partition MS-DOS (les performances sont bien sûr grevées mais c' est très utile pour une installation provisoire). • Lecture seule du système de fichiers HPFS-2 de OS/2 V 2.1. • Lecture seule du système de fichiers HFS (Macintosh) disponible sous forme de "patch". • Système de fichiers ISO 9660, qui permet de lire tous les CD-ROM conformes à ce standard quasi universel. • TCP/IP, incluant tous les outils comme ftp, telnet, NFS, etc. • Pile de protocoles réseau Appletalk. • Client et serveur Netware. • Client et serveur Lan Manager (SMB). • X Window System (X11R6) sous la forme de XFree86 3.1, gérant l' essentiel des cartes vidéo et des souris disponibles sur PC (y compris la carte monochrome Hercules...). • Gestion des principales cartes sonores. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 4 Page 9/29 Matériel Linux a été développé par ses utilisateurs. Cela signifie que l’équipement que Linux sait utiliser correspond à celui que ses développeurs et utilisateurs possèdent. Linux fonctionne essentiellement sur des ordinateurs x86 et leurs périphériques les plus populaires. En fait, Linux supporte bien plus de matériel que certaines implémentations commerciales d’UNIX. Cependant certains périphériques ne fonctionnent pas correctement sous Linux à cause de certains constructeurs qui ont décidé de garder secrète la documentation nécessaire pour faire fonctionner leurs produits. Processeur Mémoire Disque dur Configuration minimale Configuration recommandée (permettant d’amorcer le système) 386 SX 16 486 et plus 2 Mo 8 Mo et plus 5 à 10 Mo au moins 200 Mo Si le système est trop lent, un ajout de mémoire permet souvent d’augmenter la puissance de Linux, sans pour autant changer de processeur. Sur un 386, passer de 4 à 8 Mo de mémoire peut multiplier la vitesse d' exécution par un facteur de 10 ou 20... 4.1 Carte mère et microprocesseur Linux fonctionne actuellement sur les machines équipées des microprocesseurs Intel du 386 ou Pentium (une version de Linux pour les 286 et inférieur peut être exploitée par un noyau plus petit et donc avec des fonctionnalités réduites). Les processeurs Cyrix et AMD fonctionnent également avec Linux. Une version pour les processeurs 680x0, pour Amiga et Atari est disponible. De nombreuses architectures Alpha sont compatibles avec Linux, ainsi que certaines machines Sparc. Des portages vers PowerPC, ARM et MIPS sont aussi en cours. La carte mère doit utiliser une architecture ISA, EISA, VLB ou PCI. Le bus MicroChannel d’IBM (bus MCA), rencontré sur certaines machines de marque IBM, comme PS/2, n’est pas supporté (par manque de documentation et peu utilisé par les utilisateurs de Linux. 4.2 Mémoire En théorie, Linux sait gérer jusqu' à un 1 Go; plus sur les plates-formes 64 bits, mais cette quantité de mémoire n' a jamais été testée. Attention : certaines personnes (dont Linus Torvalds) ont remarqué qu' ajouter de la mémoire sans augmenter dans le même temps la quantité de cache, peut ralentir la machine dans des proportions considérables. 4.3 Stockage des données La plupart des disques IDE et SCSI ainsi que les CD-ROMs sont reconnus de Linux. Linux comprend aussi les différents supports de sauvegardes tel que lecteur DAT, ZIP etc... CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 4.4 Page 10/29 Vidéo Linux peut utiliser toutes les cartes vidéo standards rencontrées sur le PC. Les cartes VGA, EGA, CGA et Hercules fonctionnent en mode texte. Pour les modes graphiques, les cartes Hercules, EGA, VGA normales, quelques cartes super VGA, de nombreuses cartes S3 sont reconnues. Linux utilise le serveur X, XFree86, ce qui détermine le type de cartes. Les performances de certaines cartes accélérées sont impressionnantes. 4.5 Imprimantes Linux peut utiliser toute la gamme des imprimantes fonctionnant sur le port parallèle de la machine. Si vous pouvez utiliser votre imprimante sous MS/DOS, vous pourrez de la même façon l’utiliser sous Linux. L’impression sous Linux se fait de manière standard à l’aide de lp et lpr, vous permettant également l’impression à travers le réseau si vous en êtes équipé. 4.6 Modems Tout comme pour le support imprimante, Linux peut utiliser toute la gamme de modems existants fonctionnant sur un port série du PC; qu’il soit interne ou externe. Il existe une très grande collection de programmes de communications sous Linux. 4.7 Réseau Beaucoup de cartes Ethernet fonctionnent sous Linux. De nouveaux pilotes paraissent régulièrement.... CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 5 Page 11/29 Applications 5.1 Commandes de bases et utilitaires Pratiquement tous les utilitaires que l’on peut trouver sur une implémentation standard d’UNIX a été portés sous Linux. On retrouve les commandes de base comme ls, awk, tr, sed, bc, more et ainsi de suite. On peut facilement reproduire son environnement de travail sous Linux. De nombreux éditeurs de texte sont disponibles, dont vi, GNU Emacs et ses variantes. Il est important de noter que l’essentiel des utilitaires de base de Linux sont des programmes GNU. Ces utilitaires GNU comprennent des extensions très utiles aux commandes UNIX, par rapport aux versions standard de BSD ou AT&T. L’utilitaire le plus important est l’interpréteur de commandes, le shell. Différents types de shells sont disponibles, le C Shell (csh), le Bourne Shell (bsh). Le plus populaire est le GNU Bourne Again Shell (bash), une variante du Bourne Shell qui apporte énormément de possibilités supplémentaires, comme le contrôle de processus, la complétion des noms de fichiers, un historique des commandes, une interface de type Emacs pour éditer la ligne de commande, et des extensions puissantes au langage de commande du Bourne shell standard. 5.2 Formatage de texte et traitement de texte Il y a beaucoup de formateurs de texte disponibles sous Linux. On retrouve groff, la version GNU du classique formateur nroff, développée à l’origine aux Bell Laboratories et toujours utilisée sur la plupart des systèmes UNIX du monde entier. Un autre formateur de texte moderne fonctionnant parfaitement sous Linux est Tex, développé par Donald Knuth. Les dialectes de TEX, comme LATEX, sont également disponibles. 5.3 Langages et outils de programmation Linux offre un environnement de développement UNIX complet, comprenant toutes les bibliothèques standards, outils de programmation, compilateurs, débogueurs (GNU gdb). Le compilateur C et C++ standard sous Linux est le GNU gcc, qui est un compilateur moderne et performant offrant de multiples options. A côté de C et C++, beaucoup d’autres langages compilés ou interprétés ont été portés sous Linux, comme Smalltalk, FORTRAN, Pascal, LISP, Scheme, et Ada. En plus de tout cela, différents assembleurs pour le mode protégé 80386 ou le mode réel sont disponibles, de même que les langages favoris des experts UNIX comme Perl (le langage script qui élimine tous les langages scripts) et Tcl/Tk (un interpréteur de commandes permettant de développer de petites applications X Window). Avec Linux, vous avez accès à l’intégralité du code source du noyau et des bibliothèques. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 5.4 Page 12/29 Le système X Window Le système X Window est l’interface graphique standard des systèmes UNIX. C’est un environnement très puissant supportant de nombreuses applications. Avec X Window, l’utilisateur peut avoir plusieurs terminaux graphiques simultanément à l’écran, chacun contenant un programme différent ou une session utilisateur différente. La souris est très utilisée sous l’interface X. Linux associé à X Window transforme votre machine en une excellente station de travail graphique. Avec un réseau TCP/IP, vous pouvez même afficher des applications graphiques tournant sur d’autres machines sur votre propre écran. En principe, n’importe quelle application écrite pour le système X Window peut être compilée sans aucun problème sous Linux. Les inconvénients majeurs de X Window sont la configuration matérielle nécessaire et la quantité de mémoire utilisée. Il faut un minimum de 8 Mo pour commencer à utiliser confortablement les applications graphiques. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 5.5 Page 13/29 Réseau Si vous possédez un modem, vous pouvez communiquer avec d’autres machines en utilisant l’un des paquetages de télécommunications disponibles sous Linux. Linux supporte les deux protocoles de base des systèmes UNIX : TCP/IP et UUCP. 5.5.1 TCP/IP (Transmission Control Protocol/Internet Protocol) TCP/IP est l’ensemble de protocoles permettant aux ordinateurs du monde entier de communiquer entre eux, sur un unique réseau connu sous le nom d’Internet. Avec Linux, TCP/IP, et une connexion au réseau, vous pouvez communiquer avec des utilisateurs ou des machines à travers l’Internet par courrier électronique, news Usenet, transférer des fichiers à l’aide de FTP. Il y a déjà de nombreux systèmes Linux connectés sur l’internet. Linux supporte la plupart des cartes Ethernet populaires pour le PC. Linux supporte également SLIP (Serial Line Internet Protocol) et PPP (Point to Point Protocol), qui permettent de vous connecter sur Internet (ou tout autre réseau TCP/IP). Pratiquement tout programme, qui utilise TCP/IP, peut être compilé sous Linux. 5.5.2 UUCP (UNIX to UNIX Copy) UUCP est un mécanisme plus ancien destiné à transférer des fichiers, du courrier électronique et des news Usenet entre machines UNIX. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 5.6 Page 14/29 Interfaçage avec MS-DOS Il existe différents utilitaires destinés à accéder au monde MS-DOS depuis Linux. L’application la plus connue dans ce domaine est DOSEMU, l’émulateur MS-DOS, qui permet d’exécuter un certain nombre d’applications MS-DOS directement depuis Linux. L’émulateur MS-DOS est toujours en cours de développement, mais, il permet déjà d’exécuter beaucoup de programmes bien connus (4DOS, Turbo Pascal, pkzip....) Certaines applications MS-DOS utilisant des caractéristiques ésotériques de ce système ne pourront jamais fonctionner sous émulateur, puisque ce n’est justement qu’un émulateur. Linux possède une interface très simple pour transférer des fichiers entre Linux et MS-DOS : vous pouvez monter une partition ou une disquette MS-DOS sous Linux, comme n’importe quelle autre partition, et accéder aux fichiers qui s’y trouvent comme avec n’importe quels autres fichiers. Un projet sous le nom de WINE est en cours de développement, il s’agit d’un émulateur Microsoft Windows pour le système X Window sous Linux. C’est un programme un peu similaire à l’émulateur WABI, propriété de Sun Microsystems. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 5.7 Page 15/29 Autres applications Une quantité phénoménale de programmes capables de faire tout et n’importe quoi fonctionne sous Linux, comme on peut s’y attendre avec un système d’exploitation aussi universel. L’orientation première de Linux est d’être un système pour les microordinateurs domestiques, mais ceci est entrain d’évoluer très rapidement. Des application professionnelles et scientifiques arrivent, et des éditeurs commencent à proposer des logiciels commerciaux. Plusieurs programmes de gestion de base de données relationnelles sont disponibles sous Linux, dont Postgres, Ingres, et Mbase. Ce sont des applications de bases de données client/serveur complètes, similaires à ce que l’on trouve sous forme commerciale sous d’autres plate-formes UNIX. Bien sûr, il y a beaucoup plus d’applications de ce type qui ont été (ou peuvent être) portées sous Linux. Quel que soit votre domaine d’activités, le portage d’applications UNIX sous Linux est, la plupart du temps, très simple. Tout se compile pratiquement sans modification. Comme tout système d’exploitation, Linux possède un lot de jeux. Ils comprennent aussi bien les jeux classiques en mode texte, que des jeux graphiques sous X Window. Les célèbres jeux d’arcade comme DOOM, ABUSE, QUAKE ont été également portés sous Linux. Pour les audiophiles, Linux supporte différentes cartes sonores et leurs outils associés comme Cdplayer (pour piloter un lecteur de CD-ROM), des séquenceurs et éditeurs MIDI, et des éditeurs de son numérique. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 6 Page 16/29 A propos du Copyright de Linux Bien que Linux soit diffusé avec son code source au complet, le système est "copyrighté" et ne relève donc pas du domaine public. Toutefois, il est disponible gratuitement selon les termes de la "GPL" (Gnu Public License). En quelques mots, cette licence assure que nul ne peut retirer certains droits à l' utilisateur du logiciel libre, comme par exemple l' accès gratuit à son code source. Mais elle n' interdit nullement la vente des programmes auxquels elle s' applique. Les programmes qui tournent sous Linux ont chacun leur copyright propre, bien que beaucoup d' entre eux utilisent également la GPL. X Window dépend du "MIT X Copyright", et quelques utilitaires, de celui de BSD. Dans tous les cas, tous les programmes disponibles sur les sites diffusant Linux sont librement diffusables (sinon ils ne s' y trouveraient pas !). CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 7 Page 17/29 Différences entre Linux et d’autres systèmes 7.1 Pourquoi utiliser Linux ? Linux est un excellent choix en tant que système UNIX personnel. Linux n’est pas uniquement destiné à un usage domestique. Il est suffisamment fiable et complet pour assurer de lourdes tâches. Beaucoup d’entreprises (particulièrement les petites) remplacent petit à petit leur environnement de travail, basé sur des stations de travail fonctionnant sous UNIX, par des machines tournant sous Linux. Les universitaires trouvent Linux idéal pour l’enseignement des systèmes d’exploitation. Certains éditeurs d’applications commerciales commencent à réaliser l’intérêt d’un système d’exploitation gratuit. 7.2 Linux contre MS-DOS Il n’est pas rare d’utiliser à la fois Linux et MS-DOS sur le même ordinateur. Beaucoup d’utilisateurs de Linux ont besoin de MS-DOS pour des applications comme le traitement de texte. Bien que Linux fournisse des applications équivalentes. Il existe beaucoup d’applications commerciales pour MS-DOS qui ne sont pas disponibles sous Linux. Linux Utilisation du Linux tourne exclusivement dans le mode protégé des processeurs, et processeur exploite toutes leurs possibilités. Utilisation de On peut accéder à toute la mémoire disponible (et même au-delà, grâce à la la mémoire mémoire virtuelle). Interface UNIX Linux offre une interface UNIX complète Développement Le développement ou le portage d’applications UNIX sous Linux est très et portage simple Linux est un véritable système UNIX Gratuit. Coût Linux s’adresse aux personnes ayant toujours souhaitées utiliser un système d’exploitation UNIX chez soi. Interface avec les autres systèmes d’exploitation 7.3 Il existe des outils permettant de communiquer avec MS-DOS. Il est très facile d’accéder à des fichiers MS-DOS depuis Linux. Il existe aussi un émulateur MS-DOS et un émulateur Windows. MS-DOS MS-DOS n’utilise qu’une petite partie des possibilités des processeurs x86 Taille des exécutables limitées à 640 Ko (mémoire conventionnelle) Inexistant sous MS-DOS Développement et portage limités à un tout petit sous-ensemble des fonctionnalités nécessaires MS-DOS est bon marché (comparé à d’autres systèmes d’exploitation commerciaux), et fait partie de l’histoire de l’ordinateur Aucun autre système d’exploitation pour Intel n’a atteint le niveau de popularité de MS-DOS Aucun Linux contre les autres systèmes Un certain nombre d’autres systèmes d’exploitation performants sont en train d’apparaître dans le monde du PC. En particulier OS/2 d’IBM et Windows NT de CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux Page 18/29 Microsoft deviennent très populaires, car de plus en plus d’utilisateurs, abandonnent MS-DOS. OS/2 et Windows NT sont tous deux des systèmes d’exploitation multi-tâches (mais mono-utilisateur), un peu comme Linux. Techniquement OS/2, Windows NT, et Linux sont assez similaires : ils ont pratiquement les mêmes fonctionnalités en matière d’interface, réseau, sécurité.... Toutefois la réelle différence entre Linux et « les autres », est, que Linux est une version d’UNIX, et par conséquent elle bénéficie des contributions de la très importante communauté UNIX. UNIX est la base du monde des graticiels ou programmes en domaine public. Presque tous les programmes disponibles sur Internet sont écrits pour UNIX (L’internet en luimême est largement constitué de réseaux basés sur UNIX). Il existe beaucoup d’implémentations d’UNIX, provenant d’un grand nombre d’éditeurs, il n’y a pas une unique organisation responsable de sa distribution. Un mouvement de standardisation est largement entamé dans la communauté UNIX, sous la forme de systèmes ouverts, mais aucune société n’a le monopole de cette standardisation. C’est pourquoi n’importe quel éditeur ou programmeur peut implémenter ces standards dans sa propre version d’UNIX. OS/2 et Windows NT, en revanche, sont des systèmes propriétaires. L’interface et le fonctionnement sont contrôlés par leur seul propriétaire, qui est le seul à posséder des droits. En un sens, ce type d’organisation est bénéfique : il définit un standard strict pour le programmeur et l’interface utilisateur, au lieu de ce que l’on trouve dans la communauté des systèmes ouverts. Toutefois, l’interface d’UNIX est en constante évolution. Plusieurs organisations tentent de standardiser le modèle de développement. Linux est en majeure partie conforme au standard POSIX.1 (certification POSIX.2 en cours) pour l’interface de programmation. Linux adhère progressivement à d’autres standards de ce type, mais la standardisation n’est pas l’objectif principal dans la communauté des développeurs de Linux. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 7.4 Autres implémentations d’UNIX Configuration matérielle Documentation et service après vente Stabilité et fiabilité Coût Page 19/29 Linux Supporte les périphériques les plus populaires. Les drivers sortent plus vite que sur les versions commerciales Limité aux documents disponibles sur l’Internet et par quelques livres. Cependant, de nombreuses documentations sont rédigées au fur et à mesure des problèmes rencontrés Aussi stable que ses équivalents commerciaux Linux étant toujours en développement, certaines choses sont momentanément moins fiables mais les problèmes se règlent très rapidement Gratuit. Il n’y a aucune notion de licence limitée à un nombre d’utilisateurs Implémentation d’UNIX Supporte une gamme un peu plus étendue Documentation très complète, et service après vente fourni par les versions commerciales d’UNIX Discutable dans certains cas Coût variable en fonction de la version commerciale. Le prix payé comprend aussi la documentation, le support clientèle, et l’assurance d’une certaine qualité. Il existe aussi des implémentations gratuites d’UNIX, mais la philosophie de développement est différente (de manière fermée) CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 8 Page 20/29 Conclusion Linux est un clone du système d’exploitation UNIX, destiné aux ordinateurs équipés de processeur x86. Il supporte une large gamme de programmes, de Tex à X-Window, le compilateur C/C++ GNU et TCP/IP. C’est une implémentation multi-usages d’UNIX, distribuée gratuitement selon la licence générale GNU. Linux peut transformer n’importe quel PC en station de travail. Il apporte toute la puissance d’UNIX. Linux est utilisé par une large gamme de personnes, en allant de l’université vers l’industriel en passant par le particulier. Ce qui rend Linux si différent est sa gratuité. Il est développé par un groupe de volontaires. Les personnes, ayant de bonnes bases de programmation, peuvent participer au développement de Linux. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 9 Page 21/29 Annexe 1 - Terminologie et sigles Vous trouverez dans cette annexe tous les sigles utilisés dans ce document. AMD ARM BSD CGA COFF DAT DLL EGA EIDE EISA ELF FAQ FAT FPU FTP GNU HFS HPFS HTTP IBCS IBM ISA ISO Linux LISP MCA MIPS MIT MSDOS NFS PC PCI POSIX PS/2 SCO SCSI SMB SVGA SVR4 TCL/TK Advanced Micro Devices Advanced RISC Machine Berkeley Software Distribution Color Graphics Adapter Common Object File Format Digital Audio Tape Dynamic Link Library Enhanced Graphics Adapter Enhanced Integrated Drive Electronics Extended Industrial Standard Architecture Executable and Linking Format Frequently Asked Questions File Allocation Table Floating Point Unit File Transfer Protocol GNU is Not Unix Hierarchical File System High Performance File System HyperText Transfer Protocol Intel Binary Compatibility Specification International Business Machines Industrial Standard Architecture International Organization for Standardization Linus Torvald’s Unix LISt Processing Language Micro Chanel Architecture Million Instructions Per Second Massachusetts Institute of Technology Microsoft Disk Operating System Network File System Personal Computer Peripheral Component Interconnect Portable Operating System Interface of Unix Personal System 2 Santa Cruz Operation Small Computer Standard Interface Server Message Block Super Video Graphics Adapter System five Release 4 Tool Command Language ToolKit CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux TCP/IP URL UUCP VFAT VGA VLB WABI WINE Page 22/29 Transmission Control Protocol/Internet Protocol Universal Ressource Locator (ou Uniform Ressource Locator) UNIX to UNIX Copy Virtual File Allocation Table Video Graphics Adapter VESA Local Bus Windows Application Binary Interface WINdows Emulator CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 10 Page 23/29 Annexe 2 - Distribution 10.1 Pour se procurer Linux 10.1.1 Par l'Internet Si vous avez accès à une machine connectée à l' Internet, vous pouvez récupérer Linux facilement sur l' un de ces sites. Les serveurs FTP français proposant Linux sont : Nom du site ftp.ibp.fr ftp.calvacom.fr ftp.cnam.fr ftp.ese-metz.fr ftp.iut-bm.univ-fcomte.fr ftp.loria.fr ftp.univ-angers.fr ftp.univ-lehavre.fr lirftp.insa-rouen.fr stef.u-picardie.fr Adresse IP 132.227.77.2 194.2.168.3 163.173.128.15 193.48.224.106 193.52.61.33 152.81.10.10 193.49.144.10 193.48.167.202 192.54.152.136 193.49.184.23 Répertoire Linux /pub/linux /pub/linux/slackware /pub/Atari/Linux68k /pub/Linux /pub/linux /pub/linux /pub/Linux /pub/linux /pub/linux /pub/linux Les sites internationaux les plus importants sont : Nom du site tsx-11.mit.edu sunsite.unc.edu ftp.funet.fi Adresse IP 18.172.1.2 152.2.22.81 128.214.248.6 Répertoire Linux /pub/linux /pub/Linux /pub/Linux CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux Page 24/29 10.1.2 Par téléphone Si vous ne possédez qu' un modem (au moins 9600 bps) vous pouvez télécharger Linux sans restriction d' accès sur différents BBS ou différentes machines Unix ou Linux de particuliers, mettant leur système à disposition de tous pour rendre service : brasil remcomp 01 44 67 08 44 01 40 22 90 93 01 42 47 06 11 polux shagshag stdin BBS Le Lien Suptel Nancy 05 61 26 08 27 01 40 30 04 68 04 72 34 54 37 04 72 08 98 79 03 83 53 16 17 03 83 53 20 21 05 61 37 11 62 Bulletin Board System (Toulouse) 05 61 37 07 52 01 39 94 95 76 Bulletin Board System 01 39 94 29 47 04 78 36 10 01 (VF 24k) Passerelle Internet Dedal. Site Linux uucp/SLIP/PPP/shell RadioAm TCP/IP et AX25 01 45 65 09 21 Acces PPP en V34 - Grenoble 04 76 93 13 48 Miroir ftp://ftp.ibp.fr/pub/linux 04 76 93 13 47 MtelTls cygnux BBS zenux afflynn Viking Bulletin Board System Site uucp anonyme. Login: nuucp, pas de mot de passe. Liste des fichiers dans ~/catalogue.gz Site Linux Site Linux Bulletin Board System Bulletin Board System Bulletin Board System Certaines machines appartiennent à des particuliers et ne sont pas forcément en service 24H/24. D' autres BBS français possèdent des fichiers Linux, toutefois ils ne sont pas automatiquement (ou régulièrement) mis à jour comme le sont ceux cités ici. 10.1.3 Sur CD-ROM par correspondance En France, citons DP-Tool, qui fournit un service sérieux pour des prix raisonnables. A titre d’exemple, LINUX Developper’s Ressource 6 CD (Infomagic) est vendu au prix de 104 F. DP-TOOL club BP 11 59155 Faches-Thumesnil Tel : 03 20 66 37 60 Fax : 03 20 60 37 23 CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux Page 25/29 10.2 Pour se tenir au courant Linux fait l' objet de 10 newsgroups en langue Anglaise et d' un en langue française, diffusés au moins en France, Suisse, Belgique et au Canada. Groupe fr.comp.os.linux Description Destiné aux francophones, il accueille les discussions sur Linux et est diffusé, hors Usenet, par certains BBS, sous forme de conférence dite "Linux" ou "Linux.fr", ce qui explique le format parfois inhabituel de certains articles. Les articles postés dans fr.comp.os.linux sont archivés régulièrement sur le site ftp.ibp.fr dans le répertoire / pub/linux/french/fr.comp.os.linux. comp.os.linux.announce Le groupe comp.os.linux.announce est modéré par Lars Wirzenius. Il recèle les annonces concernant Linux (nouveaux programmes, corrections de bogues, etc). L' adresse à laquelle les soumissions doivent être envoyées est [email protected]. Groupe modéré destiné à la publication régulière des divers comp.os.linux.answers documents Discussions sur la mise en oeuvre de systèmes Linux comp.os.linux.setup Discussions sur l' administration de systèmes Linux comp.os.linux.admin comp.os.linux.development.system Discussions sur le développement du noyau Linux. Les questions portant sur le développement d' applications doivent être dirigées vers comp.os.linux.development.apps ou un groupe lié à Unix. Discussions sur le développement d' applications spécifiques à comp.os.linux.development.apps Linux. Il n' est pas prévu pour contenir les demandes d' applications pour Linux. Questions portant sur les aspects matériels spécifiques à comp.os.linux.hardware Linux. Discussions sur le développement et la configuration des comp.os.linux.networking outils de gestion du réseau sous Linux. Discussions sur X-window spécifiques à Linux. comp.os.linux.x Prévu pour les fanatiques désireux de chanter les louanges de comp.os.linux.advocacy leur système préféré. Il est conseillé de l' éviter car il contient principalement des querelles stériles en tous genres. Contient toutes les discussions et questions qui ne comp.os.linux.misc correspondent à aucun des thèmes des autres groupes. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux Page 26/29 10.3 Pour débuter Il faut commencer par récupérer et LIRE la liste des "Frequently Asked Questions" (FAQ) disponible sur l' un des sites cités précédemment, ou pris sur l' un des sites archivant les FAQ' S Usenet en général (par exemple, rtfm.mit.edu ou l' un de ses miroirs français comme ftp.ibp.fr dans le répertoire /pub/doc/faqs). Ces documents contiennent des centaines de renseignements permettant de résoudre la plupart de vos problèmes. Si le monde UNIX est tout nouveau pour vous, et que Linux est votre premier contact avec ce domaine passionnant, suivez absolument les conseils suivants : • Ne vous ruez pas sur les forums de discussion Linux pour poser mille questions auxquelles tout le monde est lassé de répondre. Lisez les quelques semaines auparavant, voyez ce qui s' y passe, consultez-en les archives mises à disposition sur certains sites, et il y a fort à parier que vous trouverez ce que vous cherchez sans déranger personne. • Linux n' est qu' un système UNIX parmi tant d' autres, et par conséquent toute la littérature spécifique à UNIX s' y applique. On n' apprend pas à maîtriser un nouveau système d' exploitation sans un minimum d' effort de documentation, souvenez-vous du temps qu' il vous a fallu pour maîtriser celui avec lequel vous travailliez auparavant, et des nombreux ouvrages que vous avez du consulter pour arriver à vos fins. • Procurez-vous et lisez attentivement tous les ouvrages gratuits rédigés sur Linux, en particulier le guide d'installation et d'initiation de Matt Welsh et le manuel d'administration réseau d' Olaf Kirch, disponibles en version française, ainsi que le "Guide du Rootard". Ils contiennent les bases indispensables à votre apprentissage du système. Il ne vous sera pas pardonné de poser une question dont la réponse est contenue dans l' un de ces livres, ou dans l' un des documents complémentaires "HOWTO" disponibles tout aussi librement sur les sites diffusant Linux. • Expérimentez, tentez de comprendre et de résoudre votre problème vous-même : c' est le meilleur apprentissage. Vous n' arriverez jamais à rien si vous faites tout faire par les autres. Linux et ses différentes documentations représentent des milliers d' heures de travail bénévole de centaines de développeurs, rédacteurs, traducteurs, testeurs ; ne condamnez pas le système si vous n' arrivez pas à en tirer parti parce que vous refusez de faire à votre tour un tout petit effort. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux 11 Page 27/29 Annexe 3 - Documentation Les manuels ci-dessous sont accessibles par ftp anonyme sur la plupart des sites archive Linux. De plus, certains de ces documents sont livrés avec les CDs de Linux. Linux Installation and Getting Started, par Matt Welsh Un guide destiné au nouvel utilisateur de Linux, expliquant tout ce que le nouveau venu a besoin de savoir pour se lancer dans l’aventure. The Linux System Administrators’Guide, par Lars Wirzenius Il s’agit d’un guide très complet sur la configuration et l’utilisation d’un système Linux. L’administration système sous Linux n’est pas différente des autres UNIX, en ce sens qu’il existe malgré tout quelques specificités qui ne peuvent être abordées dans un ouvrage général. Ce livre est là pour vous aider à gérer un système Linux, avec tous les petits détails que vous devez connaître. The Linux Network Administrators’Guide, par Olaf Kirch Un guide détaillé du réseau sous Linux, comprenant TCP/IP, UUCP, SLIP et bien d’autres choses. Il contient une foule d’informations sur de nombreux sujets, et explique les points obscurs ou confus de la configuration d’un réseau. The Linux Kernel Hackers’Guide, par Michael Johnson Tous les secrets du noyau et du développement bas niveau sous Linux. Linux est unique, car les sources de tout le système sont disponibles gratuitement ; cet ouvrage guidera le développeur désirant modifier le noyau ou lui ajouter des fonctionnalités, ou fera découvrir au programmeur le coeur d’un système d’exploitation. Linux Unleashing the Workstation in your PC, par Stefan Strobel et Thomas Uhl. Dans le commerce, il faut noter la sortie de deux ouvrages en version française chez O' Reilly : Le système Linux, par Matt Welsh & Lar Kaufman Traduction française de Running Linux, plus de 600 pages qui vous initieront à Linux, ainsi qu’aux applications les plus courantes. C’est un ouvrage de référence à posséder ; il sera utile même aux utilisateurs d’autres systèmes Unix. Administration Réseau sous Linux, par Olaf Kirch Il s’agit de la traduction française de l’ouvrage Network Administration Guide, du groupe de documentation Linux. CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux Page 28/29 Guide du routard, créé par Julien Simon et maintenu par Éric Dumas Ce document rassemble la traduction de considérations essentielles sur Linux, ainsi que nombre de trucs et astuces, expliqués quotidiennement dans les newsgroups ou conférences francophones dédiés à Linux. Il est, bien entendu, disponible sur la majorité des sites français diffusant le système, sa source officielle étant ftp.ibp.fr, répertoire /pub/linux/french/docs. Il est également disponible sur le Web à l' URL http://www.freenix.fr/linux/Guide . Les HOWTO’s, Ces petits guides, traitant chacun d' un domaine de Linux, sont une lecture indispensable. La plupart d' entre eux sont disponibles en version française dans le répertoire / pub/linux/french/docs/HOWTO sur le site ftp.ibp.fr. Linux Journal C’est un magazine rédigé en anglais, lancé en 1994. Il contient des articles pour des lecteurs de niveaux différents. Ce journal est vendu pour la somme de 32 dollars pour un an d’abonnement (12 numéros) ou 54 dollars pour deux ans. Pour le commander depuis la France, il suffit d’adresser un courrier électronique à l’adresse [email protected] Si vous avez accès au Web, vous pouvez également trouver de précieux renseignements sur les URL : http://www.freenix.fr/linux http://www.echo-linux.fr http://www.loria.fr/linux CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01 Introduction au système d’exploitation Linux Page 29/29 Avec tous mes remerciements aux différentes personnes qui ont oeuvrées pour la création de Linux, sans oublier les personnes participant aux évolutions de ce système d’exploitation. Patrick DEIBER 01.30.43.87.96 (domicile - répondeur) 01.39.49.88.52 (bureau) E-mail : [email protected] CNAM Versailles - Conception et développement informatique B0 - 1996/1997 Révision 1.01