« 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é
m →‎Distributions majeures de Linux : wikification des noms de distributions
Tavernierbot (discussion | contributions)
m Bot: Retouches cosmétiques
Ligne 10 :
== Introduction ==
 
Un système informatique moderne est composé d’un ou plusieurs processeurs, d’une mémoire principale, de disques durs, d’imprimantes, d’un clavier, d’une souris, d’un écran, d’une carte réseau et de beaucoup d’autres périphériques d’entrée/sortie. En un mot un système complexe. Dans ce contexte, développer des programmes d’application qui doivent tenir compte correctement de toutes ces entrées/sorties n’est pas une mince tâche. C’est pour cette raison que les ordinateurs modernes sont équipés d’un « système d’exploitation ». Une des tâches du système d’exploitation est donc d’offrir aux utilisateurs une interface simple et conviviale avec le matériel.
 
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 version de Unix et de Linux sont présenté.
 
== Qu'est-ce qu'un système d'exploitation ? ==
Ligne 30 :
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 demeure une priorité absolue. En tout temps, 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 44 :
Au bas, 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.
 
=== Système d’exploitation ===
 
Le système d'exploitation qui se trouve juste au-dessus, offre aux programmeurs et aux utilisateurs un ensemble d'instructions du genre « lire le fichier » ou « afficher à l’écran ». Il s'agit ici d'un niveau d'abstraction élevé qui évite ainsi au programmeur de devoir écrire, par exemple, du code pour déplacer les têtes de lecture d'un disque rigide.
 
En haut de la hiérarchie, il y a la couche où l'on retrouve les interpréteurs de commandes, les compilateurs et les logiciels d’application. Il est clair que ces programmes ne font pas partie du système d'exploitation, même s'ils sont livrés avec celui-ci dans bien des cas.
 
=== Logiciels d’application ===
 
Finalement, au-dessus de toutes ces couches se trouvent les logiciels d’application. Ces logiciels permettent à leur utilisateur d’effectuer des tâches particulières sans que l’usager n’ait à tenir compte des couches inférieures.
 
== Fonctions d'un système d'exploitation ==
Ligne 84 :
=== Première génération (1945-55) : les tubes à vide ===
 
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. Ainsi un insecte s’appelle « bug » en anglais, le nom est resté pour nommer une erreur informatique.
Ligne 109 :
* 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 Equipement.
 
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 dû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 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:
Ligne 134 :
* 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,
Ligne 146 :
=== 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;
Ligne 157 :
=== 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;
Ligne 173 :
=== 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).