Opracowanie pytań na Egzamin z Systemów Operacyjnych 2013/2014
Zasada wiedzy koniecznej. Co to jest utkanie procesora i jak temu zapobiegać?
Zasada wiedzy koniecznej – zasada w myśl, której procesy w każdej chwili działania powinny dysponować tylko niezbędnymi prawami dostępu do zasobów. Zmniejsza to negatywne skutki działań procesów błędów.
Utykanie procesora jest to oczekiwanie procesora na nadejście danych do wykonania polecenia.
Sytuacje może poprawić bufor z szybkiej pamięci(pamięć podręczna lub cache).
Co to jest wątek? Jaka jest różnica między wątkiem, a procesem?
Watek jest to część programu wykonywana współbieżnie w obrębie jednego procesu.
Różnica między wątkiem a procesem polega na współdzieleniu przez wszystkie wątki działające w danym procesie przestrzeni adresowej oraz wszystkich struktur systemowych, a procesy posiadają niezależne zasoby.
Wymień i opisz sposoby realizacji domeny? Które z nich realizowane są w UNIXie?
- użytkownik - zbiór obiektów zależny od id użytkownika
- proces - zbiór obiektów zależny od id procesu
- procedura - zbiór obiektów zależny od lokalnych zmiennych
W UNIX jest domena związana z użytkownikiem, przełączanie domen – czasowa zmiana identyfikacji użytkownika.
Omów i porównaj stronicowanie i segmentacje?
Celem segmentacji jest logiczny podział przestrzeni adresowej, a celem stronicowania jest fizyczny podział pamięci, którą chcemy implementować na tym samym poziomie.
Strony mają ustalony rozmiar wynikający z architektury maszyny, podczas gdy rozmiar segmentu może być dowolny, określony przez programistę.
Podział adresu programu na numery strony i bajtu jest wykonywany środkami sprzętowymi, a przekroczenie zakresu dla numeru bajtu automatycznie powoduje zwiększenie numeru strony.
Podział adresu programu na numery segmentu i bajtu jest logiczny, a przekroczenie zakresu dla numeru bajtu nie ma żadnego wpływu na numer segmentu
Omów schematy przydziału ramek?
- równy - każdy dostaje tyle samo
- proporcjonalny - liczba proporcjonalna do rozmiaru
- priorytetowy - liczba proporcjonalna do priorytetu procesu
- zastępowanie lokalne - wybiera tylko ze zbioru własnego
- zastępowanie globalne - wybiera ze zbioru wszystkich ramek
Co się dzieje z procesem od jego utworzenia do jego zakończenia?
Proces przechodzi następujące etapy - nowoutworzony proces ma już wszystkie zasoby do dyspozycji:
- nowy proces może przejść jedynie do stanu gotowy
- następnie gotowy może przejść do stanu aktywny. Planista przydzieli temu procesowi procesor.
- ze stanu aktywnego może przejść do jednego z 3 stanów: gotowego, czekającego, lub zakończonego
- z procesu czekającego może przejść do stanu gotowego, a następnie do stanu zakończonego - nie może już zmienić swojego stanu.
Omów obsługę zakleszczeń - metody.
- zapobieganie zakleszczeniom – polega na zaprzeczeniu co najmniej jednego z czterech warunków koniecznych zakleszczeń
- unikanie zakleszczeń – gdy stosujemy tę metodę to wszystkie warunki konieczne występowania zakleszczeń są prawdziwe
- wykrywanie zakleszczeń i odtwarzanie – dopuszczamy powstanie zakleszczeń, ale umiemy je wykrywać, likwidować i przywracać normalne działanie systemu po tym zabiegu
Do czego służy algorytm piekarniany i algorytm Dekkera?
Algorytm piekarniany(Lamparta) – wykorzystuje się go do rozwiązania problemu wzajemnego wykluczenia w sekcji krytycznej dla dowolnej N liczby procesów. Proces o najwyższym indeksie wykona swoją sekcję krytyczną najpóźniej.
Algorytm Dekkera – rozwiązuje problem wzajemnego wykluczenia się równolegle działających procesów. Tylko jeden z nich może wykonywać ich wspólną sekcję krytyczną. Jeśli proces chce wejść do sekcji krytycznej, to ma zagwarantowane, że kiedyś do tej sekcji wejdzie.
Co to jest szamotanie i jak temu zapobiegać?
Szamotanie to sytuacja, gdy proces ma mniej ramek niż liczba aktywnie używanych stron i musi, co chwilę sprawdzić jedna ze stron usuwając inną, która będzie za chwilę niezbędna.
Zapobiegamy stosując lokalny lub priorytetowy algorytm zastępowania stron lub dostarczając procesowi właściwą liczbę ramek.
Wymień mechanizmy ochrony pamięci operacyjnej.
- ochrona wektora przerwań
- ochrona procedur obsługi przerwań
- oddzielenie obszaru pamięci przerwań (rejestr bazowy i graniczny) – rejestry sprzętowe.
- pamięć poza przyznanym obszarem pamięci jest chroniona.
Omów algorytmy przybliżające LRU.
Algorytm LRU - Bit odniesienia:
- wstępnie wszystkie bity odwołania ustawione są równe 0
- przy każdym odwołaniu do strony odpowiadający jej bit jest ustawiany na 1
- zastępuje stronę, jeśli ma bit 0
Algorytm drugiej szansy FIFO
- gdy strona ma bit odniesienia=1 to strona dostaje druga szansę na pobyt w pamięci.
Omów strategię dynamicznego przydziału pamięci.
Dynamiczny przydział pamięci na podstawie listy wolnych dziur:
- pierwsze dopasowanie – przydziela się pierwszą dziurę o wystarczającej wielkości
- najlepsze dopasowanie – przydziela się najmniejszą z dostarczonych dużych dziur
- najgorsze dopasowanie – przydziela się największą dziurę
Symulacje pokazują, że pierwsze dwie strategie są lepsze od trzeciej pod względem zużycia czasu, jak i pamięci (najszybsza jest pierwsza).
Omów zarządzanie pamięcią w linuxe.
W linux:
- podział pamięci fizycznej na ramki
- podział pamięci wirtualnej na strony
- przydział pamięci fizycznej poszczególnym procesom
- współdzielenie obszarów pamięci przez różne procesy
- pozwala używać kilku partycji plików wymiany jednocześnie
Omów algorytmy planowania procesów.
- planowanie metodą FCFS – proces, który pierwszy zamówił procesor, pierwszy go otrzyma
- SJF – długości najbliższej z faz procesora
- SFJ – planowanie priorytetowe
- Planowanie rotacyjne – kolejka procesów gotowych do wywołania, jako kolejka cykliczna
- wielopoziomowe planowanie kolejek
- wielopoziomowe ze sprężeniem zwrotnym
Omów warstwową strukturę pliku.
Ma ona następującą postać:
Programy użytkowe -> Logiczny system plików -> moduł organizacji pliku -> podstawowy system plików -> sterowanie WE/WY -> Urządzenia
Programy obsługi urządzeń -> podręczna pamięć bufora -> rzeczywiste systemy plików -> Wirtualny system plików VFS
Strukturalne mechanizmy synchronizacji procesów.
- monitory - to rodzaj klasy, której metody stanowią sekcję krytyczną.
- regiony krytyczne - wewnątrz rejonów krytycznych związanych z tą samą zmienną dzieloną może pracować tylko 1 proces
Co to jest środowisko ulotne procesu?
Możemy zdefiniować, jako podzbiór takich podlegających zmianą właściwości systemu, do których proces może mieć dostęp.
Omów zarządzanie wolną przestrzenią.
- System utrzymuję listę wolnych obszarów.
- Odnotywane są wszystkie bloki, które są wolne.
- Dba o wtórne zagospodarowanie dla nowych plików przestrzeni po plikach usuniętych.
- tworzenie mapy bitowej i listy powiązanej
- wykonuje zliczanie i grupowanie
Wymień metody przydziału bloków w Ext3.
- przydział ciągły (system plików zwartych) cały plik zajmuje ciąg kolejnych bloków; odwołanie do pliku składa się z adresu bloku początkowego i rozmiaru pliku
- przydział listowy (łańcuch powiązanych bloków)
- przydział indeksowy Ext3 (bloki indeksów)
Wymień stany procesu.
- nowy - proces został utworzony..
- aktywny - są wykonywane instrukcje,
- oczekujący - czeka na wystąpienie zdarzenia
- gotowy - czeka na przydział procesora,
- zakończony - zakończył działanie.
Oblicz liczbę braków stron dla LRU i OPT.
Sposoby implementowania macierzy dostępu.
- tablica globalna – zbiór uporządkowanych trójek, najprostsza realizacja macierzy dostępów
- wykazy dostępów do obiektów – dla każdej kolumny uporządkowane pary
- wykazy uprawnień do domen – obiekt chroniony, niedostępny dla procesu od razu
- mechanizm zamka klucza – wykaz wzorców binarnych
Omów macierz praw.
Macierz, której wiersze reprezentują domeny ochrony, a kolumny — chronione obiekty. Każdy element takiej macierzy zawiera zbiór praw dostępu, które proces działający w domenie Di może wykonać na obiekcie Oi.
Omów architekturę klient-serwer.
- podział systemu operacyjnego na moduły
- moduły nie są rozmieszczone w warstwach
- nie komunikują się między sobą poprzez wywołanie procedur, ale wysyłają komunikaty za pośrednictwem centralnego programu obsługi komunikatów,
- komunikaty mogą być wysyłane w obie strony
- moduł wysyłający komunikat to klient, a odbierający to serwer
Gdzie można umiejscowić obszar wymiany?
Specjalny plik na dysku, który spełnia rolę dodatkowej pamięci. Wykorzystywany w momencie, gdy zabraknie fizycznej pamięci RAM.
- w systemach plików – mała wydajność
- w osobnej strefie dyskowej – bez struktury katalogowej
Oblicz średni czas oczekiwania dla algorytmów SJF i FIFO.
Oblicz efektywny czas dostępu dla podanych danych – EAT.
(Effective Access Time) EAT = (1-p)·cd + p · x
cd - czas dostępu do pamięci zwykłej (10 – 200 ns)
x – czas obsługi strony (narzut związany z przerwaniem braku strony)
p - prawdopodobieństwo braku strony
Na czym polega anomalia Belady’ego?
Zjawisko polegające:
- na wzrastaniu współczynnika braków stron ze wzrostem wolnych ramek
- na tym, że przy zwiększeniu ilości dostępnych ramek pamięci fizycznej liczba braków stron zamiast maleć – rośnie. np. algorytm FIFO.
Warstwowy dostęp do urządzeń WE/WY z uniwersalnym interfejsem.
Podsystem we/wy w jądrze systemu operacyjnego.
|
Moduł Sterujący
| |
Sterownik portu Adapter ……..
Sterownik urządzenia
Omów adresowanie bloków dyskowych.
Do bloku można się odwołać za pomocą:
- względnej pozycji w pliku - numeru bloku w pliku
- pozycji w partycji dyskowej - logicznego numeru bloku. Uzyskanie logicznego numeru bloku z przesunięcia f w ramach pliku wymaga dwóch kroków: przetłumaczenia przesunięcia na indeks bloku zawierającego odpowiedni bajt, przetłumaczenia indeksu na logiczny numer bloku.