12.07.2015 Views

Université du Québec à Hull - Cours

Université du Québec à Hull - Cours

Université du Québec à Hull - Cours

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Final Hiver 2002 Page 2 sur 5 INF3600Question 2 (4 pts) : InterblocageConsidérez un ensemble de processus composés de plusieurs pro<strong>du</strong>cteurs et d’un seulconsommateur dont les codes sont les suivants :semaphore plein =0, vide=N, mutex=1 ;char T[N] ;int ip=0 ;Pro<strong>du</strong>cteur ( ){ int i, M ;char ch[N];Repeter{ M=Lire(ch,N);M= min(N,M);Pour i=1 à M pas 1 faireP(vide) ;P(mutex) ;Deposer(ch,M,ip) ; //insérer ch dans Tip = (ip+M)%N ;V(mutex) ;Consommateur ( ){ int ic =0 ;char c ;Repeter{P(plein) ;P(mutex) ;c= T[ic] ;V(mutex) ;V(vide) ;}Pour i=1 à M pas 1 faireV(plein) ;} tant que vrai ;}Traiter(c) ;ic++ ;} tant que vrai ;1) Peut-on avoir une situation d’interblocage ? (si oui, expliquez en décrivant clairementune situation d’interblocage). (2 pts)2) Complétez le code précédent de manière à éviter les situations d’interblocage. (2 pts)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!