Vous êtes sur la page 1sur 7

Code (réservé à l’admin)

Nom & Prénom : …………………………………………………..

Num CIN : ………………………………………………………….

Systèmes d’Exploitation - Examen Principal


Code (réservé à l’admin)
Filière : GL2 Année Univ. : 2016/2017
Semestre : 1 Durée : 1h30
Documents : Non autorisés Enseignant : Mme Lilia Sfaxi
Nb de Pages : 7

EXERCICE 1 : Synchronisation (5pts)


Vous devez écrire une procédure appelée MonTour(i) qui sera appelée par N processus, ou N est
une constante connue. L’argument pour MonTour est un entier entre 0 et N-1 indiquant un
identifiant unique du processus appelé.
Le résultat de l’appel de MonTour par un processus Pi est le suivant :
(1) Si le dernier processus à s’être exécuté est Pi-1, MonTour va imprimer « c’est le tour du
processus i »
(2) Sinon, Pi est bloqué jusqu’à ce que Pi-1 exécute MonTour.

Le comportement souhaité est que les processus affichent à l’infini : « c’est le tour du processus
0 », « c’est le tour du processus 1 »,…, « c’est le tour du processus N-1 », « c’est le tour du
processus 0 »,…

Compléter l’implémentation de MonTour(i). Le code manquant peut être 0, 1 ou plusieurs lignes


de code. La synchronisation sera basée sur les sémaphores, que vous devez penser à initialiser.

Initialisation
……………………………………………………………
……………………………………………………………
…………………………………………………………….
MonTour (int i){
………………………………………………………
………………………………………………………
………………………………………………………
print (“c’est le tour du processus “+i);
………………………………………………………
………………………………………………………
………………………………………………………
}

1
Code (réservé à l’admin)
Nom & Prénom : …………………………………………………..

Num CIN : ………………………………………………………….

EXERCICE 2 : Ordonnancement et Pagination (9pts=2+3+1+1+2)

Soient 3 processus, T1, T2 et T3, ayant les séquences d’exécution suivantes :

Processus Temps d’arrivée Séquence d’exécution

T1 0 5 CPU – 3 ES – 7 CPU

T2 2 5 CPU – 4 ES – 1 CPU

T3 2 6 CPU

1. Donner le diagramme de Gantt relatif à ce scénario, sachant que le système utilise un


algorithme d’ordonnancement tourniquet avec un quantum = 2, et qui respecte les
hypothèses suivantes :
a. Les processus arrivant à la file d’attente prêt au même moment sont classés par
ordre alphanumérique.
b. Chaque processus exécute sa propre entrée sortie, indépendamment des autres.

FA

CPU

0 5 10 15 20 25

2. Le système utilise le mécanisme de pagination pour gérer sa mémoire centrale. Les


processus T1, T2 et T3 sont divisés en pages de la manière suivante :

P10 P20
P30
T1 : T2 : T3 :
P21
P11
P31
P22
P12
P23

2
Code (réservé à l’admin)
Nom & Prénom : …………………………………………………..

Num CIN : ………………………………………………………….

La RAM est divisée en quatre cadres. Tout processus doit charger la page qui contient
l’instruction à exécuter dans la RAM avant de pouvoir l’exécuter. On supposera que les
temps de chargement/déchargement et les temps de commutation de contexte sont négligeables.

Il est alors important de savoir quelles pages sont appelées pendant l’exécution. Pour cela, les
séquences d’exécution précédentes sont ajustées pour représenter les différentes pages appelées,
de la manière suivante :

Processus Temps d’arrivée Séquence d’exécution

T1 0 5 CPU (3 P10, 2 P12) – 3 ES – 7 CPU (5 P10, 2 P11)

T2 2 5 CPU (2 P20, 1 P23, 2 P20) – 4 ES – 1 CPU ( 1 P20)

T3 2 6 CPU (1 P30, 3 P31, 2 P30)

5 CPU (3 P10, 2 P12) veut dire que le processus T1 exécute 5 unités de temps sur le processeur,
où les 3 premières utilisent la page P10 et les deux suivantes la page P12.

Représenter le diagramme de Gantt et les états de la mémoire aux différents instants en


considérant les contraintes suivantes :
a. Les hypothèses de la question 1. sont conservées
b. Un processus entre dans la file "prêt" uniquement si sa première page est chargée en
mémoire
c. Le remplacement de page est fait suivant l’algorithme LRU
d. Une fois le processus dans la file prêt, il ne peut exécuter une suite d’instructions que si la
page associée est chargée dans la RAM
e. Une page n’est enlevée de la RAM que si un algorithme de remplacement de page est
lancé ou quand son processus a terminé entièrement son exécution.

3
Code (réservé à l’admin)
Nom & Prénom : …………………………………………………..

Num CIN : ………………………………………………………….

FA

CPU

0 5 10 15 20 25

t=………… t=………… t=………… t=………… t=…………

t=………… t=………… t=………… t=………… t=…………

t=………… t=………… t=………… t=………… t=…………

4
Code (réservé à l’admin)
Nom & Prénom : …………………………………………………..

Num CIN : ………………………………………………………….

3. Quel est le nombre de défauts de page ?

………………………………………………………………………………………………………
4. Est-ce un nombre raisonnable ? Quelle méthode nous permet d’estimer cela?

………………………………………………………………………………………………………

………………………………………………………………………………………………………
5. Donner l’état des tables de page à l’instant 16.01

EXERCICE 3 : Gestion des Fichiers (6pts=2.5+2+0.5+1)


Soient les fichiers F1, F2 et F3, répartis respectivement en 6, 5 et 5 blocs, comme suit :

B11
B21 B31
B12
F1 : F2 : B22 F3 : B32
B13
B23 B33
B14
B24 B34
B15
B25 B35
B16

5
Code (réservé à l’admin)
Nom & Prénom : …………………………………………………..

Num CIN : ………………………………………………………….

Les blocs de ces trois fichiers sont répartis sur le disque comme suit1 :

0 3 6 9 12 15 18 21 24 27
B23 B22 B14 B12 B16
1 4 7 10 13 16 19 22 25 28
B11 B21 B32 B13 B24 B35
2 5 8 11 14 17 20 23 26 29
B33 B34 B15 B25 B31

Ces trois fichiers sont sauvegardés selon l’arborescence suivante (R1 et R2 étant des répertoires):
R1
|_ F1
|_ F2
|_ R2
|_ F3

Le système de fichiers utilise l’allocation non-contiguë indexée simple. Les blocs d’index des
structures R1, R2, F1, F2 et F3 sont respectivement les blocs physiques 21, 10, 25, 26, 1.
1. Donner le contenu des blocs d’index de chacun de ces fichiers et répertoires (négliger la
partie métadonnées).

R1 R2 F1 F2 F3

1
le nombre de blocs total du disque représentés dans la figure n’est pas significatif

6
Code (réservé à l’admin)
Nom & Prénom : …………………………………………………..

Num CIN : ………………………………………………………….

2. En sachant que :
• Les blocs de données et spéciaux ont la même taille = 32 octets
• La taille du disque = 2 Ko
• La taille d’une adresse = 4 octets
• La taille des métadonnées d’un fichier est négligeable

a. Donner la taille maximale d’un fichier

………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
b. Donner la structure représentant les blocs libres dans le cas :
i. D’un vecteur de bits

………………………………………………………………………………………………………
ii. D’une liste chaînée

Vous aimerez peut-être aussi