TESTOWE (Odpowiedzi poprawione 12.09.2009)
Transkrypt
TESTOWE (Odpowiedzi poprawione 12.09.2009)
TESTOWE (Odpowiedzi poprawione 12.09.2009) 1. System operacyjny pełni w systemie komputerowym role: a) zarządzania zasobami systemu komputerowego b) zarządza relacyjnymi bazami c) tworzenie abstrakcji d) kompilacja i uruchamianie programów e) tworzenie środowiska współdzielonego 2. Mikrojądro systemu operacyjnego pełni następującą rolę: a) Uruchamia programy b) Odbiera przerwania i skierowuje je do odpowiednich kierowców i innych warstw systemu c) Synchronizuje procesy d) Zlicza pewne zdarzenia systemowe potrzebne do rozliczenia użytkowników 3. System jednoprogramowy to taki, który z zasady a) Pozwala przechowywać tylko jeden program w pamięci masowej b) Pozwala przechowywać tylko jeden program w pamięci operacyjnej c) Wymaga relokacji d) Wymaga relokacji statycznej (raczej nie, bo programy od razu mogą być pisane z adresami jakie będą rzeczywiście użyte w pamięci) e) Nie pozwala usuwać programu z pamięci ( używa pamięci stałej ) f) Jest uruchamiany na komputerze jedno procesorowym 4. System wieloprogramowy: a) pozwala przechowywać wiele programów w pamięci masowej (raczej dzięki temu, że jest wiele programów w pamięci masowej to system może być wieloprogramowy, a nie odwrotnie) b) pozwala przechowywać wiele programów w pamięci operacyjnej c) wymaga relokacji dynamicznej d) wymaga relokacji statycznej e) pozwala uruchomić tylko jeden program po drugim f) pozwala pracować więcej niż jednemu programowi jednocześnie 5. System współbieżny to taki, który z zasady: a) Jest uruchamiany na komputerze wieloprocesorowym b) Wymaga użycia przerwań zegarowych c) Musi być wieloprogramowy d) Pozwala biec procesom / wątkom jednocześnie e) Pozwala biec procesom / wątkom jednocześnie lub pozornie jednocześnie 6. System wielodostępowy to taki, który z zasady: a) Wymaga podziału czasu procesora ( 100% prawidłowe, a niby jak inaczej obsługiwać kilku użytkowników) b) Wymaga użycia przerwań zegarowych c) Musi być wielowątkowy (nie musi być, aplikacje nie muszę być wielowątkowe, a mogą pochodzić od wielu użytkowników) d) Pozwala wielu procesom pracować rzeczywiście jednocześnie e) Musi być współbieżny ( 100% od WBD ) 7. W wieloprocesorowym systemie operacyjnym: a) Do zabezpieczenia mikrojądra przed równoczesnym wykonaniem jego procedur wystarczy blokowanie przerwań b) Do ochrony mikrojądra przed równoczesnym wykonaniem jego procedur nie wystarczy blokowanie przerwań 8. Użycie przerwań zegarowych jest wymagane: a) w systemie wieloprogramowym (np. przetwarzanie wsadowe może pozwalać na przebywanie w pamięci wielu programów a nie wymaga przerwań zegarowych) b) w systemie współbieżnym c) w systemie wielowątkowym d) w systemie rzeczywistym (np. może być w takim systemie tylko jeden proces, więc nie potrzeba przerwań zegarowych) 9. Użycie przerwań systemowych jest niezbędne: a) w systemach wieloprogramowych b) w systemach współbieżnych c) w systemach wielodostępnych (100% i tylko ten, ale ktoś mógł by to jeszcze potwierdzić) d) w systemach czasu rzeczywistego 10. W skład wielopoziomowego układu przerwań wchodzą: a) Rejestr zgłoszeń przerwań b) Indywidualna maska przerwań c) Układ priorytetów d) Rejestr wykonywalnych obsług przerwań e) Zbiorcza maska przerwań 11. Warstwa zarządcy programów pełni w systemie operacyjnym role: a) Przyjmuje wszystkie wywołania systemowe programów i skierowuje je do odpowiednich warstw b) Zajmuje się uruchamianiem programów c) Zajmuje się buforowaniem danych pisanych i czytanych z pamięci masowych d) Zajmuje się gospodarką pamięci operacyjnej ( przydział pamięci programom ) 12. Zasobami sprzętowymi systemu komputerowego są: a) Czas procesora b) Pamięć wirtualna c) Pamięć operacyjna d) Okna na ekranie e) Urządzenia zewnętrzne f) Inne komputery widoczne w sieci 13. Zasobami programowymi systemu komputerowego są: a) bufory b) semafory c) pamięć operacyjna d) pamięć wirtualna e) procedury realizujące funkcje systemowe f) pliki Od TJ Kruka ze slajdów: „zasoby programowe to: pliki, bufory, semafory, tablice systemowe” 14. W skład środowiska w którym realizowany jest proces wchodzą: a) przestrzeń adresowa b) zawartość rejestrów c) zawartość jednostki zarządzania pamięcią d) otwarte pliki e) zawartość rejestru zgłoszeń przerwań f) zbiór zmiennych środowiska 15. Proces przechodzi ze stanu "użytkownik" do stanu "system" w wyniku: a) przerwania programowego wywołującego funkcje systemową b) zawieszania procesu c) pułapki debuggera d) przerwania sprzętowego 16. Relokacja statyczna: a) pozwala zlikwidować fragmentacje zewnętrzną b) wymaga wsparcia sprzętowego w postaci rejestru bazy c) wymaga wsparcia sprzętowego w postaci rejestru limitu d) wymaga zaadresowania odwołań względnych w czasie ładowania programu do pamięci WBD slajdy: „Relokacja statyczna – dodawanie rejestru bazy w czasie ładowania do pamięci” 17. Relokacja dynamiczna: a) Pozwala chwilowo zlikwidować fragmentację zewnętrzną b) Wymaga wsparcia sprzętowego w postaci rejestru bazy c) Wymaga wsparcia sprzętowego w postaci rejestru limitu d) Wymaga zaadresowania odwołań względnych w czasie ładowania programu do pamięci 18. Wynik współpracy procesów współbieżnych: a) Jest zawsze deterministyczny b) Może być niedeterministyczny c) Może zależeć od sposobu szeregowania 19. Wątki w systemie operacyjnym: a) Współdzielą cały kontekst b) Współdzielą kontekst z wyjątkiem stosu c) Współdzielą kontekst z wyjątkiem rejestrów i stosu 20. Klonowanie procesu operacją fork() powoduje: a) Powielanie segmentów kodu, danych i stosu b) Powielenie segmentów kodu, zainicjowanie nowych segmentów danych i stosu c) Powielenie segmentów danych i stosu 21. Wywołanie programu operacją exec() powoduje: a) Załadowanie z dysku segmentu kodu, powielenie segmentu danych procesu wywołującego b) Załadowanie z dysku segmentu kodu, powielenie segmentów danych i stosu procesu wywołującego c) Załadowanie z dysku segmentów kodu i danych, zainicjowanie nowego segmentu stosu 22. Mechanizmy sprzętowe wspomagające stronicowanie ( ale nie niezbędne ) a) Bity użycia i modyfikacji stron, pamięć asocjacyjna, wielopoziomowe tablice indeksowe b) Bity użycia i modyfikacji stron, pamięć asocjacyjna, tablice indeksowe c) Bity użycia i modyfikacji stron, pamięć asocjacyjna, wielopoziomowe tablice indeksowe, procedury ładujące strony do pamięci 23. Mechanizm translacji adresu: a) Zestawia ze sobą numer ramki i numer strony b) Dodaje numer ramki do numeru strony c) Zestawia ze sobą numer ramki i przesunięcie na stronie d) Zestawia ze sobą numer strony i przesunięcie na stronie (delikatna różnica – numer strony to coś wirtualnego) 24. Bity użycia i modyfikacji stron służą do: a) Wykrycia lokalności odwołań b) Zliczania odwołań w celu optymalizacji wymiany (WBD – „to dobra odp, kiedyś służyły do zliczania” ) c) Wspomagania translacji adresu d) Stwierdzenia czy ramka jest pusta czy zawiera stronę 25. Wielopoziomowe tabele indeksowe stron: a) Przyśpieszają translacje adresu b) Spowalniają translacje adresu (więcej cykli procesora potrzebne do „przejścia” ) c) Optymalizują czas ładowania tabel indeksowych stron (ale nie musimy ładować ogromnej tabeli, a jedynie część ) d) Optymalizują czas ściągania do pamięci brakujących stron 26. Translacja adresu polega na: a) Zamianie adresu wirtualnego na fizyczny b) Zamianie adresu fizycznego na wirtualny c) Wykrywaniu zjawiska lokalności odwołań d) Generowania przerwania "błąd ramki", gdy strony nie ma w pamięci 27. Przy wielopoziomowych tabelach indeksowych stron: a) Zawartość elementu tabeli 1 poziomu jest dodawana do zawartości elementu tabeli 2 poziomu b) Zawartość elementu tabeli 1 poziomu jest indeksem tabeli 2 poziomu c) Zawartość elementu tabeli 1 poziomu wskazuje na tabelę 2 poziomu d) Zawartość elementu tabeli 1 poziomu jest zestawiania z zawartością elementu tabeli 2 poziomu 28. Przerwanie "błąd ramki" służy do: a) Ściągnięcia do pamięci żądanej strony ( 100% akredytacja WBD ) b) Wykrycia próby zapisu poza przestrzenią adresową ramki c) Wykrycia próby dostępu z ramki nieprzydzielonej programowi d) Stwierdzeniu czy ramka jest pusta czy zawiera stronę (stwierdzenie tego powoduje powstanie przerwania „błąd ramki”) 29. Połączenie stronicowania z segmentacją polega na: a) Podziale stron na segmenty b) Potraktowaniu segmentacji jako dodatkowego poziomu stronicowania c) Utożsamieniu segmentów ze stronami d) Generowaniu przerwania "błąd ramki", gdy ramka zawierająca stronę nie należy do bieżącego segmentu 30. Fragmentacja wewnętrzna polega na: a) Nieciągłej alokacji plików na dysku b) Niewykorzystaniu przez program całości przydzielonej mu pamięci c) Podziale pamięci przydzielonej programowi na obszar danych i kodu d) Niewykorzystaniu bloków pamięci pomiędzy przydzielonymi blokami 31. Mechanizm wymiatania polega na: a) Wczytywaniu stron do pamięci operacyjnej i odsyłaniu ich na dysk b) Wczytywaniu segmentów do pamięci operacyjnej i odsyłaniu ich na dysk c) Przesuwaniu programów w pamięci w celu zlikwidowania fragmentacji d) Scaleniu sąsiadujących wolnych bloków pamięci 32. Do kryteriów wymiatania zaliczamy: a) Priorytety b) Stan programu c) Częstotliwość odwoływania się do segmentów d) Analizę historii wykonania programu 33. W mechanizmie wymiatania program powinien być załadowany do pamięci gdy: a) Zakończyła się transmisja danych na drukarkę b) Użytkownik nacisnął klawisz c) Warunek programowy kontynuacji programu został spełniony przez inny program d) Urządzenie na które czekał program zwolniło się e) Minęła godzina o której program miał zostać "obudzony" 34. Migotanie stron jest to: a) Naprzemienne wczytywanie i wymiatanie stron d) Wczytywanie strony, która to dopiero została wyrzucona 35. Proces może pojawić się w puli procesów podlegających szeregowaniu w wyniku: a) Uruchomienia nowego procesu b) Zakończenia operacji we/wy c) Wykonania operacji P na semaforze d) Wykonania operacji V na semaforze 36. Podział pamięci na bloki dowolnej wielkości: a) Implikuje fragmentacje wewnętrzną b) Implikuje fragmentacje zewnętrzną 37. Algorytm cebuli: a) Powoduje fragmentacje wewnętrzną b) Powoduje fragmentacje zewnętrzną ( WBD ) 38. Algorytm bliźniaków: a) Powoduje fragmentacje wewnętrzną b) Powoduje fragmentacje zewnętrzną c) Powoduje mniejszą fragmentacje od podziału na stałe bloki 39. Algorytm "LRU" polega na: a) Wyrzuceniu z pamięci strony najrzadziej używanej b) Wyrzuceniu z pamięci strony najdawniej używanej c) Ściągnięciu do pamięci strony, która będzie najszybciej potrzebna d) Ściągnięciu do pamięci strony, która będzie najczęściej potrzebna 40. Algorytm WORST-FIT ( wszystkie poprawne ) a) Wymaga malejącego posortowania listy wolnych bloków (100%) b) Wymaga wsortowania odciętej części do listy wolnych bloków (100%) c) Pozwala na szybkie stwierdzenie czy istnieje wolny blok o wymaganej wielkości (100%) d) Zmniejsza fragmentację wewnętrzną (100% - został zaprojektowany do tego) 41. Algorytm FIRST-FIT ( nic nie zaznaczać ) a) wolne bloki muszą byś uporządkowane(100% nieprawda – nie muszą być) chyba żadna odpowiedź jakie były możliwe nie pasowała 42. Algorytm BEST-FIT: a) Wymaga malejącego posortowania listy wolnych bloków b) Pozwala na szybkie stwierdzenie czy istnieje wolny blok o wymaganej wielkości c) Pozwala unikać fragmentacji zewnętrznej d) Wymaga wsortowania odciętej części do listy wolnych bloków 43. Fragmentacja występuje: a) Wewnętrzna przy stronicowaniu b) Zewnętrzna przy segmentacji (nie na 100% - podział na segmenty to trochę inny poziom abstrakcji) c) Wewnętrzna przy podziale na skwantowane bloki d) Zewnętrzna przy zwalnianiu bloków w kolejności innej niż odwrotna do przydziału 44. Które z poniższych zdań są prawdziwe? a) Stronicowanie implikuje fragmentacje wewnętrzną b) Stronicowanie implikuje fragmentacje zewnętrzną c) Segmentacje implikuje fragmentacje wewnętrzną d) Segmentacje implikuje fragmentacje zewnętrzną 45. Fragmentacja zewnętrzna jest wywoływana przez: a) Zmianę wielkości przydzielonych bloków ( np. program zrzeka się trochę pamięci i tworzy się „dziura” ) b) Podział bloków pamięci o dowolnej wielkości c) Podział bloków pamięci o skwantowanej wielkości d) Zwalnianie bloków pamięci w kolejności przydziału e) Zwalnianie bloków w kolejności innej niż odwrotna do przydziału 46. Fragmentacji zewnętrznej można uniknąć przez: a) Przydział statycznych bloków pamięci o stałej wielkości b) Zastosowanie algorytmu cebuli c) Zwalnianie bloków w kolejności przydziału d) Zwalnianie bloków w kolejności odwrotnej do przydziału 47. Wykorzystanie instrukcji Badaj-i-Modyfikuj ( TestAndSet ) w synchronizacji: a) Wymaga od procesorów aktywnego oczekiwania b) Wymaga zorganizowania nieaktywnego oczekiwania c) Zatrzymuje procesor, jeżeli zostanie odczytane 0 48. Semafor ogólny: a) jest zmienną współdzieloną b) może przyjmować tylko wartości niezerowe c) wykonuje się na nim tylko niepodzielne operacje d) wymaga stosowania aktywnej fazy oczekiwania 49. Dwukrotne kolejne wykonanie w jednym procesie operacji V na opuszczonym semaforze: a) Nic nie zmienia b) Powoduje podniesienie semafora (jak by były trzy oczekujące to i tak zostanie zamknięty sem) c) Zwiększa wartość semafora o 2 d) Jeżeli semafor pilnuje sekcji krytycznej to może doprowadzić do wpuszczenia do SK dwóch procesów e) Podniesienie semafora, jeżeli żaden proces nie był na nim zawieszony 50. Dwukrotne kolejne wykonanie w jednym procesie operacji P na podniesionym semaforze binarnym: a) Nic nie zmienia b) Powoduje opuszczenie semafora c) Zmniejsza wartość semafora o dwa d) Jeżeli semafor pilnuje regionu krytycznego to prowadzi to do zakleszczenia 51. Z definicji zakleszczenie to stan w którym: a) Dokładnie jeden proces oczekuje na spełnienie warunku, który nie może zostać spełniony b) Co najmniej dwa procesy oczekuje na spełnienie warunku, które nie mogą zostać spełnione c) Dowolna większa od zera liczba procesów oczekuje na spełnienie warunków, które nie mogą zostać spełnione 52. Zmiennych warunkowych jest z definicji w monitorze: a) Jedna b) Dwie c) Tyle ile jest różnych warunków kontynuacji procesów d) Tyle ile jest różnych warunków kontynuacji procesów plus jedna służąca wzajemnego wykluczaniu (wzajemne wykluczanie jest już z góry zrealizowane i nie potrzeba dodatkowej zmiennej dla niego) 53. Zasada bezpośredniego wznowienia oznacza że: a) Proces wznawiający traci region krytyczny b) Proces wznawiany otrzymuje SK po wyjściu procesu wznawiającego z niej c) Proces wznawiający ubiega się o region krytyczny tak jak procesy na wejściu monitora 54. Zmienne warunkowe w monitorze: a) Pilnują dostępu do regionu krytycznego monitora b) Służą do zawieszania procesów, które nie mogą działać z powodu niespełnienia warunków kich kontynuacji c) Służą do sprawdzania spełnienia warunków kontynuacji procesów 55. Następujące relacje ważności procesów są właściwe w szeregowaniu procesów: a) Procesy konwersacyjne są ważniejsze od procesów uwarunkowanych czasowo b) Procesy konwersacyjne są ważniejsze od procesów realizujących transakcje bazy danych c) Procesy konwersacyjne są ważniejsze od procesów realizujących kompilacje programów d) Procesy realizujące kompilacje programów są ważniejsze od procesów obliczeniowych e) Procesy obliczeniowe są ważniejsze od procesów składujących zawartość dysku uwarunkowane czasowo → konwersacyjne(chyba) → …(i tu nie wiem) → obliczeniowe 56. Optymalizacja dostępu do dysku polega na: a) Wstrzymaniu transmisji do czasu uzyskania kilku zgłoszeń, spośród których jest wybierane zgłoszenie, które może zostać wykonane najszybciej b) Wykonywaniu operacji odczyty natychmiast, a operacji zapisu dopiero, gdy już nie będzie do wykonania żadnych operacji odczytu c) Wyborze spośród kilku oczekujących transmisji takiej, przy której średni czas wykonania transmisji będzie najmniejszy 57. Warstwa systemu plików pełni w systemie operacyjnym następujące rolę: a) Realizuje operacje otwarcia i zamknięcia pliku b) Realizuje usługi katalogowe w zakresie hierarchii plików dyskowych c) Zajmuje się uruchamianiem programów przechowywanych w plikach d) Kontroluje prawa dostępu do plików 58. W systemie opartym o FAT element tabeli alokacji może mieć następujące wartości: a) wolny b) zajęty i ostatni w łańcuchu c) zajęty i nie ostatni w łańcuchu d) zablokowany do wyłącznego dostępu e) uszkodzony WB Daszczuk slajdy: „pozycja FAT: wolna, zajęta i nie ostatnia, zajęta i ostatnia, zajęta i wskaźnik na kolejną, zarezerwowana, uszkodzona” Wykład 7 – Pamięci Masowe slajd „Alokacja z listą połączeń II (w FAT)” 59. W systemie UNIX na dysku znajdują się obszary: a) super block b) tabela I-nodów c) obszar katalogów d) dane plików 60. W systemie UNIX wielkość pliku ograniczona jest przez: a) wielkość I-nodów b) wielkość jednostki alokacji c) liczbę bitów adresu dyskowego d) liczbę bitów pola opisującego wielkość pliku e) wielkość obszaru przeznaczonego na pliki 61. W systemie UNIX następujące elementy są umieszczone w danych systemowych procesu: a) Tabela otwartych plików procesu b) Zmienne środowiska c) Wskaźniki bieżącego elementu w otwartych plikach d) Bieżący katalog 62. Po wykonaniu moun(/dev/hd5 , /usr/x/bin/hd5 ) do pliku /usr/z/a a) /usr/x/bin/dev/hd5/usr/z/a b) /usr/x/bin/hd5/z/a c) /dev/hd5/usr/z/a 63. Funkcje kierowców urządzeń: a) Realizują elementarne operacje wyjścia / wejścia b) Realizują przydział urządzeń procesom c) Synchronizują procesy z urządzeniami d) Unifikują dostęp do urządzeń różnych typów e) Śledzą stan urządzeń f) Zliczają transmisje w celu rozliczenia użytkowników 64. Maksymalna liczna plików w Unixie zależy od: a) rozmiaru tablicy I-nodów b) rozmiaru obszaru danych Te są potwierdzone mogły być jeszcze jakieś inne prawidłowe 65. Maksymalna liczba plików w systemie plików FAT zależy od: a) rozmiaru tablicy FAT b) rozmiaru obszaru danych Te są potwierdzone mogły być jeszcze jakieś inne prawidłowe 66. Atrybuty są określone dla: a) Indywidualnie dla pliku b) Zbiorcze dla katalogów c) Zbiorcze dla grupy użytkowników d) Zbiorcze dla plików OTWARTE: 1. Podać definicje: System operacyjny: zbiór programów i procedur spełniający dwie podstawowe funkcje: - zarządza zasobami systemu komputerowego - tworzy maszynę wirtualną Procesem nazywamy wykonuj¡cy si¦ program wraz z jego środowiskiem obliczeniowym. Proces stanowi podstawowy obiekt dynamiczny w systemie operacyjnym. Sekcja Krytyczna jest to fragment programu w którym występują instrukcje do zasobów dzielonych. Instrukcje tworzące sekcje krytyczne muszą być poprzedzone i zakończone operacjami realizującymi wzajemne wykluczanie. Warunki implementacji: - w sekcji krytycznej może przebywać tylko jeden proces - proces poza sekcją krytyczną nie może blokować do niej dostępu innym procesom - każdy proces powinien doczekać się dostępu do SK w rozsądnym czasie Semafor jest to współdzielona zmienna s o wartościach całkowitych nieujemnych, na której są dostępne dwie niepodzielne operacje: P - zmniejszenie o 1 jeżeli możliwe, w przeciwnym wypadku operacja lub proces opóźniany V - zwiększenie o 1 lub wznowienie zawieszonego procesu 2. Funkcje systemu w zakresie zarządzania zasobami - śledzenie zasobów systemu - narzucanie strategii, która określa "konsumenta", rodzaj zasobu, moment przydziału i ilość zasobów - przydział zasobów - odzyskiwanie zasobów 3. Sytuacja w której jest tworzony nowy proces - inicjowania systemu - zlecenie użytkownika - wywołania z programu - uruchomienia zadania wsadowego - przyjęcia przerwania 4. Cechy dobrego szeregowania - sprawiedliwość - każdy kiedyś doczeka się (nie: każdemu po równo), - zgodność z polityką - praca wedle założeń makroskopowych, uzyskanie określonego sposobu zachowania się całego systemu, - efektywność - polepszanie wykorzystania poszczególnych elementów systemu. - (systemy interaktywne) minimalizacja czasu odpowiedzi - (systemy interaktywne) proporcjonalność - każdy użytkownik jest traktowany nie gorzej od innych. - (systemy czasu rzeczywistego) spełnianie wymagań - spełnianie ograniczeń czasowych (twardych lub miękkich), - (systemy czasu rzeczywistego) przewidywalność - zapewnione określone zachowanie makroskopowe, np. unikanie spadku jakości w przekazie multimediów: muzyka, film itp. - (systemy wsadowe) przepustowość - maksymalizacja liczby prac w czasie, - (systemy wsadowe) czas w systemie - minimalizacja czasu przebywania pracy w systemie - (systemy wsadowe) optymalizacja wykorzystania procesora - minimalizacja przerw w pracy procesora 5. Jakie elementy są niezbędne, a jakie wspomagają stronicowanie: Niezbędne: - obsługa przez system przerwania "chybienie strony" ( page fault ), sygnalizującego brak w pamięci strony do której usiłowano się odwołać - mechanizm translacji adresów - podział pamięci na rami, a programu na strony Wspomagające: - bity odwołań i protekcji - pamięć asocjacyjna - wielopoziomowe tabele indeksowe stron - przerwanie przy zapisie 6. Wyliczyć stany ( podział prosty ) w jakich mogą znajdować się procesy: - aktywny - program aktualnie wykonywany - wstrzymany - nie może wykonywać pracy do momentu wystąpienia jakiegoś zdarzenia - gotowy - gotowy do wykonania, ale wstrzymany w oczekiwaniu na czas procesora 7. Podać klasyfikację metod szeregowania procesów. Scharakteryzować jednym zdaniem każdą metodę. Ze względu na wywłaszczanie: - pobłażające (ang. nonpreemptive scheduling) – decyzja szeregująca podejmowana przy najbliższej okazji (wynikającej z innych cech metody szeregowania, np. wyczerpania się przyznanego czasu) - z wywłaszczaniem (ang. preemptive scheduling) – decyzja szeregująca podejmowana natychmiast po zmianie warunków szeregowania (np. pojawienie się nowego procesu, zmiana priorytetu). Ze względu na „ważność” procesów: - bez-priorytetowe – najpierw ważność procesu ustalona przy pomocy liczby: - składowa statyczna - przyznana na stałe lub na długi okres czasu - składowa dynamiczna - przyznana chwilowo na podstawie zachowania się procesu i warunków środowiska - priorytetowe - procesy traktowane jednakowo, każdy proces może być pierwszy (ale który będzie - może wynikać z zasad sprawiedliwości). Ze względu na przydział czasu: - ograniczające czas – zmiana wykonywania procesu co przerwanie zegarowe (może być również co któreś przerwanie) - nie ograniczające czasu – brak ograniczeń czasowych przy wykonywaniu procesów 8. Narysować graf stanów procesu korzystającego z semafora chroniącego sekcję krytyczną. 9. Narysować graf stanów procesu korzystającego z monitora chroniącego sekcję krytyczną 10. Wymienić i scharakteryzować metody podziału pamięci operacyjnej. - brak podziału, cała przestrzeń adresowa wolna w danej chwili jest przydzielana jednemu procesowi użytkowemu (DOS). Wieloprogramowanie można realizować np. przez wymiatanie (ang. swapping); - statyczny podział pamięci na bloki, wolna przestrzeń adresowa jest na stałe podzielona na części przydzielane poszczególnym procesom użytkowym, bloki mogą być jednakowej wielkości lub różnej; powinniśmy dobrze znać wielkość uruchamianych programów; wykorzystana również w stronicowaniu; - podział dynamiczny, przydzielanie według potrzeb. cele: - lepsze wykorzystanie elementów sprzętowych systemu, głównie procesora i pamięci, - utrzymanie w pamięci programów wielokrotnie ładowanych, - umożliwienie szybkiego przełączania kontekstu 11. Wymienić funkcje spełniane przez mikrojądro systemu operacyjnego. - zarządzanie wątkami, - komunikacja międzyprocesowa - obsługa przerwań i wyjątków. 12. Wymienić i scharakteryzować metody szeregowania procoesów - FCFS, kolejka FIFO, (ang. First-Come First-Served), „sprawiedliwość” – ten który przyjdzie jako pierwszy jest obsługiwany jako pierwszy i tak dalej - SJF, najszybciej najkrótsza praca (ang. Shortest Job First), minimalizacja czasu przetwarzania pracy – najpierw wykonywane procesy o najkrótszym czasie wykonania - SRTN, (ang. Shortest Remaining Time Next ) ), minimalizacja czasu przetwarzania pracy – jeżeli w systemie pojawi się proces którego wykonanie zajmuje mniej czasu niż obecnie wykonywanego procesu proces wykonywany jest wtedy wywłaszczony (chyba jakos tak?) 13. Wymienić i scharakteryzować metody przydziału wolnych bloków pamięci operacyjnej - pierwsza zgodność (ang. First Fit), wybór pierwszego pasującego bloku, lista nieuporządkowana, konieczność przejrzenia średnio 1/2 listy ale szybkie zwalnianie. - następna zgodność (ang. Next Fit), j.w., ale zaczynamy od miejsca gdzie ostatnio zakończono przeszukiwanie: nie tworzy się długa lista małych bloków na początku. - najlepsza zgodność (ang. Best Fit), wybór najmniejszego wystarczającego bloku: lista uporządkowana rosnąco, potencjalnie krótsze szukanie, konieczność sortowania pozostałej części, sortowanie przy zwalnianiu. - najgorsza zgodność (ang. Worst Fit), wybór największego bloku: unikanie małych resztówek (zmniejszenie fragmentacji zewnętrznej), lista uporządkowana malejąco, nie trzeba szukać, konieczność sortowania pozostałej części, sortowanie przy zwalnianiu. - algorytm bliźniaków (ang. Buddies), podział pamięci w stały stosunku (np. 1:1, 1:2, 1:Ö2) na dwa bliźniacze bloki aż do uzyskania bloku o minimalnej długości spełniającej zapotrzebowanie. - algorytm cebuli (ang. Onion), przydział segmentów kodu i danych po przeciwnych stronach dostępnej pamięci. 14. Wymienić kryteria wymiatania segmentów z pamięci i kryteria ich powrotu do pamięci. - Otoczenie: ilość pamięci operacyjnej, cechy procesów oczekujących na powrót - Cechy wymagań pamięciowych programu:wielkość segmentów prywatnych, wielkość segmentów współdzielonych - Cechy segmentów: segmenty kodu/danych, segmenty prywatne/współdzielone - Cechy programu: czy komplet segmentów w pamięci - Cechy procesu: stan wejścia/wyjścia, stan, składowa dynamiczna priorytetu - Historia wykonania: gęstość wejścia/wyjścia, historia wymiatania, historia rozszerzeń dostępnej pamięci, czas przebywania w pamięci 15. Wymień algorytmy wymiany stron. - algorytm optymalny, - algorytm NRU (ang. Not recently used) (bity R I M), - algorytm FIFO, - algorytm drugiej szansy, - algorytm zegarowy, - algorytm LRU (ang. Least recently used). - algorytm LFU (ang. Least frequently used). 16. Podaj funkcje kierowcy urządzeń zewnętrznych. - realizacja elementarnych transmisji wejścia/wyjścia lub ciągów transmisji, - ukrycie cech specyficznych dla urządzenia, unifikacja dostępu do urządzenia i nazewnictwa urządzeń, - nadanie urządzeniu cech wirtualnych, - organizacja dostępu do urządzenia, - synchronizacja procesów z urządzeniem, - buforowanie, rozsynchronizowanie oprogramowania i urządzenia, - śledzenie stanu urządzenia, reakcja na sytuacje alarmowe, - optymalizacja dostępu do urządzenia. 17. Tryby przetwarzania ( tylko wyliczyć ) - wsadowy - nie wymaga obecności użytkownika (+ duża przepustowość systemu, -możliwy długi okres oczekiwania na wyniki, ograniczone możliwości szeregowania, niemożność bieżącej kontroli procesu wykonania) - interaktywny - konwersacyjne współdziałanie użytkownika z systemem komputerowym z wykorzystaniem terminala komputera. (+ szybka reakcja systemu, możliwość kontroli przebiegu procesu wykonania, -mniejsze wykorzystanie zasobów systemu komputerowego) - czasu rzeczywistego - system, którego użytkownikiem jest proces technologiczny narzucający pewne wymagania czasowe. Ograniczenia czasu reakcji: Twarde - maksymalny czas odpowiedzi, Miękkie- średni czas odpowiedzi 18. Dane opisywane przez deskryptor procesu: - dane opisujące czym proces różni się od innych procesów, - dane pozwalające przerwać i wznowić wykonanie procesu, - relacje z innymi procesami (synchronizacja, hierarchia), - buchalteria, - status i szeregowanie, - wiele innych. 19. Funkcje systemu operacyjnego w kontekście zarządzania pamięcią. - zagospodarowanie przestrzeni adresowej poprzez wykorzystanie mechanizmów translacji adresów, - ochrona zawartości pamięci, - organizacja dostępu do obszarów współdzielonych, - efektywna organizacja pamięci operacyjnej. 21. Zakończenie pracy procesu może być rezultatem: - zakończenia działania programu, potwierdzonego odpowiednim wywołaniem systemowym, - stwierdzenia przez program wystąpienia błędu krytycznego (również odpowiednie wywołanie systemowe), - wykonania niedozwolonej operacji (zakończenie wymuszone), zazwyczaj wykonywane jako wywołanie sytuacji wyjątkowej w której proces wywołuje system jak poprzednio, - żądania innego procesu (zakończenie wymuszone, realizowane jak wyżej) 22. Opisać działanie układu translacji adresu (można dodatkowo zilustrować rysunkiem) Każdy wygenerowany przez procesor adres dzieli się na dwie części: numer strony (page number) i odległość na stronie (page offset). Numer strony jest używany jako indeks w tablicy stron (page table). Tablica stron zawiera adresy bazowe wszystkich stron w pamięci operacyjnej. W połączeniu z odległością na stronie adres bazowy definiuje adres fizyczny pamięci, posyłany do jednostki pamięci. Rozmiar strony jest określany przez sprzęt.