Zadanie numer 5 Podstawowe problemy programowania współbieżnego Cel zadania



Pobieranie 15.54 Kb.
Data19.06.2016
Rozmiar15.54 Kb.
Zadanie numer 5

Podstawowe problemy programowania współbieżnego

Cel zadania
Celem zadania jest zapoznanie się z podstawowymi problemami programowania współbieżnego.
Podstawa zaliczenia


  1. Zademonstrowanie działającego programu odpornego na problem blokady i zagłodzenia. Zadanie należy rozwiązać używając dowolnego mechanizmu synchronizacji procesów.

  2. Oddanie sprawozdania

  3. Wiedza teoretyczna na temat podstawowych problemów programowania współbieżnego przedstawionych w zadaniach od 1 do 6.


Sprawozdanie
W sprawozdaniu powinny się znaleźć następujące informacje:

  1. Sposób rozwiązania problemu,

  2. Wykazanie, że rozwiązanie problemu jest poprawne,


Pytania kontrolne


  1. Jak zarządzane są kolejki procesów?

  2. Na czym polega "reaktywowanie kaskadowe procesów"?

  3. Proszę wskazać informatyczne zastosowanie problemu czytelników-pisarzy?

  4. Co to jest "blokada"?

  5. Na czym polega ”zagłodzenie”?

  6. Jakie są metody testowania istnienia blokad?

  7. Dlaczego użyłeś danego mechanizmu synchronizacji do rozwiązania problemu?

  8. Omów relację pomiędzy wydajnością a uniknięciem blokady i zagłodzenia?



Zadania




  1. Czytelnicy i pisarze.

W systemie pracują ubiegające się o zasób procesy należące do dwóch rozłącznych klas procesów piszących i czytających. Procesy piszące muszą mieć zapewnione wykluczenie wzajemne względem siebie oraz względem procesów czytających przy korzystaniu z zasobu. Wiele procesów czytających może natomiast jednocześnie być w posiadaniu zasobu, przy czym nie może z niego wtedy korzystać żaden z procesów piszących.


  1. Czytelnicy i pisarze z priorytetem dla pisarzy.

W systemie pracują ubiegające się o zasób procesy należące do dwóch rozłącznych klas procesów piszących i czytających. Procesy piszące muszą mieć zapewnione wykluczenie wzajemne względem siebie oraz względem procesów czytających przy korzystaniu z zasobu. Wiele procesów czytających może natomiast jednocześnie być w posiadaniu zasobu, przy czym nie może z niego wtedy korzystać żaden z procesów piszących. Jeśli jakiś proces piszący może pisać, to musi mu być to umożliwione tak szybko, jak to będzie możliwe (priorytet dla procesów piszących). Inaczej mówiąc, o ile którykolwiek z procesów piszących zażąda dostępu do zasobu, to żaden proces czytający nie może już zacząć czytania, a po ukończeniu czytania przez ostatni, pracujący proces, zasób musi być natychmiast przyznany procesowi piszącemu.


  1. Pięciu filozofów.

Problem ten, przedstawiony przez Dijkstrę, polega na zsynchronizowaniu czynności życiowych pięciu filozofów, na które składają się myślenie i jedzenie

cycle

myślenie;

jedzenie

end;
Chcąc jeść, każdy filozof musi podejść do swojego (ze swoim numerem) miejsca przy okrągłym stole, na którym znajduje się rozłożonych po pięć talerzy i widelców.

Ponieważ jednak jedyną potrawą jest spaghetti, do jedzenia którego




rys. Rozmieszczenie filozofów
są wymagane po dwa widelce, każdy filozof chcąc rozpocząć jedzenie musi sięgnąć po lewy i prawy widelec. Z tego wynika, że może dochodzić tu do sytuacji konfliktowych: jednocześnie nie może jeść nigdy dwóch sąsiadów przy stole, a synchronizacji musi podlegać dostęp do zasobów, jakimi są widelce.


  1. Algorytm Bankiera.

Bankier chce podzielić stały kapitał z łożony z florenów pomiędzy stałą liczbę klientów. Każdy klient z góry określa swoje maksymalne potrzeby (roszczenie), tzn. potrzebne mu ilości florenów. Bankier zgodzi się na prośbę klienta, jeśli te potrzebne zasoby nie przekraczają kapitału. Podczas transakcji klienta, może on pojedynczo pożyczać lub zwracać floreny. Klient musi czasami poczekać, zanim będzie mógł pożyczyć następnego florena, ale bankier gwarantuje, że czas oczekiwania będzie skończony.

Aktualna pożyczka klienta nie może przekraczać jego potrzeby.

Jeśli bankier może całkowicie zaspokoić potrzeby klienta, to klient gwarantuje zakończenie transakcji i zwrot pożyczki w skończonym czasie.

Aktualny stan jest bezpieczny, jeśli bankier jest w stanie umożliwić wszystkim obecnym klientom zakończenie transakcji w skończonym czasie , w przeciwnym przypadku stan jest niebezpieczny.

Stan klienta jest charakteryzowany jego aktualną pożyczką i dalszym żądaniem przy czym:

żądanie = potrzeba – pożyczka

Stan bankiera jest scharakteryzowany początkowym kapitałem oraz rzeczywistą ilością gotówki, przy czym

gotówka = kapitał – suma pożyczek.




  1. Palacze papierosów.

Każdy z trzech dostawców oferuje inną parę spośród koniecznych składników (bibułka, tytoń i zapałki). Każdy z trzech palaczy ma jeden z wymienionych składników i potrzebuje dwóch składników oferowanych przez któregoś z dostawców.



  1. Śpiący fryzjer.

Fryzjer ma dwupokojowy gabinet. Jedno pomieszczenie jest poczekalnią, w drugim znajduje się salon z fotelem fryzjerskim. W pomieszczeniach znajdują się trzy pary drzwi umożliwiające: wejście z ulicy do poczekalni, wejście z poczekalni do salonu, wyjście z salonu na ulicę. Drzwi są na tyle wąskie, że może przejść przez nie najwyżej jedna osoba. Każdy klient przychodzący do zakładu musi być obsłużony przez fryzjera.




©snauka.pl 2019
wyślij wiadomość

    Strona główna
Komunikat prasowy
przedmiotu zamówienia
najkorzystniejszej oferty
Informacja prasowa
wyborze najkorzystniejszej
warunków zamówienia
istotnych warunków
sprawie powołania
Regulamin konkursu
udzielenie zamówienia
przetargu nieograniczonego
zamówienia publicznego
Nazwa przedmiotu
Specyfikacja istotnych
modułu kształcenia
Rozporządzenie komisji
studia stacjonarne
wyborze oferty
Zapytanie ofertowe
Szkolny zestaw
Ochrony rodowiska
ramach projektu
prasowy posiedzenie
trybie przetargu
obwodowych komisji
zagospodarowania przestrzennego
komisji wyborczych
komisji wyborczej
Program konferencji
Wymagania edukacyjne
Lista kandydatów
szkoły podstawowej
która odbyła
Województwa ląskiego
Decyzja komisji
przedmiotu modułu
poszczególne oceny
Sylabus przedmiotu
szkół podstawowych
semestr letni
Postanowienia ogólne
przedsi biorców
produktu leczniczego
Karta przedmiotu
Scenariusz lekcji
Lista uczestników
Program nauczania
Projekt współfinansowany
Informacje ogólne
biblioteka wojewódzka
semestr zimowy