Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

ZADANIA DLA II ROKU INFORMATYKI

SYSTEMY OPERACYJNE
lista 1.0
[Procesy i wątki w teorii]

1. Narysować w miarę dokładny diagram kolejek procesów dla prostego (?) jednoprocesorowego systemu
wielozadaniowego, który zapewnia: dostęp do dwóch drukarek, odczyt klawiatury, zapis/odczyt jednego
dysku twardego, zapis/odczyt jednego streamera. Założyć ponadto, że do systemu dołączony jest układ,
który powinien odczytywać co 1 min. temperaturę i wilgotność powietrza (rozważyć dwa przypadki:
1◦ układ nie generuje własnych przerwań; 2◦ ma taką możliwość).

2. Czy i ewentualnie jak zmieni się diagram w powyższym zadaniu, jeśli będą dwa procesory?

3. Czy można sobie wyobrazić wielozadaniowy (wieloprocesowy) system operacyjny bez kolejek? Jeśli tak,
to proszę przedstawić ogólne założenia jego funkcjonowania.

4. Wskazać po kilka problemów programistycznych, których rozwiązania można w naturalny sposób zaim-
plementować jako
a) jeden niezależny proces jednowątkowy;
b) jeden niezależny proces wielowątkowy;
c) zbiór współpracujących procesów jednowątkowych;
d) zbiór współpracujących procesów wielowątkowych;
e) zbiór współpracujących procesów jedno- i wielowątkowych.
W przypadach b),d),e) rozważyć sytuacje, gdy wątki ze sobą współpracują (w ramach swoich procesów
macierzystych) oraz sytuacje, gdy wątki nie współpracują1) .
W przypadach c)-e) przeanalizować, czy korzystniej będzie, gdy procesy współdzielić będą zasoby (dane),
mając do nich równoczesny dostęp, czy też gdy przesyłać będą między sobą komunikaty.
W przypadach b),d),e) przeanalizować, czy wątki będą potrzebować podsystemu wymiany komunikatów.

5. Przedstawić, jakie potencjalne problemy mogą się pojawić, gdy kilka procesów (wątków) korzysta z
tego samego obszaru (bufora) danych celem wymiany informacji. Rozważyć przy tym różne typowe
sytuacje, tj.: 1◦ jeden producent i jeden konsument; 2◦ jeden producent i kilku konsumentów; 3◦ kilku
producentów i jeden konsument; 4◦ kilku producentów i kilku konsumentów.
6⋆ . Kiedy (i przy jakich założeniach) sytuacje 2◦ -4◦ z powyższego zadania można sprowadzić do 1◦ ?
1)
Typowy przykład procesu wielowątkowego, w którym wątki nie wymieniają informacji, to program,
w którym wątek główny oblicza coś czasochłonnego, a drugi wątek wyświetla w tym czasie zegar.

P. U.

You might also like