Vous êtes sur la page 1sur 21

Architecture des Systèmes

d'Exploitaion
Généralités
Système d’exploitaion
Déiniion

• Un système d’exploitaion est un ensemble de programmes


permetant de simpliier l’uilisaion de l’ordinateur et faciliter la
programmaion des applicaions uilisateur.

• C’est une interface ou intermédiaire entre l’uilisateur et l’ordinateur.


Système d’exploitaion
• Gère et contrôle les composants de l’ordinateur.
• Fournit une base (machine virtuelle) sur laquelle seront construits les
programmes d’applicaion.

But :
• Développer des applicaions sans se soucier des détails de
foncionnement et de gesion du matériel, ou des interacions entre
les applicaions.
Système d’exploitaion
Système d’exploitaion
• Gesion de périphériques
• Gesion de la mémoire
• Gesion de processeurs
• Gesion de processus, ils (threads) ou tâches
• Gesion de ichiers
• Protecion et détecion d’erreurs
Concepts de base
• Processus: un programme en cours d’exécuion, composé de: code +
données + piles d’exécuion, et de diférents registres (ex. compteur
ordinal) caractérisant son état.
• Fichiers: ensemble de blocs de données stockés sur le disque.
• Mémoires virtuelles: espaces d’adressage virtuels des processus
(créés par les compilateurs) de taille pouvant excéder celle de la
mémoire physique.
• Disposiifs d'entrée-sorie: toute interacion avec le monde extérieur
(clavier, souris, réseau).
Interface avec le matériel
• Chaque composant (processeur, mémoire et périphérique) de
l’ordinateur a son propre code (câblé ou logiciel) qui assure son
foncionnement et les interacions avec les autres.

• Le système d’exploitaion gère et coordonne l’ensemble de ces


composants notamment au moyen de lectures et d'écritures sur les
bus, et d’interrupions.
Interface avec le matériel
Les interrupions permetent au système d’exploitaion de reprendre le
contrôle:
Interrupions matérielles:
• Horloges (pour gérer l’allocaion des processeurs)
• Périphériques (pour signaler la in d’E/S)
Interrupions logicielles:
• Erreurs arithméiques (division par zéro)
• Données non disponibles en mémoire (défaut de page)
• Appels système (invocaion du système d’exploitaion)
Interacions uilisateur/système
• Pour un uilisateur, le système d’exploitaion apparaît comme un ensemble de procédures complexes
visant à abstraire les détails de foncionnement et de gesion du matériel.

• Les appels système peuvent être invoqués via un interpréteur de commandes, une interface
graphique ou des uilitaires.

• L’interpréteur de commandes (Interface uilisateur/système) :


– est lancé dès la connexion au système ;
– invite l’uilisateur à introduire une commande ;
– récupère puis exécute la commande par combinaison d’appels système et d’ouils (compilateurs,
éditeurs de lien,…).
– aiche les résultats ou les erreurs puis se met en atente de la commande suivante.
Interacions uilisateur/système : UNIX/Linux
Appels système via un interpréteur de
commandes
• Les interpréteurs de commandes Unix/Linux (shells) permetent une
composiion séquenielle ou parallèle de commandes avec redirecion
des entrées/sories des commandes.
Appels système
• En général, les processeurs ont deux modes de foncionnement :
– le mode superviseur (noyau, privilégié ou maître): pour le système
d’exploitaion, où toutes les instrucions sont autorisées.
– le mode uilisateur (esclave): pour les programmes des uilisateurs et les
uilitaires, où certaines instrucions ne sont pas permises.
• Les processeurs sont dotés d’un bit de mode.
• Ces modes de foncionnement assurent la protecion du système d’exploitaion
contre les intrusions et les erreurs.
• Ce n’était pas le cas des systèmes mono-uilisateur (MS-DOS, MacOS) qui
n'avaient qu'un seul mode de foncionnement (uilisateur).
Appels système
• Un appel système consiste en une interrupion logicielle qui a pour
rôle d’aciver le système d’exploitaion:
– changer le mode d’exécuion pour passer du mode uilisateur au
mode maître;
– récupérer les paramètres et vériier la validité de l’appel;
– lancer l’exécuion de la foncion demandée;
– récupérer la (les) valeur(s) de retour;
– retourner au programme appelant avec retour au mode uilisateur.
Appels système : gesion de processus
• Les appels système permetent notamment:
– la créaion,
– la communicaion interprocessus,
– la synchronisaion,
– l’arrêt des processus.
Appels système : gesion de processus
• Un processus peut créer un ou plusieurs processus enfants qui, à leur
tour, peuvent créer des processus enfants (structure arborescente).

• Un processus peut être pariionné en plusieurs ils d'exécuion


(threads) concurrents partageant un même environnement
d’exécuion.

• Les ils d'exécuion sont un moyen de rainer et de diviser le travail


normalement associé à un processus.
Appels système : communicaion
interprocessus
• Segments de mémoire partagés
• Fichiers
• Signaux
• Messages (pipe)
Appels système : synchronisaion de processus
• Éviter l’accès simultané lecture/écriture ou écriture/écriture à une
même donnée.
Appels système : problème d’interblocage
• Un ensemble de processus est dans une situaion d'interblocage si chaque
processus atend un événement que seul un autre processus de l'ensemble
peut provoquer. (L'événement signiie ici acquisiion ou libéraion de
ressource).
• On considère qu'un système est consitué d'un nombre ini de ressources
devant être distribué parmi un certain nombre de processus concurrents.
• Les ressources sont groupées en classes (types : Imprimantes, mémoires,
registres, ichiers,...).
• Chaque classe de ressources comporte un nombre ini d'exemplaires (copies
ideniques).
Appels système : problème d’interblocage
• Pour acquérir une ressource chaque processus suit le protocole suivant :
Demander (Ri)
<Uilisaion>
Liberer (Ri)
• Demander() et Liberer() sont généralement des appels systèmes (Open et Close
File, Request et release Device, Allocate et Free Memory).
• Le système doit suivre l'état des ressources (libre, allouée) et décider (suivant une
poliique) a qui allouer une ressource libre.
• Si la ressource est occupée, le processus demandeur est mis en atente de
l'événement «libéraion de ressource».
Appels système : problème d’interblocage
• Exemple :
On considère un système avec :
• Deux périphériques non partageables :
- Périph1 (exp : imprimante)
- Périph2 (exp : ichier ouvert en écriture)
• Deux processus P1 et P2 :
Appels système : problème d’interblocage
• Exemple : Exécuion concurrente

Vous aimerez peut-être aussi