Université Virtuelle de Tunis Systèmes d’exploitation des ordinateurs
Introduction aux systèmes d’exploitations SE
I. Introduction
Les fondements d’un SE peuvent être vus sous deux grands axes: niveau utilisateur et niveau
système. De plus, de par sa nature logicielle et ses fonctionnalités, le système d’exploitation est
appelé à évoluer avec le temps en fonction de l’évolution du matériel et des besoins des utilisateurs.
Ainsi, trois principaux vues caractérisent les SE:
1. point de vue gestionnaire de ressources;
2. point de vue machine virtuelles;
3. logiciel évolutif.
II. SE comme gestionnaire de ressources
Le SE étant la partie qui fait fonctionner les composant d’un ordinateur, nous allons dans cette
section focaliser notre attention sur ce logiciel système. Qu’est-ce qu’un SE ?
1. Définition
Le système d’exploitation peut être défini comme programme système qui commande l’exécution
de programmes d’application. Il est responsable pour le chargement et l’exécution de programmes
d’application. Il doit veiller à la disponibilité des configurations matérielles et logicielles requises
avant d’exécuter le programme d’application.
2. Rôle d’un SE
Dans un système informatique, le SE est le programme qui agit comme intermédiaire entre
l’utilisateur est la partie matérielle. Un système informatique possède un ensemble de ressources
pour la circulation, le traitement et le stockage de données. Ainsi, du point de vue machine, un SE
peut être considéré comme gestionnaire de ressources. Un ensemble de demande d’accès aux
ressources, pouvant même générés des conflits sont gérés par le SE. C’est lui qui décide qui accède
à telle ressource, pour telle durée en garantissant un fonctionnement efficace du système. Le SE
contrôle également les dispositifs d’E/S et les logiciels d’application afin de garantir un bon
fonctionnement du système.
1
Université Virtuelle de Tunis Systèmes d’exploitation des ordinateurs
Un SE est un logiciel indispensable pour le fonctionnement de l’ordinateur. Il joue le rôle
d’intermédiaire entre la partie matérielle et les utilisateurs.
III. Evolution des SE
Les ordinateurs ont évolué dans le temps. Cette évolution a été largement influencée par l’évolution
des SE. Mais quelles sont les évolutions qu’a connues le système d’exploitation ? Cette question
sera répondue dans cette section.
1. Evolution
Étudier l’évolution des systèmes d’exploitation est utilisé pour comprendre les exigences clés d’un
système d’exploitation. De plus, elle aide à comprendre la signification des principales
caractéristiques des systèmes d’exploitation modernes.
Les systèmes d’exploitation et l’architecture de l’ordinateur sont historiquement liés. La
combinaison de l’architecture de l’ordinateur avec un système d’exploitation est connue sous le
nom de plate-forme informatique. Ces changements architecturaux affectent la structure et la
performance des systèmes d’exploitation.
Les premiers ordinateurs ne possédaient pas vraiment de système d’exploitation. Le moniteur était
chargé avec l’unique programme à exécuter qui se greffait sur ce système rudimentaire tout comme
une fonction ou un sous-programme se greffe aujourd’hui sur le programme principal. Les entrées-
sorties étaient rudimentaires, réduites à un ruban perforé, les programmes écrits en langage
machine, c’est à dire directement codés en suite de chiffres, exécutés pas à pas et modifiés
directement en mémoire au moyen d’un jeu de clés !
Vers 1950 est apparu le moniteur d’enchaînement. Il permettait l’exécution d’une série de travaux
en séquence, c’est à dire l’un après l’autre. C’est l’ancêtre du traitement par lot. Il possédait déjà des
fonctions de protection: maximum de temps par travail, supervision des périphériques, protection de
la zone mémoire utilisée, gestion et abandon des travaux erronés. Ces avancées étaient
fondamentales car elles introduisaient un environnement autour du programme à exécuter.
L’informatique moderne naît dans les années 1960. On peut résumer rapidement ses avancées
autour de l’invention des notions suivantes :
• Apparition des processeurs d’entrées-sorties
2
Université Virtuelle de Tunis Systèmes d’exploitation des ordinateurs
• Multiprogrammation, c’est à dire possibilité d’exécuter plusieurs programmes
simultanément.
• Compilateurs
• Temps partagé
• Mémoire paginée virtuelle. Elle permet de faire fonctionner un ensemble de programmes
dont la taille est supérieure à celle de la mémoire physique.
• Les communications
Les éléments ci-dessus sont en grande partie tirés de :
http://www-int.impmc.upmc.fr/impmc/Enseignement/ye/informatique/systemes/chap1/13.html
L’évolution des systèmes d’exploitation au cours des dernières décennies ont connu plusieurs étapes
de leurs évolution. Des machines sans SE on est arrivé actuellement aux ordinateurs avec les
systèmes distribués.
IV. Structure d’un SE
Dans cette section nous allons détailler la structure interne d’un système d’exploitation. Plusieurs
approches d’implémentation des SE existent, nous allons donner un aperçu sur quelques-uns. Il
s’agit notamment des systèmes monolithiques, des systèmes en couche, des machines virtuelles, des
exonoyaux et des systèmes client-serveur.
1. Système monolithique
Le SE est une structure hiérarchique écrit comme un ensemble de procédures dont chacune peut
appeler n’importe quelle autre en cas de besoin. La structure de base suggérée par cette organisation
est la suivante :
• un programme principal qui invoque la procédure de service ;
• un ensemble de procédures de services qui gèrent les appels système ;
• un ensemble de procédures utilitaires auxiliaires des procédures
2. Les systèmes en couche
L’organisation d’un système en une série de couches est une généralisation de la structure
précédente. Le système était composé par une série de couches hiérarchiques.
• La couche 0 fournissait le service de multiprogrammation CPU.
3
Université Virtuelle de Tunis Systèmes d’exploitation des ordinateurs
• La couche 1 était en charge de la gestion de la mémoire et des tampons
• La couche 2 se chargeait de la communication inter-processus et console
• La couche 3 était en charge des entrées sorties
• La couche 4 contenait les programmes utilisateurs
• La couche 5 était le processus opérateur.
3. Machines virtuelles
La plus part du temps, les utilisateurs des ordinateurs sont assis devant leur PC (unité centrale + les
différents périphériques). Cependant, dans d’autres cas, les utilisateurs sont en face d’un terminal
connecté à un mainframe ou ordinateur connecté à d’autres ordinateurs en réseau.
Dans le premier cas, le système est conçu de telle sorte qu’un seul utilisateur monopolise toutes les
ressources. Ainsi l’objectif de tels systèmes est l’efficacité dans l’accomplissement des tâches
soumises par l’utilisateur. Ces systèmes sont donc conçus de telle sorte qu’elles soient faciles à
utiliser avec pour seule considération les performances du système, sans se soucier de l’utilisation
des ressources.Dans le second cas (utilisation d’un terminal), la même ressource peut être demandée
par plusieurs utilisateurs chacun assis devant son propre terminal.
Dans de tels cas, la conception de ces SE met un accès particulier sur l’accès aux ressources. Ils
doivent garantir la disponibilité de ressources et un partage équitable entre les requérants.
En dernier lieu, on distingue de systèmes où l’utilisateur possède des ressources dédiées (utilisation
d’un ordinateur personnel) mais comportant des ressources partagées (serveur de fichiers, serveur
d’impression, etc.).
Dans ce cas, la conception de tels SE doit chercher un compromis entre la gestion des ressources et
l’utilisation individuelle de la machine.
L’ensemble de ces situations et différentes exigences des utilisateurs, nous montre qu’un SE est un
système conçu de telle sorte qu’il garantit une facilité d’utilisation, une disponibilité et un partage
des ressources dans un environnement où les utilisateurs ont besoins et exigences différents.
4. Les exonoyaux
C’est un système qui donne à chaque utilisateur un clone de l’ordinateur réel mais seulement
pourvu d’un sous ensemble de ses ressources. L’exonoyau est la couche la plus basse ayant pour
4
Université Virtuelle de Tunis Systèmes d’exploitation des ordinateurs
rôle d’allouer des ressources pour les machines virtuelles et de vérifier les tentatives d’accès à ces
dernières.
5. Le modèle client-serveur
C’est la tendance actuelle des SE. Elle consiste à implémenter la plus grande partie du SE sous
forme de processus utilisateur. La demande d’un service passe par l’envoie du service demandeur
(le client) d’une requête au service pourvoyeur (serveur) qui rend le service et renvoie le résultat.
Les différents modèles des SE reposent sur une architecture bien définie. La première approche était
la structure monolithique. Cette approche a été améliorée passant de la structure en couche, a été
considérablement améliorée pour arriver maintenant à la structure actuelle qui est le système client-
serveur
V. Concurrence, compatibilité et interopérabilité
Pour être compatibles, deux systèmes d'exploitation doivent avoir des points communs, notamment
sur l'interface de programmation.
La compatibilité et l'interopérabilité entre les systèmes d'exploitation est assurée par les éditeurs.
Le système d'exploitation Unix, créé en 1969 a servi de source d'inspiration pour toute une famille
de systèmes d'exploitation. Le jeu de la concurrence, très vive dans les années 1980, a amené les
différents membres de la famille Unix à se distancier, et perdre la compatibilité l'un avec l'autre.
Des organismes de normalisation tels que le Open Group se sont penchés sur le problème et ont
édictés des normes qui garantissent la compatibilité à travers toute la famille Unix.
Entre 1995 et 2007, Microsoft, éditeur de la suite de systèmes d'exploitation a été l'objet de
plusieurs procès pour des pratiques anticoncurrentielles qui nuisent à la concurrence et à
l'interopérabilité. La société a été condamnée par le département de la justice des États-Unis pour
violation du Sherman Antitrust Act ainsi que par la Commission Européenne pour violation des
traités relatifs à la concurrence dans l'Union Européenne.
La popularisation d'Internet dans les années 1990 a contribué à améliorer l'interopérabilité entre les
systèmes d'exploitation.
VI. Résumé :
Les principes et objectifs des SE permet de considérer un SE sous trois angles:
1. une machine virtuelle:
5
Université Virtuelle de Tunis Systèmes d’exploitation des ordinateurs
• intermédiaire entre l’utilisateur et la partie matérielle (agit comme machine virtuelle);
• cache à l’utilisateur les complexités matérielles;
• fournit à l’utilisateur une interface conviviale.
2. Un gestionnaire des ressources
• Assure une gestion des ressources en garantissant leur disponibilité et leur partage;
• Améliore l’utilisation des ressources.
3. Logiciel évolutif
Évolue pour s’adapter aux changements:
• nouveaux matériels.
• besoin de nouveaux services;
• correction des erreurs latentes