Академический Документы
Профессиональный Документы
Культура Документы
Dpartement Informatique
me
Filire : 3 LMD (S5)
Examen semestriel
Exercice 1 : La solution au problme du coiffeur endormi suivante prsente un problme. Lequel ? Expliquez clairement.
Rponse :
Le problme de cette solution rside dans le fait que dans le processus Client , l'instruction Signal(mutex) doit suivre
Signal(Sclient) et non pas la prcder. La consquence de cette erreur, est qu'on peut avoir une situation o plusieurs
processus clients arrivent au salon , alors que le coiffeur est endormi, et lancent chacun un signal(Sclient) qu'aucun ne
parvient au Coiffeur ; ce qui constitue un manquement par rapport aux contraintes du problme.
(06 points)
Rponse :
Pour crer un thread en Java, on peut utiliser lune des deux mthodes suivantes :
Rponse :
/* La classe Semaphore. */
public Semaphore(int n) {
value = n;
}
Exercice 4 : Dans un systme, on trouve une seule classe de ressources de onze (11) instances. Cinq (05) processus
partagent ces ressources. Chaque processus peut demander au maximum trois (03) ressources. Peut-on
avoir un cas dinterblocage ? Justifiez.
Rponse :
Au pire, chaque processus a obtenu dj 2 ressources, ce qui a mobilis 10 ressources. Le premier qui demandera sa
troisime ressource pourra terminer et rendre une ressource au moins; cette ressource pourra permettre un autre
processus de terminer, ...et ainsi de suite. Nous avons donc une squence saine, et par consquent ltat du systme est
sain et il ny a aucun risque dinterblocage.
(02 points)
Rponse :
On peut gnraliser le rsultat prcdent. Soient N, T, M respectivement le nombre de processus, le nombre de ressources
au maximum demandes par chaque processus et le nombre total de ressources. Pour que le systme ne risque pas
dinterblocage, il faudrait que : M soit gal au minimum : M = N(T - 1) + 1.
(02 points)