Vous êtes sur la page 1sur 29

Université de Yaoundé 1

Faculté des Sciences


Département d’Informatique

INFO208 – Systèmes d’Exploitations :


Généralités sur les systèmes
d’exploitations

DOMGA KOMGUEM Rodrigue – cours.domga@gmail.com

1/29
Introduction
● Les logiciels peuvent être classés en deux catégories :
➔Les programmes d'application des utilisateurs

➔Les programmes systèmes. Parmi ceux-ci, le système


d'exploitation (SE dans la suite)
● Un SE a ainsi deux objectifs principaux :
➔présentation : Il propose à l'utilisateur une abstraction plus
simple et plus agréable que le matériel : une machine
virtuelle
➔gestion : il ordonne et contrôle l'allocation des processeurs,
des mémoires, etc, entre les programmes qui les utilisent.

2
C’est quoi un SE et pourquoi l’étude
des SE
● Le logiciel le plus important de l’ordinateur
– Gestion des ressources
– Base pour le développement et l'exécution des
programmes d'applications
● Pourquoi étudier les SE?
– Tout programme informatique devant être exécuté sur un
ordinateur est concerné
– Tout programmeur est susceptible de rencontrer les même
problèmes de mise en œuvre dans son propre domaine
– C'est un sujet très intéressant en soi

3
Problématique des SE
● Multiplicité des ressources
● Complexité des composants
● Exemples
– Etilisation ducontrôleur de lecteur de disquette
NEC PD765 : la lecture ou l’écriture prend 13
paramètres et retourne 23 champs
– Partage d’Imprimante: Accès à l’imprimante,
tempon d’impression

4
Fonctions du SE
● De décharger le programmeur d'une tâche de
programmation lourde et fastidieuse, et de lui
permettre de se concentrer sur l'écriture de son
application.
● De protéger le système et ses usagers des
fausses manipulations.
● D'offrir une vue simple, conforme, et cohérente
de la machine et de ses ressources.

5
Fonctions du SE
● De décharger le programmeur d'une tâche de
programmation lourde et fastidieuse, et de lui
permettre de se concentrer sur l'écriture de son
application.
● De protéger le système et ses usagers des
fausses manipulations.
● D'offrir une vue simple, conforme, et cohérente
de la machine et de ses ressources.

6
SE comme machine étendue
● La machine virtuelle fournie à l'utilisateur :
– Une vue uniforme des E/S
– Une mémoire virtuelle et partageable
– La gestion des fichiers et répertoire
– La gestion des droits d'accès, sécurité et des
erreurs
– La gestion des processus qui s'exécutent sur
l'ordinateur et des communications entre ces
processus

7
SE comme gestionnaire des
ressources
● En tant que gestionnaire de ressources, le système
d'exploitation doit permettre :
– D'assurer le bon fonctionnement des ressources et la
gestion du temps (respect des délais
– L'identification de l'usager d'une ressource à tout
instant. Qui utilise la ressource?Quelle processus utilise
le processeur à un instant donné ?
– Le contrôle des accès aux ressources
– Interruption d'une utilisation de ressources, la gestion
des erreurs ainsi que des conflits

8
La place du SE

9
Principe des SE : Processus
● Un processus est un programme qui s'exécute, ainsi que
ses données, sa pile, son compteur ordinal, son pointeur
de pile et les autres contenus de registres nécessaires à
son exécution
● Appels systèmes pour :
– Création d'un processus
– Destruction d'un processus
– Mise en attente, réveil d'un processus
– Suspension et reprise d'un processus, grâce à l'ordonnanceur
de processus (scheduler)
– Demande de mémoire supplémentaire ou restitution de
mémoire inutilisée
– etc 10
Principe des SE : Processus
● Le mot d’état du processeur (PSW): entité
logique unique, utilisée par le SE pour sauvegarder
les informations-clés sur le fonctionnement du
processeur
● Contenu :
– la valeur du compteur ordinal
– des informations sur les interruptions (masquées
ou non)
– le privilège du processeur (mode maître ou
esclave)
– etc.... (format spécifique à un processeur) 11
Principe des SE : Processus

Bloc de Contrôle de Processus (BCP, PCB): c'est l'ensemble des
informations nécessaires à la poursuite de son exécution
● Contenu :
– une copie du PSW au moment de la dernière interruption du
processus
– l'état du processus : prêt à être exécuté, en attente, suspendu, …
– des informations sur les ressources utilisées
– mémoire principale
– temps d'exécution
– périphériques d'E/S en attente
– files d'attente dans lesquelles le processus est inclus, etc…
– et toutes les informations nécessaires pour assurer la reprise du
processus en cas d'interruption
12
Principe des SE : Intérruptions
● Une interruption est une commutation du mot
d'état provoquée par un signal généré par le
matériel (interruption matérielle) ou par le
logiciel (interruption logicielle)

13
Principe des SE : Les ressources
● On appelle ressource tout ce qui est
nécessaire à l'avancement d'un processus :
processeur, mémoire, périphérique, bus,
réseau, compilateur, etc
● Eviter les interblocages
● Définir : Interblocage??

14
Principe des SE : Ordonancement
● On appelle ordonnancement la stratégie
d'attribution des ressources aux processus qui
en font la demande
● Différents critères peuvent être pris en compte :
– temps moyen d'exécution minimal
– temps de réponse borné pour les systèmes
interactifs
– taux d'utilisation élevé de l'UC
– respect de la date d'exécution au plus tard,
pour le temps réel, etc 15
Principe des SE : SGF
● Partie du SE qui masque la gestion du disque
dure ainsi que l’organisation des fichiers sur
disque
● Les SE offrent généralement des mécanismes
(appels systèmes) permettant de créer des
fichiers, de les supprimer, de lire et d'écrire
dans leur contenu
● Les fichiers sont regroupés en répertoires
arborescents;

16
Principe des SE : Appel système
● Interface entre le système d'exploitation et les
programmes d'application (ou leurs
bibliothèque) qui s'exécutent en mode non
privilégié

17
Principe des SE : Appel système
● Interface entre le système d'exploitation et les
programmes d'application (ou leurs
bibliothèque) qui s'exécutent en mode non
privilégié

18
Les processus

19
Le modèle de processus
● Conceptuellement, un processus modélise
l'exécution d'un programme sur un processeur
virtuel disposant :
– d'un compteur ordinal
– d'un jeu de registres
– de la mémoire (virtuelle)
– et bien d'autres éléments

20
Le modèle de processus
● Conceptuellement, un processus modélise
l'exécution d'un programme sur un processeur
virtuel disposant :
– d'un compteur ordinal
– d'un jeu de registres
– de la mémoire (virtuelle)
– et bien d'autres éléments

21
Etats d’un processus

22
Mise en œuvre
● La couche la plus basse
✔ La gestion des processus
✔ La gestion des des interruptions

23/29
Mise en œuvre : Les processus
● Pour implémenter le modèle de processus
✔ Une table des processus jamais “swappé”
● Une entrée par processus
● Dans une entrée, on peut avoir:
✔ Les valeurs de son compteur ordinal, de son pointeur de pile
et des autres registres du processeur
✔ Son numéro de processus, son état, sa priorité, son vecteur
d'interruption et les autres informations nécessiare à la
gestion du processus par le système
✔ Son occupation mémoire.
✔ La liste des fichiers ouverts par lui
✔ etc
24/29
Mise en œuvre : Les processus
● La table peut être énorme :
✔ Deux zones par processus
✔ La première, jamais « swappé », contient des
informations critique dont le système a toujours
besoin
✔ La deuxième, contenu dans l'espace de chaque
processus, « swappable », information à l'état élu
✔ Sous UNIX, ces deux structures s’appellent proc et
user

25/29
Mise en œuvre : Les intérruptions
● Une table appelée vecteur d’interruption
indexée par le type d’intérruption
● Chaque entrée contient l’adresse de la routine
de traitement associée
● Un petit exemple sous Unix
Numéro Gestionnaire
d'intérruption
0 Horloge
1 Disque
2 (Pseudo-)terminaux (tty)
3 Autres périphériques
4 Logiciel (Trap)
5 Autres 26/29
Mise en œuvre : Les intérruptions
● Le Trap est une interruption classique, à la
différence qu'elle n'est pas générée par un
périphérique externe, mais par une instruction
comme le INT 21 du DOS
● Des numéros d'interruption différents sont
couramment affectés aux différents
périphériques du système

27/29
Mise en œuvre : Les intérruptions
● La prise en compte :
✔ Le processeur sauvegarde la valeur de son
compteur ordinal dans la pile courante
✔ La routine de traitement de l'interruption, écrite en
langage machine, sauvegarde les valeurs des
registres du processeur dans la pile courante
✔ Au retour de la procédure de gestion, la routine de
traitement restore les registres du processeur

28/29
Mise en œuvre : Les intérruptions
● La prise en compte :
✔ Le processeur sauvegarde la valeur de son
compteur ordinal dans la pile courante
✔ La routine de traitement de l'interruption, écrite en
langage machine, sauvegarde les valeurs des
registres du processeur dans la pile courante
✔ Au retour de la procédure de gestion, la routine de
traitement restore les registres du processeur

29/29

Vous aimerez peut-être aussi