Académique Documents
Professionnel Documents
Culture Documents
Systèmes d’Exploitation 1
Série TD N°1
Ordonnancement des processus (1)
Questions de cours :
1) Quel est le rôle d’un système d’exploitation ? Les interpréteurs de commandes et les compilateurs
font‐ils parties du système d’exploitation ?
4) Dans le système UNIX, les véritables appels système sont effectués à partir
5) Pourquoi le partage de données pose des problèmes dans un système multiprogrammé en temps
partagé ? Le système UNIX permet‐il de contrôler les accès aux données partagées ? Qu’est‐ce
qu’une section critique ?
Exercice :
On considère 4 programmes P1, P2, P3 et P4 dont le comportement est définit comme suit :
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°1
Ordonnancement des processus (1)
Questions de cours :
1) Quel est le rôle d’un système d’exploitation ? Les interpréteurs de commandes et les compilateurs
font‐ils parties du système d’exploitation ?
Il gère et contrôle le matériel et offre aux utilisateurs une machine virtuelle plus simple d’emploi que
la machine réelle (appels systèmes). Non, les interpréteurs et les compilateurs ne font pas partie du
système d’exploitation.
L’ordonnanceur gère l’allocation du processeur aux différents processus. L’ordonnanceur d’UNIX est
un ordonnanceur à deux niveaux, à priorité qui ordonnance les processus de même priorité selon
l’algorithme du tourniquet.
4) Dans le système UNIX, les véritables appels système sont effectués à partir
A partir de la bibliothèque standard des appels système (instruction TRAP). Ils sont exécutés en mode
superviseur (Leurs codes constituent le système d’exploitation).
5) Pourquoi le partage de données pose des problèmes dans un système multiprogrammé en temps
partagé ? Le système UNIX permet‐il de contrôler les accès aux données partagées ? Qu’est‐ce
qu’une section critique ?
Un autre processus peut accéder aux données partagées avant qu’un processus n’est fini de les
utiliser (modifier). Oui, par exemple les sémaphores. Une suite d’instructions qui accèdent à des
objets partagés avec d’autres processus.
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice :
On considère 4 programmes P1, P2, P3 et P4 dont le comportement est définit comme suit :
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Temps d’exécution :
P1 : 90 ms
P2 : 120 ms
P3 : 50 ms
P4 : 80 ms
Temps d’attente
P1 : 330 – 90 = 240
P2 : 340 – 120 = 220
P3 : 310 – 50 = 260
P4 : 190 – 80 = 110
Page 3
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°2
Ordonnancement des processus (2)
Exercice 1 :
Cinq travaux A, B, C, D et E arrivent pratiquement en même temps dans un centre de calcul.
Leur temps d’exécution respectif est estimé à 10, 6, 2, 4 et 8 secondes.
Tracez le digramme de Gantt et déterminez le temps moyen de rotation pour chacun des
algorithmes d’ordonnancement suivants. Ne tenez pas compte du temps perdu lors de la
commutation des processus.
• Premier arrivé, premier servi FCFS (exécution dans l’ordre 10, 6, 2, 4, 8) ;
• Plus court d’abord SJF ;
• Tourniquet (quantum q = 4 s).
Exercice 2 :
On considère l’ensemble des processus suivants :
B- On voudrait que la priorité des processus soit dynamique au cours du temps. Ainsi, pour
calculer la priorité d’un processus, on utilise la formule suivante :
Remarque : Lors des calculs, on arrondira suivant l’exemple suivant : 3.5 ou 3.6 -> 4, 3.1 ou
3.4 -> 3.
1. Donnez le diagramme de Gantt sachant que la priorité est recalculée toutes les 5 minutes.
2. Calculez le temps d’attente moyen ainsi que le temps de rotation moyen.
3. Comparez les résultats obtenus par rapport à ceux obtenus avec l’algorithme de priorité
classique.
Exercice 3 :
On considère une architecture monoprocesseur sur laquelle on désire exécuter un ensemble de
4 programmes dont le comportement est défini comme suit :
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
On considère que l’on dispose d’un seul canal simple pour gérer un disque, et que l’ordre de
services des requêtes pour ce disque se fait selon une politique FCFS.
On considère que l’ordonnancement sur le processeur se fait selon une stratégie SRT.
1. Remplissez le diagramme de Gantt ci-dessous.
2. Calculez le nombre de commutations de contexte.
3. Calculez les :
a. Temps d’attente du processeur pour chaque programme ;
b. Temps d’exécution total de chaque programme.
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice 4 :
On considère 4 processus, A, B, C, D. On suppose que l’exécution des processus nécessite :
• Pour A : 7 unités de temps CPU, 3 unités de temps d'E/S et 5 unités de temps CPU.
• Pour B : 6 unités de temps CPU, 4 unités de temps d’E/S, 4 unités de temps CPU.
• Pour C : 5 unités de temps CPU.
• Pour D : 1 unité de temps CPU, 4 unités de temps d’E/S et 2 unités de temps CPU.
On suppose que :
• A se présente en premier, à l’instant 0,
• B se présente à l’instant 1,
• C se présente à l’instant 9,
• D se présente à l’instant 12.
Montrez comment les 4 processus vont utiliser le processeur dans chacun des cas suivants :
3) Les trois processus utilisent le même périphérique d'E/S dont la file d'attente est gérée par
l’algorithme FCFS. L’ordonnanceur du processeur utilise l'algorithme du tourniquet, avec un
quantum de 5. Le temps de commutation est supposé égal à 0.
Exercice 5 :
On considère trois (3) processus P1, P2, P3 dont les durées d’exécution sont respectivement 6,
4 et 8 unités de temps.
On fait l’hypothèse suivante : après 1 unité de temps d’exécution, le processus P2 crée un
processus fils (qu’on appellera P4) dont la durée d’exécution est de 3 unités de temps. Le
processus P4 après 2 unités de temps d’exécution crée à son tour un nouveau processus fils
P5, dont la durée d’exécution est de 2 unités de temps. On admet qu’un processus ayant
créé un fils doit se bloquer jusqu’à la terminaison de son processus fils.
En supposant que tous les processus sont gérés en utilisant l’ordonnancement «Round-Robin»
avec un quantum égal à 2 unités de temps, dessinez le digramme de Gantt .
Page 3
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Exercice 1 :
A B C D E
0 10 16 18 22 30
C D B E A
0 2 6 12 20 30
Algorithme RR (quantum=4)
TRM = ((10-0)+(14-0)+(24-0)+(28-0)+(30-0)) / 5 = 21,2
A B C D E A B E A
0 4 8 10 14 18 22 24 28 30
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice 2 :
P2 P3 P4 3 P2 P1
0 3 10 28 29 41 51
P2 3 P1 P4 P2 P3 P1 P4 P2 3 P4 2 P4
0 3 5 10 15 20 25 30 35 4041 45 47 51
0 3 5 10 15 20 25 30 35 40 4 45
1
P 2 2 5+10/10 0+5/10= 5+5/10=1 10+5/10 15+5/10=
1 =2 1 =2 2
P 3 3 2+12/15 7+12/15 12+12/15 0+7/15= 5+7/15=1 10+7/15= 15+7/15 0+2/15 0 5+2/15
2 =1 =1 =2 0 1 =1 =0 =0
P 4 0+6/8=1 5+6/8=1 10+6/8=2 15+6/8= 0+1/8=0 5+1/8=1 10+1/8= 15+1/8
3 3 1 =2
P 5 0+13/18= 5+13/18 10+13/18 15+13/18 0+8/18= 5+8/18 1 0+4/18
4 1 =1 =1 =2 0 =1 =0
Hypothèses :
- Au démarrage, les priorités des processus sont égales à leurs priorités statiques (indiquées dans le
tableau).
- Les priorités ne sont calculées que toutes les 5mn. Pour les autres temps, on prend la priorité
précédente.
- Le temps d’attente d’un processus est son temps d’attente depuis sa dernière exécution.
- Si on a le choix entre deux processus de même priorité, on choisit celui qui attend depuis le plus
longtemps.
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice 3 :
P1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
E/S x x x x x x x
Attent x x x x
e
Prêt x x x x x
Actif x x x x x x x x x x x
P2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
E/S x x x x x x x
Attent x x x x x
e
Prêt x x
Actif x x x x x
P3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
E/S x x x x
Attent x x x
e
Prêt
Actif x x x
P4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
E/S x
Attent x x x x x
e
Prêt
Actif x x
Page 3
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice 4 :
1)
A B C A D B D
0 1 7 9 12 13 18 23 24 28 30
2) File d’attente
A B A C B D A B D
0 1 5 9 10 12 15 17 18 19 24 28 30
3)
File d’attente
A B D
12 15 18 22 26
File d’attente
A B A C B D A B D
0 1 5 9 10 12 15 17 18 19 24 28 30
Page 4
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice 5
File d’attente
P1 P2 P3 P1 P4 P3 P1 P5 P3 P4 P3 P2
0 2 3 5 7 9 11 13 15 17 18 20 23
Page 5
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°3
Ordonnancement des processus (3)
Exercice : DS 2009
On considère un système monoprocesseur et les 4 processus P1, P2, P3 et P4 qui effectuent du calcul
et des entrées/sorties avec un disque selon les temps donnés ci‐dessous :
A‐ On considère que l'ordonnancement sur le processeur se fait selon une politique FCFS :
Initialement, l'ordre de soumission des processus est P1, puis P2, puis P3, puis P4. On considère
que l’on dispose d’un seul canal pour gérer un disque, et que l’ordre de services des requêtes
pour ce disque se fait selon une politique FCFS. Donnez le diagramme de Gantt d'exécution des 4
processus P1, P2, P3 et P4 ? Donnez le temps moyen de rotation.
B‐ On considère maintenant que l'ordonnancement sur le processeur se fait selon une politique à
priorité préemptible. On suppose que la priorité (P1) > priorité (P3) > priorité (P2) > priorité (P4).
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
On considère que l’on dispose d’un seul canal pour gérer un disque, et que l’ordre de services
des requêtes pour ce disque se fait selon une politique FCFS. Donnez le diagramme de Gantt
d'exécution des 4 processus P1, P2, P3 et P4 ?
Donnez le temps moyen de rotation.
C‐ On considère toujours que l'ordonnancement sur le processeur se fait selon une politique à
priorité préemptible. On suppose que la priorité (P1) > priorité (P3) > priorité (P2) > priorité (P4).
On considère maintenant que l'ordre de services des requêtes d'E/S pour le disque se fait
également selon la priorité des processus : le processus commençant une E/S est celui de plus
forte priorité parmi ceux en état d'attente du disque. Une opération d'E/S commencée ne peut
pas être préemptée. Donnez le diagramme de Gantt d'exécution des 4 processus P1, P2, P3 et
P4 ? Donnez le temps moyen de rotation.
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Exercice : DS 2009
On considère un système monoprocesseur et les 4 processus P1, P2, P3 et P4 qui effectuent du calcul
et des entrées/sorties avec un disque selon les temps donnés ci‐dessous :
A‐ On considère que l'ordonnancement sur le processeur se fait selon une politique FCFS :
Initialement, l'ordre de soumission des processus est P1, puis P2, puis P3, puis P4. On considère que
l’on dispose d’un seul canal pour gérer un disque, et que l’ordre de services des requêtes pour ce
disque se fait selon une politique FCFS. Donnez le diagramme de Gantt d'exécution des 4 processus
P1, P2, P3 et P4 ? Donnez le temps moyen de traitement (aussi appelé d’exécution, ou de rotation).
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Le temps de traitement de P1 est de 24, celui de P2 est de 25, celui de P3 est de 23 et celui de P4 est
de 16. Le total est 88, soit une moyenne de 22 UT.
B‐ On considère maintenant que l'ordonnancement sur le processeur se fait selon une politique à
priorité préemptible. On suppose que la priorité (P1) > priorité (P3) > priorité (P2) > priorité (P4). On
considère que l’on dispose d’un seul canal pour gérer un disque, et que l’ordre de services des
requêtes pour ce disque se fait selon une politique FCFS. Donnez le diagramme de Gantt d'exécution
des 4 processus P1, P2, P3 et P4 ? Donnez le temps moyen de traitement (aussi appelé d’exécution,
ou de rotation).
Le temps de réponse de P1 est de 17, celui de P2 est de 21, celui de P3 est de 15 et celui de P4 est de
25. Le total est 78, soit une moyenne de 19,5 UT.
C‐ On considère toujours que l'ordonnancement sur le processeur se fait selon une politique à
priorité préemptible On suppose que la priorité (P1) > priorité (P3) > priorité (P2) > priorité (P4). On
considère maintenant que l'ordre de services des requêtes d'E/S pour le disque se fait également
selon la priorité des processus : le processus commençant une E/S est celui de plus forte priorité
parmi ceux en état d'attente du disque. Une opération d'E/S commencée ne peut pas être
préemptée. Donnez le diagramme de Gantt d'exécution des 4 processus P1, P2, P3 et P4 ? Donnez le
temps moyen de rotation.
Le temps de réponse de P1 est de 15, celui de P2 est de 21, celui de P3 est de 16 et celui de P4 est de
25. Le total est 77, soit une moyenne de 19,25 UT.
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°4
Gestion de la mémoire : Allocation de mémoire contiguë
Exercice 1:
Soit une mémoire centrale utilisant la technique d’allocation contiguë par partitionnement
fixe. Cette mémoire est composée de 5 partitions P1, P2, P3, P4 et P5. Ces partitions ont pour
tailles respectives 100, 500, 200, 300 et 600 KO. Soient 4 processus A, B, D de tailles
respectives 212, 417, 112 et 426 KO.
Donner les différents états de la mémoire centrale pour charger les 4 processus A, B, C et D
(dans l’ordre) en utilisant les algorithmes d’allocation suivants :
a- FIRST-FIT
b- BEST-FIT
c- WORST-FIT
d- NEXT-FIT
Exercice 2:
Soit un système d’exploitation, qui utilise l’allocation contiguë par partition variable. On
considère à l’instant T l’état suivant de la mémoire centrale (les zones hachurées sont libres):
A B C D E F
(150Ko) (400Ko) (100Ko) (350Ko) (200Ko) (150Ko)
100Ko 300Ko 200Ko 500Ko 600Ko
A) Représenter l’évolution de la mémoire centrale, en fonction de l’arrivée des processus K,
L, M et O, selon cet ordre: K (200 Ko), L (450 Ko), M (250 Ko) et O (50 Ko) :
1. en utilisant la stratégie d’allocation First Fit
2. en utilisant la stratégie d’allocation Best Fit
B) Nous désirons choisir un moyen de mémorisation des parties libres et parties occupées de
la mémoire, ainsi qu’elle était représentée avant l’arrivée des nouveaux processus.
1. Donner la table de bits correspondant à la répartition précédente, en supposant que
l’unité d’allocation est le 50Ko.
2. Soit une représentation des parties libres/occupées sous la forme d’une liste chaînée,
dont chaque nœud contient un bit d’état (L/O), la taille de la partition, et un pointeur
sur la prochaine partition. Représenter la liste chaînée correspondant à la répartition
précédente (unité d’allocation : 50Ko).
3. Nous désirons charger le processus P (400Ko) dans la mémoire selon la stratégie
d’allocation First Fit.
! !
Page!1!
! !
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice 3:
On considère un système disposant de 16 Ko de mémoire centrale dont 4 Ko sont occupés par
la partie résidente du système d’exploitation.
Nous supposons que :
• La mémoire centrale utilise un partitionnement variable,
• La mémoire centrale utilise une stratégie de placement se basant sur l’algorithme premier
ajustement ou First Fit,
• L’ordonnancement sur la mémoire se fait selon FIFO,
• L’ordonnancement sur la CPU se fait selon l’algorithme du tourniquet (Round Robin) avec
un quantum q = 3ms,
• Chaque processus effectue un calcul suivi d’une E/S en utilisant son propre périphérique,
• Les processus arrivent conformément au tableau suivant :
Processus Instant (t) Taille (Ko) Temps CPU (ms) Durée E/S (ms)
A 0 3 9 2
B 4 5 6 9
C 6 5 4 4
D 8 4 2 6
E 10 1 4 3
F 12 1 5 1
G 16 1 3 2
H 18 3 3 8
Donnez le diagramme de GANT ainsi que les états d'occupation de la mémoire aux
différentes étapes de traitement de ces processus.
! !
Page!2!
! !
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°5
Gestion de la mémoire : Allocation de mémoire non contiguë
Exercice 1:
On dispose d’un espace adressable virtuel 4 Go (adressable sur 32 bits), et d’un espace
physique 32 Mo (adressable sur 25 bits). Une page occupe 1 Ko (déplacement sur 10 bits).
Quelle est la taille de la table des pages (en octet), sachant qu’une case de la table de page
comporte 1 bit de présence et un n° physique de la page ?
Exercice 2:
Soit la table de pages suivante :
0 4
1 6
2 8
3 9
4 12
5 1
Sachant que les pages virtuelles et physiques font 1K octets, quelle est l'adresse mémoire
correspondant à chacune des adresses virtuelles suivantes codées en hexadécimal : 142A et
0AF1
Exercice 3:
On s’intéresse aux systèmes utilisant la pagination
A- Détailler les algorithmes FIFO et LRU.
B- Au cours de son exécution, un programme accède successivement aux pages : 0, 1, 4, 2, 0,
1, 3, 0, 1, 4, 2, 3.
Donner la suite des pages présentes en mémoire ainsi que le nombre de défauts de pages pour
chacun des cas suivant :
B.1- Si on utilise l’algorithme FIFO et sachant que le système alloue à ce programme un
espace de 3 pages.
B.2- Si on utilise l’algorithme LRU et sachant que le système alloue à ce programme un
espace de 3 pages.
B.3- Si on utilise l’algorithme Optimal et sachant que le système alloue à ce programme un
espace de 3 pages.
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice 4:
On dispose d’un système doté d’une pagination à la demande, suivant deux algorithmes A1 et
A2, Au cours de son exécution, un programme accède successivement aux pages 1, 5, 2, 5, 1,
4, 1, 5, 3. Le système alloue à ce programme un espace de trois pages.
Avec l’algorithme A1, on constate que l’on a successivement en mémoire les pages suivantes
1 1 1 1 1 4 4 4 3
5 5 5 5 5 1 1 1
2 2 2 2 2 5 5
Avec l’algorithme A2, on constate que l’on a successivement en mémoire les pages
suivantes :
1 1 1 1 1 1 1 1 1
5 5 5 5 5 5 5 5
2 2 2 4 4 4 3
A.- A votre avis, lequel des deux algorithmes correspondrait à l’algorithme FIFO, et lequel
correspondrait à LRU ? Justifiez votre raisonnement.
B. – Déterminer dans chacun des cas le nombre de défauts de pages.
Exercice 5:
Le système dispose de 4 cases qui sont toutes occupées, le tableau ci-dessous donne, pour
chacune d’elles, la date en microsecondes du chargement de la page qu’elle contient, la date
en microsecondes du dernier accès à cette page et l’état des indicateurs de la case (Read et
Modified).
Case Chargement Accès R M
0 126 279 0 1
1 230 260 1 1
2 120 272 1 1
3 160 280 1 1
En justifiant votre réponse, donner quelle sera la page remplacée, pour chacun des 4
algorithmes de remplacement suivants FIFO, LRU, NRU (seconde chance).
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Correction TD N°5
Gestion de la mémoire : Allocation de mémoire non contiguë
Exercice 1:
On dispose d’un espace adressable virtuel 4 Go (adressable sur 32 bits), et d’un espace
physique 32 Mo (adressable sur 25 bits). Une page occupe 1 Ko (déplacement sur 10 bits).
Quelle est la taille de la table des pages (en octet), sachant qu’une case de la table de page
comporte 1 bit de présence et un n° physique de la page ?
Taille Table de Pages = taille d’une entrée de la page * nombre de pages
- Taille d’une entrée : 1(bit de présence) + nbre de bits nécessaires pour adresser les
cases
o Nombre de cases : 32 Mo / 1 Ko = 225 / 210 = 215
o Nbre de bits nécessaire pour adresser les cases : 15 bits
o taille d’une entrée = 16 bits
- Nombre de pages = 4 Go / 1 Ko = 232/210 = 222
- taille de la table de pages = 2 * 16 = 2 * 2 = 226 = 64 Mo
22 22 4
Exercice 2:
Soit la table de pages suivante :
0 4
1 6
2 8
3 9
4 12
5 1
Sachant que les pages virtuelles et physiques font 1K octets, quelle est l'adresse mémoire
correspondant à chacune des adresses virtuelles suivantes codées en hexadécimal : 142A et
0AF1
1 page = 1Ko = 210 == offset sur 10 bits
142A
0001 0100 0010 1010
1 4 2 A
N° page = 5 offset = 2A
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
0AF1
0000 1010 1111 0001
0 A F 1
Exercice 3:
On s’intéresse aux systèmes utilisant la pagination
A- Détailler les algorithmes FIFO et LRU.
B- Au cours de son exécution, un programme accède successivement aux pages : 0, 1, 4, 2, 0,
1, 3, 0, 1, 4, 2, 3.
Donner la suite des pages présentes en mémoire ainsi que le nombre de défauts de pages pour
chacun des cas suivant :
B.1- Si on utilise l’algorithme FIFO et sachant que le système alloue à ce programme un
espace de 3 pages.
0 0 0 2 2 2 3 3 3 3 3 3
1 1 1 0 0 0 0 0 4 4 4
4 4 4 1 1 1 1 1 2 2
défauts de page = 9
B.2- Si on utilise l’algorithme LRU et sachant que le système alloue à ce programme un
espace de 3 pages.
0 0 0 2 2 2 3 3 3 4 4 4
1 1 1 0 0 0 0 0 0 2 2
4 4 4 1 1 1 1 1 1 3
défauts de page = 9
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice 4:
On dispose d’un système doté d’une pagination à la demande, suivant deux algorithmes A1 et
A2, Au cours de son exécution, un programme accède successivement aux pages 1, 5, 2, 5, 1,
4, 1, 5, 3. Le système alloue à ce programme un espace de trois pages.
Avec l’algorithme A1, on constate que l’on a successivement en mémoire les pages suivantes
1 1 1 1 1 4 4 4 3
5 5 5 5 5 1 1 1
2 2 2 2 2 5 5
Avec l’algorithme A2, on constate que l’on a successivement en mémoire les pages
suivantes :
1 1 1 1 1 1 1 1 1
5 5 5 5 5 5 5 5
2 2 2 4 4 4 3
Page 3
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
A.- A votre avis, lequel des deux algorithmes correspondrait à l’algorithme FIFO, et lequel
correspondrait à LRU ? Justifiez votre raisonnement.
1er : FIFO 2ème : LRU
B. – Déterminer dans chacun des cas le nombre de défauts de pages.
1er : NDF = 7 2ème : NDF = 5
Exercice 5:
Le système dispose de 4 cases qui sont toutes occupées, le tableau ci-dessous donne, pour
chacune d’elles, la date en microsecondes du chargement de la page qu’elle contient, la date
en microsecondes du dernier accès à cette page et l’état des indicateurs de la case (Read et
Modified).
Case Chargement Accès R M
0 126 279 0 1
1 230 260 1 1
2 120 272 1 1
3 160 280 1 1
En justifiant votre réponse, donner quelle sera la page remplacée, pour chacun des 4
algorithmes de remplacement suivants FIFO, LRU, NRU (seconde chance).
FIFO remplacer case 2 car sa date de chargement est inférieures à celles des autres
LRU remplacer case1 car sa date d’accès est inférieure à celles des autres
NRU remplacer case 0 car bit R = 0
Page 4
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°6
Gestion de la mémoire : Allocation de mémoire non contiguë (2)
6. Considérons les deux adresses logiques suivantes exprimées en décimal : 1024 et 65540.
Donner si possible les adresses physiques correspondantes (exprimées en décimal) en
vous basant sur les 10 premières entrées de la table de pages données ci-dessous.
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
5. En considérant les huit premières entrées de la table de page représentée par la figure suivante,
donner les adresses logiques correspondantes aux adresses physiques 33792 et 66048.
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°6
Gestion de la mémoire : Allocation de mémoire non contiguë (2)
6. Considérons les deux adresses logiques suivantes exprimées en décimal : 1024 et 65540.
Donner si possible les adresses physiques correspondantes (exprimées en décimal) en
vous basant sur les 10 premières entrées de la table de pages données ci-dessous.
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
N° de page
déplacement
Exemple1 Exemple2
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Taille d’un bus d’adresses = nb de bits pour coder la mémoire virtuelle = 32 bits
5. En considérant les huit premières entrées de la table de page représentée par la figure suivante,
donner les adresses logiques correspondantes aux adresses physiques 33792 et 66048.
N° de cadre
déplacement
Page 3
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exemple1 Exemple2
n° page = 3 n° page = 2
@ logique = 3*65536 + 33792 = 230400 @ logique = 2*65536 + 512 = 131584
Page 4
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°7
Gestion de la mémoire : Allocation de mémoire non contiguë (3)
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
A[127][0]
Page127 A[127][1]
…
A[127][127]
Si on exécute le programme comme décrit dans l’exercice, et puisque les éléments du tableau
sont appelés en commençant d’abord par les colonnes ensuite par les lignes, les pages seront
appelées dans l’ordre suivant : page0, page1, …, page127, page0, page1, …, page127…
D’où, pour une mémoire physique de taille 128 cases, on aura 128*128 défauts de page.
Pour diminuer le nombre de défauts de page, on propose d’inverser les boucles for du
programme. Ainsi, quand une page est appelée, toutes les données qui sont dessus sont lues en
une fois, et on peut la supprimer sans avoir à la charger de nouveau. Ainsi, les pages sont
appelées dans l’ordre suivant : page0, page1, …, page127. Et le nombre de défaut de page
sera (quel que soit la taille de la mémoire physique) 128 DP.
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice 2: Pagination
1) Pour remplir le tableau suivant, on doit d’abord déterminer le couple (page, offset) pour
chacune des adresses logiques données. Pour cela, on divise l’adresse logique par la taille
d’une page. Le résultat est le numéro de page, et le reste est l’offset.
Ensuite, pour déterminer le couple (cadre, adresse), on doit utiliser l’algorithme FIFO pour
placer les pages dans la mémoire centrale. L’ordonnancement donne le résultat suivant :
4,1 0 3 0
2 200 2 1
3 400 0 2
5 0 5 0
200 2 1
6,7 400 0 2
0 5 0
8 200 3 1
400 0 2
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
0 5 0
200 3 1
9 400 2 2
10 0 0 0
200 3 1
11 400 2 2
0 0 0
12 200 4 1
400 2 2
14 0 0 0
200 4 1
13 400 5 2
15 0 2 0
200 4 1
400 5 2
2)
4,1 0 3 0
2 200 2 1
3 400 0 2
8 0 3 0
5 200 5 1
6,7 400 0 2
0 3 0
11,9 200 2 1
10 400 0 2
12 0 4 0
200 2 1
400 0 2
0 4 0
200 2 1
13 400 5 2
Page 3
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
0 4 0
14 200 0 1
400 5 2
15 0 2 0
200 0 1
400 5 2
3)
4,1 0 3 0
2 200 2 1 3 2 0
3 400 0 2 2 1 1
8 0 3 0
5 200 5 1 3 2 0 5
7,6 400 0 2 3 1 3 1
0 3 0
11,9 200 2 1 3 2 0 5
10 400 0 2 3 3 4 1
12 0 4 0
200 2 1 3 2 0 5 4
400 0 2 3 3 4 1 1
13 0 5 0
15 200 2 1 3 2 0 5 4
14 400 0 2 3 4 5 2 1
Page 4
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
4) Question de réflexion : si les demandes sont mises en attente, alors tous les algorithme
donneraient le même résultat : pour un ordre d’exécution donné, les pages existantes en
mémoire seront exécutées en premier, ensuite elles seront remplacées une à une par les pages
qui attendent dans la file d’attente. Si tous les algorithmes donnent le même résultat, alors il
faut choisir le plus simple, soit l’algorithme FIFO.
5) Pour une taille de page = 300, il faut recalculer les couples (page, offset).
Mémoire Secondaire
Demande
Adresse Page
1 657 2
2 523 1
3 170 0
4 725 2
5 1133 3
6 145 0
7 190 0
8 658 2
9 573 1
10 56 0
11 598 1
12 888 2
13 1134 3
14 170 0
15 472 1
1 0 2 0
2 300 1 1
3 0 0 0
300 1 1
0 0 0
4 300 2 1
5 0 3 0
300 2 1
0 3 0
7,6 300 0 1
8 0 2 0
300 0 1
Page 5
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
0 2 0
9 300 1 1
10 0 0 0
11 300 1 1
12 0 2 0
300 1 1
0 2 0
13 300 3 1
14 0 0 0
300 3 1
0 0 0
15 300 1 1
NDP = 12
6) Si une page a une taille de 10 unités (très petite par rapport à la taille du programme), alors
le programme sera très fragmenté, ce sui résultera en un grand nombre de pages, et donc de
défauts de pages.
Conclusion : La taille d’une page dans une mémoire paginée ne doit être ni trop grande ni
trop petite : il faut choisir une taille qui soit optimale par rapport à la taille des programmes
usuels.
Page 6
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°8
Gestion des Entrées / Sorties
Exercice 1:
Soit un disque de 40 cylindres. Une demande de lecture du cylindre 11 arrive. Pendant
que la recherche est en cours, le pilote du disque reçoit respectivement de nouvelles requêtes
qui concernent les cylindres 1, 36, 16, 34, 9 et 12. Elles sont placées dans la table des requêtes
en attente qui contient la liste chaînée pour les différents cylindres. A la fin de la requête
courante (concernant le cylindre 11), le pilote doit choisir la requête suivante, c’est à dire
1,puis 36, puis 16, et ainsi de suite.
Indiquer pour chacun des algorithmes d’ordonnancement des requêtes suivants quel
est l’ordre des cylindres et quel est le nombre de cylindres parcourus :
1- FCFS
2- SSF
3- Scan (ou l’algorithme de l’ascenseur)
Exercice 2:
A- Soit un disque avec 200 cylindres, où les requêtes sont reçues dans l’ordre suivant :
55, 58, 39, 18, 90, 160, 150, 38, 184
La position de départ du bras est le cylindre 100. Calculer le nombre de cylindres parcourus
quand les algorithmes utilisés sont les suivants :
1- FCFS
2- SSF
3- Scan avec la direction de départ UP.
B- Expliquer brièvement dans quel cas est-ce que les algorithmes précédents donneraient une
meilleure performance :
1- Un processus lit 10,000 blocs avec des adresses de disque consécutives
2- Un processus lit 10,000 blocs avec des adresses de disque aléatoires
3- Un processus crée des processus fils qui lisent 10,000 blocs avec des adresses aléatoires
4- Les processus communiques les uns avec les autres en écrivant et en lisant des blocs sur le
disque.
Page
1