Zadania IPC

Transkrypt

Zadania IPC
SYNCHRONIZACJA PROCESÓW (IPC) - PROJEKTY
Problemy:
P-K - Producent-Konsument
C-P – Czytający-Piszący
5-F – 5 Filozofów
Mechanizmy synchronizacji:
kk – kolejka komunikatów
pd – pamięć dzielona
sem – semafory
W każdym zadaniu trzeba zastosować pamięć dzieloną.



Dla problemu PK – będzie to bufor dla procesów producenckich i konsumenckich
Dla problemu 5-F - będzie to tablica widelców, której elementy przyjmują wartości całkowite
<0;5>, gdzie 0 – oznacza wolny widelec, 1-5 – oznacza numer filozofa, który używa danego
widelca. Program główny powinien wypisywać stan tablicy widelców.
Dla problemu C-P – będzie to bufor przeznaczony do pisania/czytania
Projekty:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
P-K – sem
C-P – sem (priorytet dla czytających)
C-P – sem (priorytet dla piszących)
C-P – kk (priorytet dla czytających)
C-P – kk (priorytet dla piszących)
C-P – sem Agerwali
C-P – uogólnione operacje semaforowe (priorytet dla czytających)
5-F – kk (rozwiązanie 1)
5-F – sem (rozwiązanie 1)
5-F – kk (rozwiązanie 1) / C-P – uogólnione operacje semaforowe (priorytet dla piszących)
5-F – sem (rozwiązanie 2 – stany)
5-F – kk (rozwiązanie 2 stany)
5-F – sem (rozwiązanie 3 – jadalnia)
5-F – kk (rozwiązanie 3 – jadalnia)
5-F – sem (rozwiązanie 4 – asymetryczne)
5-F – kk (rozwiązanie 4 – asymetryczne)
5-F – jednoczesne operacje semaforowe
Tematy projektów (szczegóły rozwiązania) odnoszą się do materiałów z wykładów i skryptu do SO.
Każdy projekt powinien się składać z głównego programu, który tworzy i inicjuje mechanizmy
synchronizacji procesów, następnie tworzy procesy potomne zgodnie z tematem zadania, czeka na ich
zakończenie i zamyka mechanizmy synchronizacji. W przypadku problemu P-K należy uruchomić po
min. 20 procesów producenta i konsumenta. Producent dodaje jeden rekord do puli buforów, a
konsument pobiera 1 rekord z puli buforów. W przypadku problemu C-P należy uruchomić po 20
procesów czytających i piszących. Procesy piszące zapisują jeden rekord, procesy czytające czytają
jeden lub więcej rekordów. W przypadku problemu 5-F należy uruchomić 5 procesów filozofów, każdy
z nich wykonuje pętlę, w której realizuje swoje zadania – myślenie i jedzenie.