« Le système d'exploitation GNU-Linux/Qu'est-ce qu'un système d'exploitation ? » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 17 :
Dans ce chapitre, nous allons d’abord présenter une brève définition et description des systèmes d’exploitation. Par la suite, nous expliquons l’architecture et les fonctions d’un système d’exploitation. Puis finalement, les différentes versions de Unix et de Linux sont présentées.
 
== Qu'est-ce qu'un système d'exploitation ? ==
 
Un système d'exploitation effectue deux tâches bien distinctes :
Ligne 33 :
L'autre fonction du système d'exploitation est le partage des ressources. Le système d’exploitation joue un rôle de policier afin d'éviter les conflits d'utilisation de la mémoire, des périphériques d'entrée/sortie, des interfaces réseau, … On peut facilement imaginer ce qui arriverait si trois programmes essayaient d'imprimer en même temps sans que des priorités aient été préalablement établies.
 
De plus, lorsque l'ordinateur est utilisé par plusieurs usagers, le partage de la mémoire et surtout sa protection demeurentdemeure une priorité absolue. À tout moment, un bon système d'exploitation connaît l'utilisateur d'une ressource, ses droits d'accès et son niveau de priorité.
 
== Architecture d’un système informatique ==
Ligne 47 :
Au plus bas niveau, on retrouve la première couche qui contient les composantes physiques constituées des circuits intégrés, des fils, des sources de courant, …
 
La couche suivante regroupe des outils logiciels primitifs qui permettent de contrôler directement les composantes physiques sous-jacentes,; comme les registres internes du processeur et l’unité arithmétique et logique. Cette couche est appelée le microcode et réside bien souvent dans le processeur de l'ordinateur.
 
L'autre couche est celle du langage machine qui est interprété par le microcode. Ce langage de bas niveau regroupe 50 à 300 instructions pour permettre de déplacer des bits, de calculer ou de comparer des valeurs à l'aide des registres internes du processeur.
Ligne 59 :
=== Logiciels d’application ===
 
Finalement, au-dessus de toutes ces couches se trouvent les logiciels d’application. quiCes logiciels permettent à unleur utilisateur d’effectuer des tâches particulières sans qu'ilque l’usager aitn’ait à tenir compte des couches inférieures.
 
== Fonctions d'un système d'exploitation ==
Ligne 65 :
Aujourd'hui, l'informatique, aussi bien dans les entreprises que dans l'enseignement, utilise des machines plus petites fonctionnant avec des systèmes d'exploitation à caractère universel. Parmi ces systèmes d'exploitation, deux se distinguent particulièrement, un système mono-utilisateur, Windows, et un autre multi-utilisateurs et multi-tâches, Unix. D'une manière contestable, on peut affirmer que le premier système est destiné à des ordinateurs individuels, tandis que l'autre est réservé au travail en groupe.
 
Parmi les nombreux systèmes d’exploitation, Unix/Linux est celui qui offre le plus de richesse, le plus d'homogénéité et le plus de souplesse. Pour cette raison, dans ce livre, Linux a été choisi comme système d'exploitation pour illustrer les concepts théoriques. Par ailleurs, le système MS-DOS puis Windows, en évoluant, onta incorporé beaucoup de caractéristiques de Unix/Linux.
 
On peut diviser les fonctions des systèmes d'exploitation classiques en quatre parties principales :
Ligne 79 :
L’histoire de l’informatique est très brève – les ordinateurs sont nés avec la seconde guerre mondiale – et pourtant, elle a connu de grandes évolutions. L'historique des systèmes d'exploitation est intimement liée à l'évolution de l’informatique. Cette évolution est séparée en 4 grandes étapes :
 
# Première génération (1945-55) : les tubes à vide (machine nues).
# Deuxième génération (1955-65) : les transistors et le traitement par lotslot.
# Troisième génération (1965-80) : les circuits intégrés et la multiprogrammation.
# Quatrième génération (1980-aujourd’hui) : les micro-ordinateurs
 
=== Première génération (1945-55) : les tubes à vide'(machine nues) ===
 
En 1946, le premier ordinateur ne comportant plus de pièces mécaniques est créé grâce à J. Mauchly et J. Presper Eckert : l’ENIAC (Electronic Numerical Integrator And Computer). Il est composé de 180 000 tubes à vide et occupe 1500 m2. Son principal inconvénient est sa programmation : il était uniquement programmable manuellement avec des commutateurs ou des câbles à enficher.
 
'''Note''' : La première erreur informatique est due à un insecte qui, attiré par la chaleur, était venu se loger dans les tubes à vide et avait créé un court-circuit. LeAinsi motun insecte s’appelle « bug » (insecte en anglais), le nom est resté pour nommer une erreur informatique.
 
=== Deuxième génération (1955-65) : les transistors et le traitement par lotslot ===
 
En 1948, le transistor est créé par la firme Bell Labs grâce aux ingénieurs John Bardeen, Walter Brattain et William Shockley. Le transistor permet de rendre les ordinateurs moins encombrants et moins gourmands en énergie électrique : c’est la révolution dans l’histoire de l’informatique. Ce n’est qu’en 1960 qu’IBM commercialise l’un des premiers ordinateurs à base de transistors, l’IBM 7000.
 
C’est aussi à cette époque que les premiers systèmes d’exploitation sont apparus tel FMS (the Fortran Monitor System) et IBSYS (IBM’s operating System), utilisant le traitement par lotslot pour gérer l’exécution des programmes qui se fait maintenant de façon autonome.
 
=== Troisième génération (1965-80) : les circuits intégrés et la multiprogrammation ===
 
Le circuit intégré est mis au point en 1958 par Texas Instrument. Il permet de réduire encore la taille des ordinateurs en intégrant plusieurs transistors dans lela même composantcomposante électronique. Avec cette nouvelle génération d’ordinateurs, une nouvelle génération de systèmes d’exploitation mettant en application le concept de multiprogrammation fait son apparition.
 
Les premiers travaux sur MULTICS, l'ancêtre d'Unix, sont dus à Ken Thompson pour le compte de Bell Laboratories, AT&T, General Electric et le Massachusetts Institute for Technology.
En 1970, une première version d'Unix voit le jour. Elle fonctionne sur une machine PDP-7 de Digital EquipmentEquipement. Les principales caractéristiques de ce système sont les suivantes :
 
* Gestion de fichiers sous forme d'une hiérarchie de répertoires.
Ligne 111 :
* Un système aussi portable que possible pouvant s'adapter à de nombreux types d'ordinateurs. C'est justement pour accroître la portabilité du système que Denis Ritchie inventa le langage de programmation C.
 
Une grande partie du système Unix fut réécrite en langage C. Le reste du système, en assembleur, dépend du type de machines sur lequel on installe le système. En 1976, la version 6 d'Unix, fut la première version complète. En 1979, ce fut le succès commercial avec la version 7. Cette version a été adoptée par Hewlett Packard et Digital EquipmentEquipement.
 
Chaque constructeur eut le droit d'adapter Unix à ses machines. De même, des universités pouvaient travailler à son amélioration. Mais comme le nom d'Unix lui-même était protégé, chacun dutdût aussi choisir un nom différent. L'Université de Berkeley en Californie proposa ainsi les versions BSD (Berkeley Software Distribution). Face à cette diversité des versions d'Unix, AT&T proposa, dès 1983, le standard System V. Aujourd'hui, l'X/OPEN group a obtenu le droit de diffuser la marque Unix à tous les systèmes qui se soumettent à un contrôle approprié. Aujourd'hui encore, HP propose HP-UX, IBM propose sa version d'Unix appelée AIX et Sun propose Solaris.
=== Quatrième génération (1980-aujourd’hui) : les micro-ordinateurs ===
 
En 1979, Microsoft prend une licence Unix et développe le système d'exploitation XENIX, disponible jusqu'en 1984. Au moment où le PC fit son apparition, Unix était déjà un système mûr. En 1981, lorsque IBM lança le PC, il choisit le système d'exploitation MS-DOS de Microsoft pour système d'exploitation. MS-DOS, inspiré d'Unix, comportait dès le départ des contraintes liées à son architecture : insuffisance de la mémoire adressable, pas de gestion multi-tâches ou multi-utilisateurs, pas de protection de la mémoire.
 
Des particuliers eux aussi se sont attelés aux développements d'une version d'Unix : Andrew Tanenbaum, professeur à l'Université d'Amsterdam, développa avec ses élèves une version d'Unix pour PC, appelée Minix, qui vit le jour en 1987. Partant de Minix, Linus Torvalds développa Linux, un Unix pour PC dont la première version, appelée version 0.99, sortit en 1991. Aujourd'hui, Linux est devenu un système d'exploitation stable pour PC. Ce système constitue un logiciel libre, dont chaque utilisateur a le droit de modifier le code source.
 
== Unix/Linux ==
 
Unix est un système d'exploitation très populaire parce qu'il est présent sur un grand nombre de plates-formes, du micro-ordinateur à l’ordinateur central (mainframe). L'avantage de cela, c'est que les programmes développés sous Unix peuvent être transférés d'une plate-forme à une autre avec un minimum de modifications.
 
Ce système est multitâche, c'est-à-dire qu'il est capable de gérer et d'exécuter plusieurs programmes simultanément. De plus, il est multi-usager, c'est-à-dire que plusieurs personnes peuvent s'y connecter en même temps et travailler; le système partage alors toutes les ressources logicielles et matérielles de l'ordinateur entre les différents usagers.
 
L'histoire de Unix est unique dans le monde des systèmes d'exploitation. En effet, alors que la plupart des systèmes d'exploitation ont été conçus par des fabricants d'ordinateurs pour vendre leurs machines, Unix n'a pas été conçu dans un but commercial. Il l'est devenu parce qu'il constitue une norme en matière de système d'exploitation.
 
Contrairement à un système d'exploitation commercial complètement contrôlé par son fabricant, le système Unix est aujourd'hui distribué par plusieurs intervenants dont voici les principaux:
 
* AT&T, à qui on attribue la paternité de Unix;
* L'université de Berkeley, qui a fait évoluer Unix dans plusieurs domaines;
* SUN Microsystems, à qui l’on doit les améliorations importantes de l'interface graphique;
* Santa Cruz Operation et Microsoft, le XENIX/UNIX fut la première version pour PC de Unix.
 
À cause de cette situation de développement, le système d'exploitation Unix a mis plusieurs années à être standardisé. Actuellement, il en existe deux principales variantes, incompatibles entres-elles:
 
* Le Unix SYSTEM V,
* Le Unix BSD.
 
Il existe aussi une multitude de variations mineures dérivées d'une des deux ou des deux principales variantes; on a ainsi, en les regroupant:
 
* Les systèmes Unix-Based;
* Les systèmes Unix-Like.
 
=== Systèmes Unix-Based ===
 
Les systèmes Unix-Based ont obtenu une licence d'utilisation d'AT&T. Il s'agit d'une adaptation de Unix. Ils restent compatibles avec la version d'AT&T parce qu'ils partagent le même noyau. On retrouve dans cette catégorie:
 
* XENIX/UNIX provenant de SCOMicrosoft;
* AIX provenant d'IBM;
* Mac OsX provenant d'APPLE;
* SunOS/Solaris provenant de SUN MicroSystems;
* IRIX provenant de Silicon Graphics;
* ULTRIX provenant de DIGITAL.
 
=== Systèmes Unix-Like ===
 
Les systèmes Unix-Like reproduisent les mêmes fonctionnalités que la version AT&T, mais le noyau du système est incompatible parce qu'il a été récrit pour éviter le versement de droit d'auteurs à AT&T. On retrouve dans cette catégorie:
 
* Minix;
* Linux;
* FreeBSD;
* QNX.
 
Cette prolifération de produits a fait apparaître un certain nombre de différences entre les systèmes, dont les principales sont:
 
* Les communications interprogrammes;
* La gestion de la mémoire (segmentation ou pagination);
* Divers paramètres du système;
* Divers outils qui peuvent être intégrés dans un produit et absents dans un autre.
 
=== Distributions majeures de Linux ===
 
Celui qui s'intéresse aux différentes versions de Linux doit faire la différence entre le noyau du système d'exploitation proprement dit (le kernel, en anglais) et la combinaison d'utilitaires qui l'accompagnent. Les distributions se différencient par le choix du noyau et le choix des différents utilitaires disponibles.
 
Au moment de la rédaction de ce texte, la version actuelle du noyau de Linux porte le numéro 2.6.x, mais les versions suivantes sont probablement prêtes. Vérifiez donc la version du noyau que vous vous procurez. Cette version figure dans de nombreuses distributions et constitue un élément commun.
De nombreux utilitaires sont également communs à toutes les distributions. (Exemple: Bourne Again Shell ou l'interface graphique Xfree86).
 
Voici une liste non exhaustive des distributions disponibles:
 
* [[w:CentOS|CentOS]]
* [[w:RedHat|RedHat]]
* [[w:Fedora|Fedora]]
* [[w:Mandriva|Mandriva]]
* [[w:Debian|Debian]]
 
== Exercices ==
 
# Quelles sont les deux tâches d’un système d’exploitation?
# Qu’est-ce qu’un logiciel d’application?
# Nommez les différentes couches d’un système d’exploitation?
# Quelles sont les quatre parties principales d’un système d’exploitation?
# Quelles sont les quatre grandes étapes de l’évolution de l’informatique?
# Quel est le nom du père de Linux?
# Faite une recherche sur Internet pour identifier les différences majeures entre les principales distributions de Linux.