Beruflich Dokumente
Kultur Dokumente
TECHNIQUE
Prof. N. ZIDANE
e. Processus
Entité dynamique associée à la suite des actions réalisées par un programme. Le processus est
l'image de l'état du processeur et de la mémoire au cours de l'exécution d'un programme.
Un processus est un programme en cours d’exécution auquel est associé un environnement
processeur (CO, PSW, RSP, registres généraux) et un environnement mémoire appelés
contexte du processus.
Un processus est une abstraction de données définies par 2 parties : un état et un
comportement. Il est l’instance dynamique d’un programme et incarne le fil d’exécution de
celui-ci dans un espace d'adressage protégé (ensemble des instructions et des données
accessibles en mémoire).
f. Processus léger (Thread)
Un processus léger (thread) est par nomination plus léger à gérer et sa gestion peut être
personnalisée.
La commutation de contexte est plus simple entre processus légers.
États uniques pour chaque processus léger :
Identificateur de processus léger ;
Etat des registres ;
Pile ;
Masques de signaux (décrivent à quels signaux le processus léger répond) ;
Priorité ;
Données privées au processus léger.
Ces fonctionnalités peuvent être structurées sous la forme de plusieurs couches superposes
allant de la plus proche du matériel vers la plus proche de l'utilisateur.
3. Les instructions, lesquelles ne devraient être autorisées qu’en mode
noyau sont :
a. Désarmer toutes les interruptions.
c. Ecrire l’horloge donnant la date.
d. Changer la carte de l’espace d’adressage
Ces choix doivent être limitées au mode noyau.
2 – Ordonnancement
2-1 - Politiques d’ordonnancement
1. Nous considérons 5 processus numérotés de P1 à P5 dont les
caractéristiques sont résumées dans le tableau suivant
P1 P2 P3 P4 P5
0 5 10 19 33 34
e. diagramme de Gantt
Nom de la tâche Durée Début Fin Prédécesseurs
P5 1 ut 00 :00 00 :01
P1 5 ut 00 :01 00 :06 5
P2 5 ut 00 :06 00 :11 1
P3 9 ut 00 :11 00 :20 2
P4 14 ut 00 :20 00 :34 3
P1 P2 P3 P4 P5
0 1 6 11 20 34
P1 P2 P3 P4 P5 P1 P2 P3 P4 P3 P4
0 3 6 9 12 13 15 17 20 23 26 34
P1 P2 P3 P4 P5
0 2 8 18 22 34
P1 P4 P2 P3 P5
0 2 6 12 22 34
4+ 10+20+22+34
T ms= =18
5
o d-le temps moyen d’attente
0+4 +10+20+22
T ma= =11.2
5
o e-diagramme de Gantt
P4 P2 P3 P1 P5
0 4 10 20 22 34
P4 P2 P3 P1 P5 P4 P2 P3 P5 P2 P3 P5 P3 P5 P3 P5
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
34
3-2 – Un algorithme
1. L’algorithme du graphe précédent
alors
c[k] :=2
fonction philosopher(i) :
penser()
V(mutex) ; /* pour que les voisins puissent rendre les fourchettes s’ils les avaient*/
P(sempriv[i]) ; /* Si le V est fait, ¸ca continue et il mange. Sinon il attend qu’un voisin le r´eveille en lib´erant les
fourchettes */
manger()
test (i-1) ; /* on regarde si les voisins peuvent manger maintenant que l’on */
v(mutex)
4 – Gestion de la mémoire,
4-1 – Généralités
Que fait le système d’exploitation lors d’une pagination ?
La pagination est une approche pour réduire la fragmentation de la mémoire. L’espace des
adresses logiques d’un processus est ‘paginé’ :
Les pages sont indépendantes en terme d’adressage à l’intérieur de la mémoire et ne sont pas
nécessairement contiguës.
Le SE alloue la mémoire physique chaque fois que la nécessité de loger une page se
présente .
Le SE maintient une liste de toutes les cases disponibles.
La taille des programmes s’exprime en termes de case.
Pour un programme de n cases le SE doit trouver n cases disponibles.
La translation des adresses se fait par l’intermédiaire d’une translation maintenue par le SE
Par contre la fragmentation interne n’est pas résolue.
Bloc 4 6 7 9 4 10 7 12 4 7 11
Case1 4 4 4 4 4 10 10 10 10 10 11
Case2 6 6 6 6 6 6 12 12 12 12
Case3 7 7 7 7 7 7 4 4 4
Case4 9 9 9 9 9 9 7 7
Défaut D D D D D D D D D
LRU
Bloc 4 6 7 9 4 10 7 12 4 7 11
Case1 4 4 4 4 4 4 4 4 4 4 4
Case2 6 6 6 6 10 10 10 10 10 11
Case3 7 7 7 7 7 7 7 7 7
Case4 9 9 9 9 12 12 12 12
Défaut D D D D D D D
2)
FIFO
Accès 3 5 6 8 3 9 6 12 3 6 10
Case1 3 3 3 8 8 8 6 6 6 6 10
Case2 5 5 5 3 3 3 12 12 12 12
Case3 6 6 6 9 9 9 3 3 3
Défaut D D D D D D D D D D
LRU
Accès 3 5 6 8 3 9 6 12 3 6 10
Case1 3 3 3 8 8 8 6 6 6 6 6
Case2 5 5 5 3 3 3 12 12 12 10
Case3 6 6 6 9 9 9 3 3 3
Défaut D D D D D D D D D D