Nasze dzisiejsze pytania z kolosa:
1. Problemy synchronizacji rozwiązywane za pomocą semaforów (czy jakoś tak).
AD1. Problem 5 ucztujących filozofów, problem czytelników-pisarzy, problem palaczy tytoniu, problem śpiącego golibrody, problem producentów-konsumentów.
2. Cechy poprawnego programu współbieżnego.
-poprawny program współbieżny działa dla każdego przeplotu,
czy raczej chodziło o własności poprawnego programu współbieżnego?
-własność bezpieczeństwa (która ogółem mówi o tym, że nie może dojść do nieporządanej sytuacji), na którą składa się wzajemne wykluczanie oraz brak blokady
-własność żywotności (jeżeli jakiś proces ma coś do zrobienia, to w końcu to zrobi), na którą składa się min. właściwość uczciwości, brak zagłodzenia, brak zakleszczenia.
3. Na podstawie kodu określić jaki rodzaj semaforów zastosowano. Wyjaśnić.
le wartości przyjmuje zmienna semaforowa: jeżeli więcej niż 2, to jest to semafor ogólny. I tylko tyle należało mu napisac.
4. W jakich przypadkach zagłodzenie w problemie czytelników- pisarzy.
W 1 przypadku, gdy pisarze mają ciągle wyższe priorytety niż czytelnicy i w ten sposób czytelnicy mogą nigdy nie dostać się do czytania pliku. W 2 przypadku, czytelnicy mają ciągle wyższe priorytety i nie muszą czekać tylko dlatego, że czeka pisarz/pisarze.
5. Spotkania w Adzie zaimplementowane za pomocą (bez) selecta. Ile minimalnie zadań może uczestniczyć w spotkaniu.
inimalnie 2?
select
...
or
...
Wszędzie spotkałem się z minimum dwoma...
6. Czy wykluczenie procesu sekwencyjnego z dostępu do zasobu współdzielonego w algorytmie przydziału zasobów jest poprawne? Uzasadnij
1. jakie problemy można rozwiązać przy pomocy monitorów?
2. jakich właściwości nie spełnia nieprawidłowy program współbieżny?
3. czy wykluczenie procesu sekwencyjnego z dostępu do zasobu współdzielonego w algorytmie przydziału zasobów jest poprawne?
4. ile minimalnie zadań musi brać udział w spotkaniu jeśli realizowane są bez select'a
5. czy w problemie ucztujących filozofów może wystąpić brak żywotności?
6. podany był kod w adzie problemu producent - konsument i trzeba było określić początkowe wartości dwóch semaforów
1. notacje z jakiegos artykulu
2. Jakie wlasnosci powienien miec bezpieczny progrsam wspolbiezny
3. Kiedy dzialanie planisty jest uzasadnione w przypadku strategii unikania zakleszczen
4. Spotkania w CPS czy CSP nie pamietam ; P
5. W jakich przypadkach zywotnosc problemu 5 filozofow moze byc zagrozona (czy cos podobnego)
6. Kod i napisac jaka wartosc maja obydwa semafory.
/////////////////////////
W załaczeniu wyniki kolokwium.
Prosze przekazac pozostałym zainteresowanym.
Wpisy we wrzesniu w terminie poprawy.
Trzy wskazowki:
1. Jeszcze raz zachecam do lektury pozycji wymienionych w "Przewodniku
studenta". W zakresie ksiązki Harela wystarczy znajomośc rozdziału 10, ale
zachęcam oczywiście do lektury całosci.
2. W pytaniu pierwszym zwracam uwagę, że semafor (ogólny, binarny, inny) ma
zastsowanie przede wszystkim dlatego, że moze sluzyc do synchronizacji
procesów wspóldzielacych pamięc, pod warunkiem, że semafor zostanie powolany
we wspóldzielonym obszarze pamieci.
3. Minimalna liczba procesorów to oczywiście 1, ale odp. 2 także uznawalem,
jednak nie w pełnym wymiarze.
Pozdrawiam,
Marek Nowak
//////////////
Do fot:
Pytanie z lazienka:
Rozwiazaniem jest tabliczka na drzwiach z numerami pokoi, ktore kolejno beda mialy dostep do lazienki. Kolejnosc bedize ustalona z gory np wg nr pokoi rosnaco.. Kazdy wychodzacy mieszkaniec zmazuje z tablicy swoj nr co umozliwia nastepnym odwiedzenie i zapewnia wzajemne wykluczanie. Oczywiscie wystepuje problem gdy na tablicy pojawia sie nr, ktorego wlasciciela nie ma, badz wiemy ze nigdy nie odwiedzi lazienki..
4.
- atomowosc operacji (w przypadku monitorow)
- implementacja komunikacji miedzy procesami (np pamieci wspoldzielonej)
a tak dokladniej to chyba tutaj chodzi o:
- zadaniowosc
- komunikacyjnosc
- statyczny typ kontroli
- zakresy deklaracji
- kolejka zadan procesow
- bezposrednia i posrednia komunikacja
- synchronizacja i wzajemne wykluczanie
- synchroniczna i asynchroniczna komunikacja