Programowanie współbieżne
IV rok informatyki studia dzienne
specjalność: KWP
rok akademicki 2004/2005 semestr
letni
Sposób
postępowania przy realizowaniu zadań:
Należy zastanowić się:
- co jest zasobem, a co procesem.
- jaki jest sposób dostępu do
zasobów? czy
dostęp ma jeden proces w danej chwili, czy więcej? ile?
- jaki ma być sposób komunikowania
się
pomiędzy procesami?
- jakie można zastosować mechanizmy
synchronizacji zasobów? a jakie będą najlepsze?
- jak należy dokonać wizualizacji?
- czy będzie potrzeba synchronizowania
dostępu do wizualizacji? (pewnie będzie...)
Przyda się Państwu znajomość:
- pamięci wspólnej
- kolejek komunikatów
- ew. gniazd (dla bardzo ambitnych grup)
- no i semaforów oczywiście
Mile widziane - przy realizowaniu zadań na Linux'ie - wykorzystanie
bibliotek curses.
Można pisać w Javie i w innych środowiskach zaaprobowanych przez
prowadzących.
Prosimy numer zadania, wybrane
środowisko oraz skład grupy realizującej zadanie przekazać prowadzącym.
Zadania do zrealizowania:
1.
Należy zrealizować problem podziału tortu na dowolnie wiele części.
Założenia:
- tort jest jeden
- o możliwość ukrojenia tortu "walczy" wiele osób
- w danej chwili
tort może kroić tylko jedna osoba
- liczba, na ile części należy podzielić tort jest >= liczbie
osób
(są łakomczuchy!)
- każdy zjada swój kawałek (nikt sobie tortu nie wyrywa, ani nie
podjada innym)
- nikt nie zostawia resztek
- zjadać swoje kawałki tortu mogą wszyscy na raz (bo zjadają
niezależnie)
W zadaniu należy przedstawić:
- tort
- osoby
- porcje tortu z uwzględnieniem "zjadania"
- czy w danej chwili ktoś kroi tort
- kto w danej chwili kroi tort
2.
Należy zrealizować problem podziału zabawek wśród
przedszkolaków.
Założenia:
- przedszkolaków jest dowolna ilość > 0
- zabawek jest dowolna ilość > 0
- każdy przedszkolak może bawić się co najwyżej 3-ma zabawkami na raz
- każdą zabawką na raz może bawić się tylko jeden przedszkolak
- jeżeli przedszkolak chce bawić się 4-tą zabawką, musi najpierw jedną
oddać
- przedszkolaki ustawiają się w kolejce po określone zabawki
3.
Jak zadanie 2 z tym, że każda zabawka ma pewną, określoną liczbę
użytkowników.
Przykład: garażem może na raz bawić się co najwyżej 3-ch
przedszkolaków, ale autkiem - tylko jeden.
4.
Jak zadanie 2 z tym, że przedszkolaki nie "kolejkują się" po zabawki,
ale o nie "walczą".
5.
Jak zadanie 3 z tym, że przedszkolaki nie "kolejkują się" po zabawki, ale "walczą" o
dostęp do zabawek.
6.
Problem zaproponowany przez grupę - ZA APROBATĄ PROWADZĄCEGO!
Łukasz Dzierżanowski
Anna Zatwarnicka