Pytania do treści wykładów

Transkrypt

Pytania do treści wykładów
Pytania do treści wykładów:
Wprowadzenie:
1. Jakie zadania zarządzania realizowane są dla następujących zasobów:
a) procesor,
b) pamięć,
c) plik?
2. W jaki sposób przekazywane jest sterowanie do jądra systemu operacyjnego.
3. Jaki mechanizm systemu chroni przed zawłaszczeniem procesora przez przetwarzanie aplikacyjne?
4. Dlaczego usługi jądra systemu operacyjnego nie mogę być dostępne poprzez zwykłe wywołanie podprogramu,
tylko przez specjalne instrukcje (przerwania programowe)?
5. Jak naleŜy zaklasyfikować przerwania będące następstwem:
a) dzielenia przez zero,
b) odmierzenia ustalonego okresu czasu przez czasomierz,
c) wykonania instrukcji wywołania przerwania (np. int w architekturze Intel) przez procesor
d) wystawienia przez procesor niedopuszczalnego adresu,
e) pobrania przez procesor niewłaściwego kodu instrukcji do wykonania?
6. Na czym polega ograniczenie zakresu adresów, dostępnych w czasie przetwarzania aplikacyjnego?
7. Jakie mogłyby być skutki udostępniania operacji wejścia-wyjścia w trybie uŜytkownika dla funkcjonowania
systemu komputerowego?
Procesy, zasoby i wyjątki:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Czym róŜni się proces od programu?
Proszę podać 3 przykłady zasobów systemu, odzyskiwanych po zakończeniu procesu.
Kiedy pamięć moŜe być zasobem wywłaszczalnym?
Ile procesów moŜe znajdować się w poszczególnych stanach procesów w danej chwili czasu w systemie z
jedną jednostką przetwarzającą (jednym procesorem)?
Czym róŜni się stan procesu gotowy od stanu oczekujący?
Na czym polega przełączanie kontekstu? Jakie informacje są niezbędne do prawidłowego przeprowadzanie tej
operacji?
Dlaczego procesy muszą być kolejkowane? W jakich rodzajach kolejek mogę się one znajdować?
Który z planistów jest najbardziej istotny z punktu widzenia:
a) realizacji wielozadaniowości w systemach interaktywnych,
b) systemów przetwarzania wsadowego,
c) systemów czasu rzeczywistego?
Jakie informacje muszą być przechowane w deskryptorze wątku, gdyŜ nie mogą być współdzielone z innymi
wątkami tego samego procesu?
Kiedy i dlaczego istnieje moŜliwość „głodzenia” wątków w dostępie do procesora w przypadku ich realizacji na
poziomie uŜytkownika?
Czym róŜni się realizacja wielowątkowości w systemach Linux i Windows?
Planowanie przydziału procesora
1. Jaka jest róŜnica w planowaniu przydziału procesora pomiędzy systemami interaktywnymi, a systemami
wsadowymi?
2. PoniŜszy diagram przedstawia zmiany stanów procesów P1, P2, P3 w czasie. Proszę wyliczyć czas oczekiwania i
czas cyklu przetwarzania dla poszczególnych procesów oraz wykorzystanie procesora.
3. W systemie komputerowym wykonane zostały 4 procesy P1, P2, P3 i P4. PoniŜsza tabela przedstawia atrybuty
tych procesów przy załoŜeniu, Ŝe chwila czasu 0 odpowiada momentowi zgłoszenia do systemu procesu P1.
Proszę określić czas oczekiwania oraz czas cyklu przetwarzania poszczególnych procesów w przypadku, gdy
zastosowany został następujący algorytm planowania krótkoterminowego:
a) FCFS (FIFO),
b) SJF.
4. W systemie komputerowym wykonane zostały 4 procesy P1, P2, P3 i P4. PoniŜsza tabela przedstawia atrybuty
tych procesów przy załoŜeniu, Ŝe chwila czasu 0 odpowiada momentowi zgłoszenia do systemu procesu P1.
5.
6.
7.
8.
Proszę określić czas oczekiwania oraz czas cyklu przetwarzania poszczególnych
procesów w przypadku, gdy zastosowany został następujący algorytm planowania krótkoterminowego:
a) FCFS (First Come First Served, FIFO),
b) SJF (Shortest Job First),
c) SRT (Shortest Remaining Time).
Mniej więcej w tym samym czasie w systemie pojawiają się procesy P1, P2, P3, P4, P5 z czasami obsługi
odpowiednio 10, 6, 2, 4, 8 oraz priorytetami zewnętrznymi odpowiednio 3, 5, 2, 1, 4 (5 jest najwyŜszym
priorytetem). Proszę określić czas oczekiwania oraz czas cyklu przetwarzania kaŜdego procesu w przypadku
następujących algorytmów planowania krótkoterminowego:
a) rotacyjny (proszę przyjąć kwant czasu 2),
b) priorytetowy,
c) FCFS (kolejność obsługi P1, P2, P3, P4, P5),
d) SJF.
Na podstawie analizy czasu oczekiwania i czasu obsługi proszę ocenić sprawiedliwość uszeregowania procesów
P1, P2, P3, P4, P5 z czasami obsługi odpowiednio 10, 6, 2, 4, 8 w przypadku następujących algorytmów
planowania krótkoterminowego:
a) FCFS (kolejność obsługi P1, P2, P3, P4, P5),
b) rotacyjny przy kwancie czasu 1,
c) rotacyjny przy kwancie czasu 2,
d) rotacyjny przy kwancie czasu 3,
e) rotacyjny przy kwancie czasu 4.
Do systemu zgłaszają się kolejno w odstępach 1-sekundowych 4 procesy, najpierw 2 wsadowe, a później 2
interakcyjne. Obsługa zadania wsadowego wymaga w sumie 10 sekund czasu procesora, przy czym po
kaŜdych 5 sekundach następuje zapisanie danych na dysku. KaŜda operacja zapisu na dysku zajmuje 1
sekundę. Zadania interakcyjne mają czas odpowiedzi 3 sekundy, a reakcja uŜytkownika zajmuje 4 sekundy.
Wykonania procesu interakcyjnego wymaga dwóch takich interakcji. Proszę wyznaczyć czas oczekiwania i czas
cyklu przetwarzania oraz ocenić efektywność przetwarzania z perspektywy kaŜdego z procesów w
następujących przypadkach planowania:
a) algorytm RR z kwantem czasu 2 sekundy,
b) algorytm RR z kwantem czasu 4 sekundy,
c) algorytm VRR z kwantem czasu 2 sekundy,
d) algorytm VRR z kwantem czasu 4 sekundy.
W systemie wielozadaniowym zastosowano wywłaszczający priorytetowy algorytm szeregowania zadań
(planowania przydziału procesora). Priorytet procesu zmienia się liniowo w czasie zgodnie ze współczynnikiem:
α — podczas oczekiwania procesu w kolejce procesów gotowych na przydział procesora,
β — w stanie aktywności (wykonywania przez procesor).
W chwili wejścia do kolejki procesów gotowych (czyli zawsze w chwili zmiany stanu na GOTOWOŚĆ) proces
otrzymuje priorytet o wartości 0. Wzrost tej wartości oznacza zwiększenie priorytetu procesu, i tym samym
spadek jego zmniejszenie. Jaki znany algorytm planowania krótkoterminowego uzyskamy, gdy:
a) β > α > 0,
b) α < β < 0?
9. Na podstawie analizy przetwarzania stwierdzono, Ŝe proces potrzebuje średnio T jednostek czasu procesora,
po czym wchodzi w stan oczekiwania na realizację operacji wejścia-wyjścia. Przełączanie kontekstu wymaga
czasu S, który z punktu widzenia efektywności wykorzystania procesora jest marnowany. Proszę podać formułę
określającą efektywność wykorzystania procesora w planowaniu rotacyjnym (RR) przy kwancie czasu Q w
następujących przypadkach:
a) Q = ∞
b) Q > T
c) S < Q < T
d) Q = S
e) Q → 0
Przykłady implementacji planowania przydziału procesora:
1. W systemie UNIX w stanie gotowości są 3 procesy: P1 z priorytetem początkowym 80, P2 z priorytetem
początkowym 60 i P3 z priorytetem początkowym 52. Procesy nie były dotychczas wykonywane i Ŝaden z nich
nie odwołuje się do jądra (z wyjątkiem procesu P1 w celu przekazania odpowiedzi). Przeliczanie priorytetów i
ewentualna zmiana kontekstu odbywa się raz na sekundę. W tym czasie występuje teŜ 60 razy takt zegara,
zwiększający miarę wykorzystania procesora. Jaki będzie czas odpowiedzi procesu P1, zakładając, Ŝe na
rozpoczęcie przekazywania odpowiedzi potrzeba
a) dokładnie 1 kwantu czasu procesora,
b) dokładnie 2 kwantów czasu procesora?
2. W systemie UNIX w stanie gotowości są 3 procesy: P1 z priorytetem początkowym 80, P2 z priorytetem
początkowym 60 i P3 z priorytetem początkowym 52. Procesy nie były dotychczas wykonywane i Ŝaden z nich
nie odwołuje się do jądra (z wyjątkiem procesu P1 w celu przekazania odpowiedzi). Z kaŜdym taktem zegara
zwiększa się miara wykorzystania procesora. Na wygenerowanie odpowiedzi proces P1 potrzebuje czasu
procesora w ilości równej 25 taktom zegara. Czy moŜliwy jest taki dobór kwant czasu procesora (wyraŜony w
taktach zegara), Ŝeby odpowiedź procesu P1 otrzymać nie później niŜ po upływie 160 taktów zegara?
3. W systemie UNIX w stanie gotowości są 3 procesy z priorytetem bazowym 50: dla P1 ustawiono wartość nice
na 30, dla P2 na 10 i dla P3 na 2. Procesy nie były dotychczas wykonywane i Ŝaden z nich nie odwołuje się do
jądra. Z kaŜdym taktem zegara zwiększa się miara wykorzystania procesora. Czy przy kwancie czasu
(wyraŜonym w taktach zegara):
a) 100,
b) 80
c) 40
są respektowane priorytety wynikające z ustalonych wartości nice procesów?
4. Czym róŜni się przeciwdziałanie głodzeniu procesów w dostępie do procesora w systemach
a) Windows 2000/XP,
b) Linux?
5. Jaką wspólną cechę moŜna znaleźć w metodach przeciwdziałania głodzeniu procesów w systemach UNIX i
Windows 2000/XP?
Zarządzanie pamięcią operacyjną:
1. Zarządca pamięci ma do dyspozycji obszar 1MB, którego fragmenty przydziela zgodnie z algorytmem bloków
bliźniaczych (ang. buddy). Zarządca zrealizował kolejno następujące Ŝądania przydziału bloków: A - rozmiar
100KB, B - rozmiar 300KB, C - rozmiar 200KB.
a) Jaki jest obraz pamięci po realizacji przydziału?
b) Jaka jest łączna wielkość przestrzeni adresowej, która pozostanie niewykorzystana w wyniku
fragmentacji wewnętrznej?
c) Jaka jest maksymalna wielkość bloku, który mógłby zostać przydzielony bez
d) zwalniania bloków A, B i C?
2. W systemie komputerowym dostępna jest pamięć o rozmiarze 256KB. W systemie tym działają procesy P1, P2,
P3, P4, opisane w poniŜszej tabeli.
W momencie zakończenia procesu zwalniana jest cała przydzielona mu wcześniej pamięć. Proszę zobrazować
działania procesów na diagramie oraz określić czas oczekiwania i czas cyklu przetwarzania kaŜdego z nich,
uwzględniając fakt, Ŝe procesy szeregowane są zgodnie z algorytmem rotacyjnym (round robin) przy kwancie
czasu równym 2, a pamięć przydzielana jest metodą bloków bliźniaczych (buddy). Zakładamy, Ŝe czas
przełączania kontekstu jest pomijalnie mały oraz Ŝądanie przydziału
pamięci realizowane jest natychmiastowo, jeśli odpowiedni obszar jest dostępny. Proszę równieŜ przedstawić
obraz pamięci po kaŜdej zmianie, czyli po przydzieleniu lub zwolnieniu jakiegoś obszaru.
3. Moduł zarządzania pamięcią realizuje w przestrzeni adresowej o rozmiarze 64KB następujący ciąg Ŝądań od
procesów aplikacyjnych:
a) przydział bloku A o rozmiarze 16KB,
b) przydział bloku B o rozmiarze 7KB,
c) przydział bloku C o rozmiarze 11KB,
d) przydział bloku D o rozmiarze 11KB,
e) przydział bloku E o rozmiarze 15KB,
f) zwolnienie bloku B
g) zwolnienie bloku D
h) przydział bloku F o rozmiarze 3KB
i) przydział bloku G o rozmiarze 6KB
Czy Ŝądanie przydziału bloku o wielkości 8KB moŜe zostać zrealizowane jako kolejne, gdy w systemie nie ma
moŜliwości relokacji bloków i zastosowany został następujący algorytm przydziału:
a) pierwsze dopasowanie (first fit),
b) najlepsze dopasowanie (best fit),
c) najgorsze dopasowanie (worst fit)?
4. Moduł zarządzania pamięcią realizuje w przestrzeni adresowej o rozmiarze 64KB następujący ciąg Ŝądań od
procesów aplikacyjnych:
a) przydział bloku A o rozmiarze 16 KB,
b) przydział bloku B o rozmiarze 7 KB,
c) przydział bloku C o rozmiarze 11 KB,
d) przydział bloku D o rozmiarze 11 KB,
e) przydział bloku E o rozmiarze 15 KB,
f) zwolnienie bloku B,
g) zwolnienie bloku D,
h) przydział bloku F o rozmiarze 3 KB
i) przydział bloku G o rozmiarze 6 KB
Czy Ŝądanie przydziału bloku o wielkości 7KB moŜe zostać zrealizowane jako kolejne, gdy w systemie nie ma
moŜliwości relokacji bloków i zastosowany został następujący algorytm przydziału:
a) pierwsze dopasowanie (first fit),
b) najlepsze dopasowanie (best fit),
c) najgorsze dopasowanie (worst fit)?
5. Moduł zarządzania pamięcią realizuje w przestrzeni adresowej o rozmiarze 64KB następujący ciąg Ŝądań od
procesów aplikacyjnych:
a) przydział bloku A o rozmiarze 12 KB,
b) przydział bloku B o rozmiarze 10 KB,
c) przydział bloku C o rozmiarze 10 KB,
d) przydział bloku D o rozmiarze 13 KB,
e) przydział bloku E o rozmiarze 15 KB,
f) zwolnienie bloku B,
g) zwolnienie bloku D,
h) przydział bloku F o rozmiarze 5 KB,
i) przydział bloku G o rozmiarze 6 KB.
6.
7.
8.
9.
10.
Czy Ŝądanie przydziału bloku o wielkości 8 KB moŜe zostać zrealizowane jako kolejne, gdy w systemie nie ma
moŜliwości relokacji bloków i zastosowany został następujący algorytm przydziału:
a) pierwsze dopasowanie (first fit),
b) najlepsze dopasowanie (best fit),
c) najgorsze dopasowanie (worst fit)?
Na czym polega nakładkowanie i kiedy jest stosowane?
Na czym polega zjawisko fragmentacji?
Z jakich powodów w zarządzaniu pamięcią pojawia się fragmentacja wewnętrzna?
Dlaczego stronicowanie nie wymaga sprawdzania poprawności przesunięcia wewnątrz strony, podczas gdy
segmentacja wymaga tego w ramach ochrony.
Czy w ogólnym przypadku logiczna przestrzeń adresowa
a) w systemie stronicowania pamięci
b) w systemie segmentacji pamięci
jest ciągła? (Czy kaŜdy adres z zakresu dopuszczalnych adresów procesu jest
poprawny?) Proszę uzasadnić odpowiedź.
Pamięć wirtualna:
1. Kiedy w systemie pamięci wirtualnej pojawia się błąd strony i jaka jest reakcja systemu na wystąpienie tego
błędu?
2. Jakie informacje przechowywane są w tablicy stron (oprócz numeru ramki) w celu umoŜliwienia lub ułatwienia
implementacji systemu pamięci wirtualnej? Kiedy i w jaki sposób są one wykorzystywane?
3. Kiedy w systemie pamięci wirtualnej występuje problem zastępowania?
4. Jakie problemy towarzyszą zastępowaniu stron w systemie pamięci wirtualnej?
5. Proszę uzasadnić sensowność stosowania wstępnego sprowadzania stron w systemie pamięci wirtualnej.
6. Które algorytmy wymiany stron pamięci wirtualnej są trudne w realizacji we współczesnych systemach
komputerowych? Na czym polega trudność ich implementacji oraz jakie podejścia w celu ominięcia tych
trudności stosowane są w praktyce?
7. W systemie pamięci wirtualnej z 3 ramkami realizowany jest następujący ciąg odniesień do stron: 1, 5, 1, 3, 5,
2, 4, 3, 4, 2 ,1, 5. Jak będzie się zmieniać zawartość ramek w wyniku realizacji tego ciągu oraz ile będzie
błędów strony, jeśli zastosujemy algorytm
a) FIFO
b) LRU
Ramki są początkowo puste.
8. Który z algorytmów wymiany stron — FIFO, czy LRU — okaŜe się lepszy pod względem efektywności w
przypadku realizacji następującego ciągu odniesień w systemie pamięci wirtualnej z 4 ramkami: 1, 2, 3, 2, 3,
4, 5, 3, 1, 3, 5, 6, 2, 1, 4, 3, 2, 1?
9. W systemie pamięci wirtualnej z 4 ramkami realizowany jest następujący ciąg odniesień do stron: 2, 6, 1, 1, 5,
2, 3, 5, 2, 4, 3, 5, 2, 6, 1, 5. Jaka będzie zawartość zbioru roboczego po realizacji kaŜdego kolejnego
odniesienia przy rozmiarze okna ∆ = 4? Proszę załoŜyć, Ŝe zbiór roboczy jest początkowo pusty.
10. W systemie pamięci wirtualnej, w którym dostępne są 3 ramki, adres składa się z 8 bitów a rozmiar strony
wynosi 32 bajty. W systemie tym realizowany jest ciąg odniesień do komórek pamięci o następujących
adresach: 40, 190, 60, 100, 160, 90, 130, 120, 150, 70, 50, 180. Jak będzie się zmieniać zawartość ramek w
wyniku realizacji tego ciągu oraz ile będzie błędów strony, jeśli zastosujemy algorytm:
a) FIFO (First In First Out),
b) LRU (Least Recently Used),
c) WS (Working Set) przy rozmiarze okna 3.
Ramki są początkowo puste. Numeracja stron zaczyna się od 0.
11. W systemie pamięci wirtualnej realizowany jest ciąg odniesień do następujących stron: 2, 1, 2, 3, 2, 4, 5, 2, 5,
6, 5, 4, 2. Jak będzie się zmieniać zawartość ramek w wyniku realizacji tego ciągu oraz ile będzie błędów
strony, jeśli zastosujemy algorytm:
a) FIFO (First In First Out) przy liczbie dostępnych ramek 4,
b) LRU (Least Recently Used) przy liczbie dostępnych ramek 4,
c) WS (Working Set) przy rozmiarze okna 4.
Ramki są początkowo puste.
12. W systemie pamięci wirtualnej, w którym dostępne są 3 ramki, adres składa się z 8 bitów a rozmiar strony
wynosi 16 bajtów. W systemie tym realizowany jest ciąg odniesień do komórek pamięci o następujących
adresach: 40, 20, 30, 50, 45, 60, 65, 70, 75, 55, 50, 40. Jak będzie się zmieniać zawartość ramek w wyniku
realizacji tego ciągu oraz ile będzie błędów strony, jeśli zastosujemy algorytm:
a) FIFO (First In First Out),
b) LRU (Least Recently Used),
c) WS (Working Set) przy rozmiarze okna 3.
Ramki są początkowo puste. Numeracja stron zaczyna się od 0.
13. Co oznacza fakt wystąpienia problemu zastępowania przy obsłudze błędu strony w wymianie opartej na
koncepcji zbioru roboczego.
14. W jaki sposób naleŜałoby zmodyfikować algorytmy wymiany (usuwania) stron i niezbędne struktury danych w
celu uwzględnienia przypadku współdzielenia stron przez procesy.
Urządzenia wejścia-wyjścia:
1. Czym róŜni się interakcja jednostki centralnej z urządzeniem wejścia-wyjścia w trybie odpytywania i w trybie
przerwań.
2. Proszę dokonać porównania efektywności interakcji jednostki centralnej z urządzeniami wejścia-wyjścia w
trybie odpytywania oraz w trybie sterowania przerwaniami.
3. Jaki sposób realizacji buforowania byłby najlepszy w celu:
a) dopasowania róŜnić szybkości pracy urządzeń,
b) dopasowania jednostek transmisji danych w przypadku urządzeń przekazujących dane taką samą
średnią szybkością,
c) zagwarantowania semantyki kopii? Proszę uzasadnić odpowiedź.
http://wazniak.mimuw.edu.pl/
Posklejał: lukers