Vous êtes sur la page 1sur 2

EXAMEN

Semestre : 1

Session : Principale

Module : Systèmes d’exploitation avancés


Enseignants: Hassen JEDIDI & Faouzi Maamar.
Classes : 2C info1 & 2C info3
Documents autorisés  : OUI NON Nombre de pages : 2
Date : 27/12/2010 Heure 18H30 Durée : 1H30

Exercice 1 (8 points)
L’ordonnancement EDF (Earliest Deadline First) est un algorithme d’ordonnancement temps
réel de processus. A chaque fois qu’un processus demande du temps CPU, il doit préciser une
échéance (une date limite >0). Le processus doit avoir obtenu son temps CPU avant d’atteindre
la date limite. L’ordonnanceur vise à satisfaire les demandes avant leurs échéances. Pour se faire,
il gère une liste des processus prêts, classés par ordre croissant des échéances. L’algorithme
exécute le premier processus de la liste qui correspond à celui dont l’échéance est la plus proche.

Considérez un système monoprocesseur comprend 5 processus A, B, C, D, E, qui vont être


activés à leur date de déclenchement (à sa date de déclenchement, un processus est mis alors
dans la file des processus prêts) pour demander l’unité centrale pour une durée d’exécution. À
chaque processus est associée une date d’échéance, avant laquelle il doit se terminer, sinon il y a
une faute temporelle. Les temps de commutation de contexte sont considérés comme
négligeables.

Donner l’assignation pour chaque processus et calculer la date de fin d’exécution selon la
nature de l’ordonnancement du processeur.

1. Selon la politique de l’ancienneté (FCFS)


2. Selon la politique du tourniquet avec un quantum de 2. Quand un processus a une
date de déclenchement qui coïncide avec un quantum (cas de C et E), on suppose
qu’il est déclenché juste avant le quantum et qu’il est donc déjà dans la file des
processus prêts au moment du quantum.
3. Selon un ordonnancement par échéance EDF (« Earliest deadline »). Si deux
processus ont la même échéance, on prend le plus anciennement déclenché en premier
(A avant C). Ne pas oublier que les dates de déclenchement ne sont pas toutes les
mêmes.

1
Exercice 2 (4 points)
Soit un système utilisant la technique de l'allocation contiguë basée sur des partitions
variables. La taille de la mémoire centrale est de 1000 blocs.

Soient les demandes d'allocation et de libération suivantes

-250, -200, -100, -150, +250, -300, +100, +300, -50, -100, -200 et -100.

On suppose que le signe '-' indique une allocation tandis que le signe '+' désigne une libération.

On suppose que la mémoire centrale est initialement libre. Comment le système va-t-il
traiter ces demandes d'allocation/libération selon les stratégies de placement first fit, best fit et
Worst fit.

Exercice 4 (2 points)
Sur un système de pagination simple de 224 octets de mémoire physiques, 256 pages
d’espace d’adressage logique et une taille de pages de 210 octets.
1. Combien de bits se trouvent dans une adresse logique ?
2. Combien d’octets se trouvent dans le cadre de page ?

Exercice 4 (6 points)

Trois processus concurrents P1, P2 et P3 exécutent chacun le programme suivant :

Pi () // i = 1,2,3
{
int n=0;
while(true)
printf(“cycle %d de %d“, n++, i);
}

Synchronisez les cycles des processus à l’aide de sémaphores de manière à ce que :


 Chaque cycle de P1 s’exécute en concurrence avec un cycle de P2.
 Le processus P3 exécute un cycle, lorsque P1 et P2 terminent tous les deux l’exécution
d’un cycle.
 Lorsque P3 termine un cycle, les processus P1 et P2 entament chacun un nouveau cycle
et ainsi de suite…

Bon Travail

Vous aimerez peut-être aussi