Vous êtes sur la page 1sur 7

Intro Aux Systèmes d’exploitation

I. Intro
Pour qu’un ordinateur soit capable de faire un programme informatique, la
machine doit être en mesure d’effectuer un certain nombre d’opérations
préparatoires afin d’assurer les échanges entre le processeur, la mémoire et les
périphériques. Ces opérations préparatoires sont effectuées par un système
d’exploitation (SE) sans lequel la machine serait complexe pour l’utilisateur. Au
cours de ce chapitre, nous verrons ce qu’est un SE.

II. Notion de Système d’exploitation


A. Système d’exploitation
Un système d’exploitation peut être défini comme un ensemble de programmes
qui contrôle et dirige l’utilisation d’un ordinateur à travers diverses applications.
Le SE est une machine virtuelle plus simple à programmer que la machine réelle. Il
offre une interface de programmation à l’utilisateur qui n’a donc pas besoin de
connaître le fonctionnement réel de la machine. L’utilisateur demande au système
d’effectuer certaines tâches et le système se charge ensuite de dialoguer avec la
machine (le SWAP la mémoire virtuelle du disque dur quand la RAM est
surchargée) pour réaliser les tâches qui lui sont demandées.
Dans cette optique, la machine réelle est en fait cachée sous le système
d’exploitation et ce dernier permet donc un dialogue abstrait entre la machine et
l’utilisateur.
B. Le SE gestionnaire de ressources
Les ressources d’une machine sont tous les composants qui sont utilisés pour
effectuer un travail et qu’un utilisateur de la machine pourrait s’approprier. À ce
titre, tous les périphériques comme la mémoire ou les disques durs sont des
ressources. Les registres du processeur où le temps est passé par le processeur à
faire le calcul sont aussi des ressources.
Le SE est un gestionnaire de ressources cad qu’il contrôle l’accès à toutes les
ressources de la machine et l’attribution de ces ressources aux différents
utilisateurs et la libération de ces ressources quand elles ne sont plus utilisées.
Ce contrôle est capital lorsque le SE permet l’exécution de plusieurs programmes
en même temps ou l’utilisation de la machine par plusieurs utilisateurs à la fois. En
particulier, il doit veiller à ce que l’utilisateur ne puisse pas effacer les fichiers d’un
autre utilisateur ou à ce qu’un programme en cours d’exécution ne détruise pas
les données d’un autre programme stocké en mémoire.
Un autre aspect capital du contrôle des ressources est la gestion des conflits qui
peuvent se produire quand plusieurs programmes souhaitent accéder en même
temps aux mêmes données. Supposons par exemple, qu’un utilisateur exécute
deux programmes chacun d’eux écrivant dans le même fichier. Il y’a de grandes
chances que si aucune précaution n’est prise, le résultat contenu dans les fichiers
ne soient pas celui escompté
C. Mode noyau et mode utilisateur
Les processeurs récents ont au moins deux modes de fonctionnement : un mode
noyau (système ou superviseur) et un mode utilisateur. Ces deux modes sont
utilisés pour permettre aux SE de contrôler l’accès aux ressources de la machine.
En effet, lorsque le processeur est en mode noyau, il peut exécuter toutes les
instructions disponibles et donc modifier ce qu’il veut. En revanche, lorsque le
processeur est en mode utilisateur, certaines instructions lui sont interdites.
Le SE (au moins une partie) d’un ordinateur est généralement exécuté en mode
noyau alors que les autres programmes fonctionnant sur la machine sont exécutés
en mode utilisateur. Ce principe contraint ces programmes à faire appel au SE
pour certaines opérations (en particulier, pour toutes les opérations de
modifications des données) et représente donc une protection fondamentale
située au cœur du système, puisque tous les accès aux données sont
nécessairement contrôlés par le SE.
D. Les appels système
Sur les SE utilisant les modes noyau tout programme utilisateur doit faire
explicitement appel aux services du système d’exploitation pour accéder à
certaines ressources. À ces fins, le SE propose une interface de programmation
cad qu’il permet d’accéder à un certain nombre de fonctionnalités qu’il exécutera
pour l’utilisateur. Les appels systèmes sont des interfaces proposées par le SE
pour accéder aux différentes ressources de la machine. Par exemple, il est
nécessaire de faire appel pour créer un fichier sur le disque dur cela via à un appel
système. Si nous demandons que ces fichiers soient créés dans un répertoire qui
nous est interdit d’accès par exemple un répertoire appartenant à un autre
utilisateur, l’appel système va refuser de créer le fichier.
Le nombre d’appel système proposé varie suivant les SE et pour un même type de
SE. Ces appels reflètent les services que peuvent rendre le SE ; Ils sont
généralement classés en 4 catégories :
- Gestion des processus
- Gestion des fichiers
- Communication et stockage d’informations
- Gestion des périphériques
E. Exécution d’un appel système
Un appel système provoque en fait une interruption logicielle et il suffit alors de
programmer la machine pour que la routine correspondante à l’interruption fasse
partie du SE.
En pratique, il est fréquent que toutes les interruptions aient la même routine
associée. Suivant le type d’interruption (matérielle ou logiciel) et suivant la nature
de l’interruption (erreur, travail terminé etc…) le système décide alors quelle
action il doit entreprendre.
NB : une routine est une entité informatique qui encapsule une portion de code
(une séquence d’instruction) effectuant un traitement spécifique bien identifié
(asservissement, tâche, calcul, etc) relativement indépendant du reste du
programme et qui peut être réutilisé dans le même programme ou dans un autre.
F. Rôles d’un appel système
- Un appel système permet de demander au SE d’effectuer certaines actions
- Un appel système interrompt le programme qu’il exécute
- Un appel système est exécuté en mode noyau même si le programme ayant
démarré son exécution est exécuté en mode utilisateur. L’utilisation des
appels systèmes illustre aussi un autre phénomène qui permet de
développer des SE efficaces et cohérents. Le meilleur pour faire intervenir le
SE est de déclencher une interruption.

III. Structure d’un SE


A. Constitution du SE
Le SE est composé d’un noyau, des bibliothèques, d’un ensemble d’outils système
et de programme d’application.
L’ensemble constitué des bibliothèques, d’outils systèmes et des programmes
d’application est appelé partie externe (utilisateur ou user).
Le noyau (Kernel) est un espace mémoire isolé et protégé dans lequel sont stockés
tous les programmes nécessaires au fonctionnement de la machine depuis sa mise
sous tension jusqu’à son arrêt.
B. Noyau des SE
Le SE d’une machine n’est en pratique pas constitué d’un seul programme. Il se
compose d’au moins deux parties que l’on nomme souvent le noyau (Kernel) qui
est le cœur du système (Core) et les programmes systèmes. Le noyau est exécuté
en mode noyau et il se peut qu’il corresponde à plusieurs processus différents.
Même si le noyau effectue l’essentiel des tâches du SE, ce dernier ne peut se
réduire à son noyau : la plupart des services qu’un utilisateur utilise sur une
machine sont en fait des surcouches du noyau. Les programmes systèmes qui
assurent ce service sont néanmoins exécutés et donc ils doivent faire appel au
noyau comme n’importe quel utilisateur pour accéder aux ressources. Les couches
du SE sont les suivantes :
- Le matériel
- Le noyau
- La couche interface
- Les outils
- Environnement
- Application
C. Le modèle en couches
La relation entre la machine, le SE et les programmes des utilisateurs est toujours
représentée sous forme d’empilement d’un certain nombre de couches aux
frontières bien définies : le SE reliant la machine et l’utilisateur il s’intercale
naturellement entre les couches représentant ces derniers.
En pratique, il est toujours difficile de distinguer où finit le SE et où commence
l’environnement utilisateur. Formulé différemment, il est toujours difficile de dire
si un programme s’exécutant en mode utilisateur fait partie du SE ou pas.
En revanche, la limite entre le noyau et les programmes systèmes est claire. Le
noyau est toujours est toujours exécuté en mode noyau.
L’interface proposée par le noyau est dans l’ensemble des appels système et
comme tout programme s’exécutant en mode utilisateur, les programmes
systèmes utilisent ces appels. Il est donc traditionnel d’intercaler dans notre
modèle à couches des appels systèmes entre le noyau et les programmes
systèmes. De même et pour les mêmes raisons il est traditionnel d’intercaler le jeu
d’instructions entre le matériel et le noyau.
L’objectif du modèle à couches est de s’éloigner de plus en plus des spécificités de
l’ordinateur et de son SE pour s’approcher de plus en plus de l’abstraction
fonctionnelle dont a besoin l’utilisateur.
Sur les systèmes bien conçues, chaque couche s’appuie ainsi sur la couche
précédente pour proposer de nouveaux services et il devient aussi possible par
exemple de transporter le même environnement de travail d’un SE à un autre : il
suffit pour cela que le dessus de la couche situé en dessous soit le même.
Il est donc tout à fait imaginable de retrouver les mêmes outils, le même
environnement et les mêmes applications fonctionnant sur deux SE différents.
Cela suppose que ces systèmes soient bien faits. Sur ce principe, on peut expliquer
pourquoi Word ne fonctionnerait pas sur linux.
D. Les modules du noyau
Le noyau est composé de plusieurs modules qui assurent chacun une
fonctionnalité :
- L’allocateur (dispatcher) : responsable de la sélection des processus à
exécuter.
- Le planificateur (scheduler) : repartit le temps disponible de l’unité de
traitement entre différents processus, sauvegarde l’état lorsque le
processus s’interrompt, indique au CPU le processus suivant.
- Le gestionnaire d’interruption : détermine la source de l’interruption, active
la procédure associée.

IV. Les services d’un SE


Pour terminer ce chapitre qui présente les SE, nous esquissons les différents
travaux que doit effectuer un SE moderne. Ces travaux sont généralement
nommés services. La plupart de ces travaux sont pris en charge par le noyau du
SE :
- La gestion des processus. Elle n’a de sens que sur les machines fonctionnant
en temps partagé. Elle comprend la création et la destruction dynamique de
processus.
- La gestion de la mémoire afin de simplifier la gestion des processus, les SE
modernes travaillent dans un espace mémoire virtuel cad avec les adresses
virtuelles qui doivent être traduites qui correspondre à des adresses
physiques. Cela permet d’allouer à chaque processus y compris au noyau
son propre espace mémoire de telle sorte qu’il a l’illusion d’avoir la machine
pour lui tout seul
- La gestion des entrées sorties : les entrées sorties permettent de faire
transiter les données par l’ordinateur et d’utiliser ces données pour faire
des calculs. Ces données peuvent provenir des périphériques, de processus
présents sur la machine ou des processus provenant d’autres machines (via
le réseau)
- Le système de fichiers : c’est l’élément essentiel des SE modernes. Il permet
d’accéder aux différents périphériques et propose une interface abstraite
pour manipuler les données
- La gestion des communications entre machines. Il est aujourd’hui
impensable de disposer des machines à usage professionnel sans que celles-
ci soient reliées entre eux par un réseau. Par ailleurs, l’utilisation de réseaux
internationaux se répand et le SE doit prendre charge la gestion des
communications par réseau.
V. Conclusion
Ce chapitre a détaillé le rôle des SE, et la liste des services que doivent vendre les
SE. Il est important de retenir les points suivants:
- Un SE est un programme.
- Un SE est une machine virtuelle plus facile à programmer qu’une machine
réelle, à ce titre il facilite l’accès aux ressources de la machine et il permet
de développer des applications portables qui ne sont pas spécifiques à un
ordinateur ou à un système donné.
- Le SE est un gestionnaire de ressources qui attribue les ressources aux
différents utilisateurs et qui empêchent l’accès illicite à celle-ci. À ce titre,
un SE est garant du bon fonctionnement de la machine (fiabilité et stabilité).
- Les appels systèmes sont les interfaces que le SE met à la disposition
des .utilisateurs pour qu’il puisse demander des services, ici le SE assurant le
rôle de gestionnaires ressources et les utilisateurs ne peuvent pas accéder
directement aux ressources de la machine et doivent nécessairement faire
appel aux ressources de la machine.

Vous aimerez peut-être aussi