Cours Linux Version 0.6 Cours Linux Cours Linux 1) Historique 1969 : Ken Thomps

Cours Linux Version 0.6 Cours Linux Cours Linux 1) Historique 1969 : Ken Thompson et Dennis Ritchie écrivent une première version du noyau d'un système d'exploitation pour les laboratoires BELL. Cet OS est conçu de façon à appréhender l'ensemble de la machine de la façon la plus homogène qui soit, et éviter tout particularisme. Les concepteurs y appliquent l'ensemble de leurs convictions sur ce que doit être un OS, et le nomme UNIX, par humour (ils travaillent à l'époque sur un Système nommé MULTICS). Le même Dennis Ritchie invente en 1973 un langage de programmation nommé le langage C. Peu de temps après, Thompson et Ritchie ré-écrivent le noyau d'UNIX en C "rompant avec une tradition qui voulait que le noyau d'un système d'exploitation soit écrit en langage assembleur"1. L'avantage est celui de la portabilité de l'OS, qui peut être adapté et recompilé sur une autre plate-forme, dès qu'un compilateur C est disponible.... C'est l'entreprise ATT qui fournit les premières versions commerciales de cet OS. Diverses entreprises s'intéressent à ce marché, et plusieurs versions apparaissent (Sun et son SunOS, qui deviendra Solaris, IBM et son AIX, HP et son HPUX...) L'université californienne de Berkeley travaille également sur Unix, et lui apporte des atouts en réseau (les commandes r, par exemple, rlogin, rsh, rcp... De son coté, ATT sort une version majeur, la version 5. Les Unix d'aujourd'hui sont les héritiers des versions BSD (berkeley) ou ATT (System V), soit un peu des deux. Sun est de nos jours un acteur majeur d'Unix (voir notamment NFS, NIS...) Évolution AT&T et BSD System V (SCO XENIX AIX Solaris) BSD (Réseau) 2) Descriptif Unix générique Quels sont les points communs des systèmes Unix ? Tout d'abord, il s'agit de systèmes d'exploitation Multitâche Multi-utilisateurs. Conçu à l'origine des mainframes, il permet donc à de multiples utilisateurs de travailler sur le même ordinateur. Sur les micro ordinateurs, historiquement, les systèmes étaient plutôt mono-tâche et mono-utilisateur. C'est Windows 3.x qui a introduit la notion de multi-tâche (et encore, assez mal géré), et il a fallut attendre Windows 95 pour un vrai multi-tâche préemptif. Là encore, l'observateur attentif a pu remarquer qu'une simple tache "plantée" suffit à cracher entièrement l'OS. Dans le monde Microsoft, seul Win NT est plus sécurisé (utilisation des Ring 0 et 3 du processeur, voir cependant la problématique de la carte VGA). Malgré toutes ces avancés, le mode multi-utilisateur est toujours absent des solutions Microsoft (Il faut reconnaître que cela n'apporte qu'un petit plus). Il est écrit en C, ce qui permet un portage, ou une adaptabilité. Il suffit parfois de recompiler son OS (si vous disposez des sources bien sûr !!!) avec les bonnes options pour l'adapter parfaitement à 1 Extrait de "L'environnement de programmation UNIX", un must-read de Kernighan et Pike... Sylvain CHERRIER page 1 sur 98 Février 2008 Cours Linux Version 0.6 votre machine (les OS microsoft sont compilé quant à eux de manière générique, avec les options correspondant au moins puissant des matériels supportés : voir la notion de logiciel 16 bits par exemple...) Un autre point important est l'optique générique choisie. Tout ce que peut gérer l'OS doit l'être de façon identique. On a coutume de dire que sous UNIX tout est fichier... La gestion des périphériques (disquette, clavier souris écran, disque dur, réseau, etc.) est identique à la gestion des fichier. Cette notion très troublante quand on vient d'un autre monde permet dès son appropriation la réalisation d'action pour le moins étonnante (duplicata de disque dur, "formatage" de fichier, transferts insolites comme par exemple la copie de l'entrée son d'un PC sur la sortie haut parleur d'un autre PC en réseau, etc...) Shell programmable : UNIX est un système d'exploitation. Il permet de faire fonctionner un ordinateur, et lui permet d'assurer un certain nombre de services. Parmi ces services, le shell, ou interpréteur de commandes, va permettre à un utilisateur de lancer des commandes de façon interactif. C'est le programme chargé d'assurer le dialogue avec l'utilisateur. Sous UNIX, vous disposez de plusieurs shells, vous choisirez celui qui est le plus pratique pour vous. La tendance actuelle est à l'utilisation du BASH (Bourne Again Shell). Les autres shells connus sont le SH (le Bourne Shell), le Korn shell, le C shell... Tous ces shells sont capables d'assurer l'exécution d'une suite de commandes, ce que l'on appelle un script. Tous ces shells sont de véritables langages de programmation... Le réseau : Les liens entre UNIX et le réseau sont très importants, de par les avancées de BSD. TCP/IP a été porté très tôt sous UNIX, et une majorité des ordinateurs serveurs de l'Internet sont sous UNIX. Quant à l'interface utilisateur, il existe aussi une interface graphique sous UNIX : Il s'agit de X Window, qui a la particularité d'être client serveur et orienté réseau. Ce système qui peut sembler assez lourd permet cependant d'étonnantes opérations, comme par exemple lancer de sa machine un programme qui s'exécutera sur une autre machine, alors que l'affichage graphique se fera sur une troisième !!! Un autre avantage du client serveur est la possibilité de choisir parmi de multiple Window Manager (programme chargé du comportement et de style d'affichage). Un utilisateur X- Window d'une distribution standard de Linux se servira de l'interface KDE, GNOME, TWM, Enlightment ou autre WindowMaker, SAWFISH ou IceWM selon sa convenance et le plaisir qu'il y trouvera. Et Linux dans tout ça ? Linux est un produit libre, développé par des étudiants et maintenant des entreprises (dont IBM, Corel, etc) qui est né en 1991. Très en vogue actuellement (en réaction au monopole de Microsoft), il est très répandu sur Internet, dans les écoles et Universités, et entre petit à petit dans le monde de l'entreprise (IKEA, la Poste, les armées et autres lieux "sensibles à la sécurité"...) Ses avantages : toutes les sources sont fournies, il est libre,très stable, très réactif (la détection d'un bug est très rapidement corrigée), il est gratuit, compatible Posix, c'est un challenger et une alternative très sérieuse en ce qui concerne les serveurs, il est très lié au hardware (on peut recompiler les programmes pour les adapter parfaitement à sa machine), il est multi-plate-forme (Alpha, PowerPC, Macintosh, IBM BULL etc), et enfin il offre des performances très impressionnantes... Ses inconvénients : Il est austère (il faut aimer la ligne de commande), touffu (il faut plusieurs années pour vraiment avoir une vue d'ensemble d'un système UNIX en général), pas ou peu supports techniques (en fait, il y a une documentation énorme fournie avec Linux, mais il faut se Sylvain CHERRIER page 2 sur 98 Février 2008 Cours Linux Version 0.6 donner la peine de la lire, et c'est parfois très long), il n'y a pas tous les drivers (en effet, très peu de fabricants développent des pilotes pour Linux, il faut donc attendre que des bénévoles hyper compétents les réalisent et parfois, sans aucune doc du fabricant), il y a une certaine méfiance des entreprises (encore que cela change, voir par exemple le coup d'un virus comme I LOVE YOU, qui, à lui seul, montre le danger de la mono-culture microsoft), et enfin qu'en est il de la pérennité du produit (un produit gratuit, fait par des bénévoles, peut il survivre à long terme ? En fait, la question serait plutôt l'inverse : un produit propriétaire, fabriqué par une entreprise qui pourrait disparaître, peut il survivre à long terme ? (voir CP/M, Dbase, Quicken, etc)) Une petit mesure de la taille de la documentation sous Linux : 101 Millions d'octets de texte (presque) pur !!! 2.a - Prise de contact Allons y : démarrer votre machine. Après un éventuel LILO (c'est un petit programme au démarrage de la machine, qui permet de démarrer soit Linux, soit Windows. En fait il permet de démarrer presque n'importe quoi, mais disons que le choix Windows/Linux est ce que l'on trouve habituellement...). Après le défilement de nombreuses informations (Linux est bavard, ce qui est pratique pour détecter une panne !!!), vous arrivez à un écran de login, c'est à dire de connexion. Entrez votre nom de login, et votre password : vous êtes connecté au système. Bon, maintenant, qu'est ce qu'on fait ? Commençons par arrêter la session : tapez logout. Vous êtes déconnecté, l'écran repasse en mode de login. Avant d'aller plus loin, revenons à des notions théoriques. Sous Linux (et sous UNIX en général), vous êtes dans une ARBORESCENCE. C'est à dire qu'il y a une organisation hiérarchique de répertoires, qui peuvent contenir des fichiers et/ou des répertoires. Cette notion est simple, puisque le monde Microsoft l'a repris. Par contre, il n'y a pas de C: ou de A:. Dans le monde Windows, il y a une arborescence pour chaque support. Sous Linux, Il n'y a qu'une et une seule arborescence !!! Et en plus c'est toujours la même, que vous soyez sur un système qui n'a même pas de disque dur (juste une clé USB par exemple), ou sur un super ordinateur avec 50 TOctets en ligne !!! Cette arborescence a une racine, un début, un uploads/Industriel/ cours-linux 1 .pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager