Programowanie współbieżne i rozproszone/PWR Wykład 10: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mengel (dyskusja | edycje)
Nie podano opisu zmian
 
Mengel (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
== Monitory ==
== Monitory ==
  Podstawową wadą semafora jest to, że nie jest to mechanizm strukturalny, przez co trudno jest analizować programy  współbieżne i ogarnąć wszystkie możliwe przeploty. Dochodzą do tego częste błędy polegające na nieopatrznej zamianie operacji P i V ze sobą.


=== Monitor jako moduł programistyczny ===
=== Monitor jako moduł programistyczny ===
Linia 17: Linia 18:
== Czytelnicy i pisarze ==
== Czytelnicy i pisarze ==


== Muteksy i zmienne warunkowe w systemie Unix ==
== Muteksy (zamki) i zmienne warunkowe w systemie Unix ==


=== Operacje lock i unlock ===  
=== Operacje lock i unlock ===  

Wersja z 10:29, 3 paź 2006

Monitory

 Podstawową wadą semafora jest to, że nie jest to mechanizm strukturalny, przez co trudno jest analizować programy  współbieżne i ogarnąć wszystkie możliwe przeploty. Dochodzą do tego częste błędy polegające na nieopatrznej zamianie operacji P i V ze sobą. 

Monitor jako moduł programistyczny

Monitor jako sekcja krytyczna

Zmienne warunkowe

Uproszczona semantyka instrukcji signal

Pełna semantyka instrukcji signal

Przykłady

Wzajemne wykluczanie

Czytelnicy i pisarze

Muteksy (zamki) i zmienne warunkowe w systemie Unix

Operacje lock i unlock

Operacje wait, signal i broadcast

Analogie z monitorami

Różnice w porównaniu z monitorami

Przykłady

Wzajemne wykluczania. Wersja 1.

Wzajemne wykluczania. Wersja 2.