Transcript
Page 1: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Podaj trzy różne przykłady definicji systemu operacyjnego (1):- dystrybutor zasobów (ang. resource allocator) -przydziela zasoby poszczególnym zamawiajajcym(programom)- program sterujący (ang. control program) - nadzoruje wykonanie programów użytkowych oraz operacjiwejscia/wyjscia, kontrola błędów- jądro systemu (ang. kernel, ang. nucleus) - program działający w komputerze nieustannie, często jestsynonimem systemu operacyjnego

Wymień zadania systemu operacyjnego (2):- tworzenie środowiska do wykonywania programów - powodowanie aby system komputerowy był wygodny w użyciu

Wymień składowe systemu komputerowego wraz z ich angielskimi odpowiednikami (3):- sprzęt (ang. hardware) – zasoby o specyficznej architekturze oraz organizacji zarządzane przez systemoperacyjny- system operacyjny (operating system) - program, który nadzoruje i koordynuje dostęp programów dozasobów- programy użytkowe (software) – realizują, potrzeby użytkowników systemu komputerowego(kompilatory, bazy danych, gry,....)- użytkownicy (users) – ludzie, maszyny, komputery..

Wymień ogólne funkcje komputera (4):- przetwarzanie danych - rożne formy i zakres wymagań - przechowywanie danych

- krótkotrwałe- długotrwałe

- przemieszczanie danych - proces wejscia/wyjscia między komputerem a urządzeniem peryferyjnym(zewnętrznym) - sterowanie – wszystkimi powyższymi funkcjami

Podaj strukturę komputera (5):- jednostka centralna (CPU)- pamięć główna- wejście/wyjście- magistrala systemowa

Podaj strukturę procesora (6):- rejestry- jednostka arytmetyczno – logiczna (ALU)- jednostka sterująca - połączenie wewnętrzne CPU

Podaj strukturę jednostki sterującej (7):- rejestry i dekodery- układy logiczne szeregowania - synchronizacja i sterowanie- wewnętrzna szyna danych

Narysuj schemat maszyny von Neumana (8):+------------+ +----------------+ +--------+| |-->| Jednostka |--->| || | | arytmetyczno | | || |<--| logiczna (ALU) |<---| || Urządzenia | +----------------+ | || wejścia- | | ^ | pamięć || wyjścia | v | | główna || | +----------------+ | || | | Programowa |--->| || | | jednostka | | || | | sterująca |<---| |+------------+ +----------------+ +--------+

Page 2: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Opisz architekturę maszyny IAS, pamięci, rejestry, fromat danych i rozkazów (9):- pamięć: 1000 x 40 bitowych słów

- reprezentacja binarna- 2 x 20 bitowe rozkazy

- rejestry (pamiętane w CPU)- rejestr buforowy pamięci – MBR: Master Buffer Register- rejestr adresowy pamięci – MAR: Memory Address Reg.- rejestr rozkazów – IR: Instruction Register- rejestr buforowy rozkazów – IBR: Instruction Buffer Reg.- licznik programu – PC : Program Counter- akumulator - AC: Acumulator- rejestr mnożenia-dzielenia –MQ: Multiper-Quotier

- format danych:0 1 30+---------------------------+| | |+---------------------------+^| bit znaku- M(X, A:B) – zawartość komórki pamięci o adresie X od bitu A do bitu B; M(X) = M(X, 0:39)

- format rozkazów:- rozkaz dzieli się na rozkaz lewy i rozkaz prawy, każdy dwudziesto bitowy Rozkaz lewy | Rozkaz prawy 0 8 19 20 39 +------------------------------+| | | | |+------------------------------+^ ^| |8-bitowy adres kod lewegorozkazu

Wymień funkcje jednostki centralnej oraz rejestry procesora (10):- funkcje:

- pobieranie rozkazów z pamięci- interpretowanie rozkazów- pobieranie danych (z pamięci lub we/wy)- przechowywanie danych w pamięci- przetwarzanie danych - wykonywanie rozkazów- zapisywanie wyników (do pamięci lub we/wy)

- rejestry:- licznik programu (PC) - adres rozkazu do pobrania- rejestr rozkazu (IR) - kod rozkazu- rejestr adresowy pamięci (MAR) - adres lokacji- rejestr buforowy pamięci (MBR) - dane do/z pamięci- rejestry PSW (ang. program status word) - słowo stanu programu, - informacje o stanie; dokładniej o PSW (bity, flagi)

- znak - bit znaku ostatniej operacji- zero - wynik operacji = zero- przeniesienie (ang. carry) - przeniesienie w wielokrotnej precyzji- równość (ang. equal) - wynik porównania logicznego- przepełnienie - (ang. overflow)- zezwolenie/blokowanie przerwań- nadzorca – tryb systemu lub tryb użytkownika

Page 3: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Wymień linie magistrali systemowej (11):- linie danych - do przenoszenia danych np. szyna danych 8b a rozkaz 16b: 2 x transfer z pamięci - linie adresowe - do określenia adresu danych- linie sterowania - do sterowania liniami- linie zasilania

Wymień funkcje jednostki centralnej (12):To samo co pytanie 10.

Wymień kategorie urządzeń we/wy (13):- przeznaczone do odczytu przez człowieka (np. monitor ekranowy, wydruk, dźwięk)- przeznaczone do odczytu przez maszynę (np. dyski magnetyczne, taśmy, czujniki w robotach)- komunikacyjne (np. modem, karta sieciowa)

Wymień funkcje modułu we/wy (14):- sterowanie i taktowanie (zegar)- komunikacja z procesorem- komunikacja z urządzeniem- buforowanie danych- wykrywanie błędów

Wymień i opisz sposoby realizacji we/wy (15):- programowane – dane są wymieniane między procesorem a modułem we/wy, procesor czeka nazakończenie operacji we/wy,- sterowane przerwaniami – procesor wydaje operację we/wy i wykonuje dalsze rozkazy do momentuzakończenia operacji we/wy (przerwanie we/wy),- bezpośredni dostęp do pamięci (ang. direct memory access – DMA) – moduł we/wy wymienia danebeżpośrednio z pamięcią bez udziału procesora

Wymień i opisz metody dostępu do pamięci (16):- dostęp sekwencyjny (ang. sequential)

- dostęp liniowy blok po bloku w przód lub w tył,- czas dostępu zależy od pozycji bloku względem pozycji bieżącej, przykład: taśmy,

- dostęp bezpośredni (ang. direct)- każdy blok na unikalny adres,- czas dostępu realizowany przez skok do najbliższego otoczenia i sekwencyjne przeszukiwanie,przykład: dysk magnetyczny,

- dostęp swobodny (ang. random)- każda adresowalna lokacja w pamięci ma unikatowy, fizycznie wbudowany mechanizm adresowania,- czas dostępu nie zależy od poprzednich operacji i jest stały, przykład: RAM,- dostęp skojarzeniowy (ang. associative)- dane są lokalizowane raczej na podstawie porównania z ich zawartością niż na podstawie adresu,- czas dostępu nie zależy od poprzednich operacji i jest stały, przykład: pamięć podręczna (ang. cache).

Wymień rodzaje pamięci ze względu na własności fizyczne (17):- półprzewodnikowa (np. RAM),- magnetyczna (dysk, taśma),- magneto-optyczna (CD, DVD).

Podaj hierarchię pamięci (18):- rejestry,- pamięć podręczna

- poziom 1,- poziom 2,

- pamięć główna,- dyskowa pamięć podręczna,- pamięć dyskowa,- pamięć optyczna | taśmowa.

Page 4: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Wymień zastosowania oraz cechy pamięci DRAM (19):- bity zapamiętane jako ładunki w kondensatorach,- rozładowywanie,- okresowe „odświeżanie ładunku”,- prosta budowa,- mała,- tania,- wolna,- asynchroniczna,- zastosowania: pamięć główna.

Wymień zastosowania oraz cechy pamięci SRAM (20):- bity przechowywane za pomocą przerzutników,- nie wymaga odświeżania,- bardziej złożona budowa,- większa,- droższa,- szybsza,- zastosowanie: pamięć podręczna.

Wymień zastosowania oraz rodzaje pamięci ROM (21):- zapisywana w trakcie produkcji

- bardzo droga dla małych serii,- pamięć programowalna (PROM, ang. programmable)

- do zapisu (tylko raz) wymagane jest specjalne urządzenie,- pamięć głównie do odczytu (ang. read-mostly memory)

- optycznie wymazywalna programowalna pamięć stała (ang. Erasable Programmable (EPROM))- wymazywanie: naświetlanie promieniowaniem ultrafioletowym z układu znajdującego się wobudowie,

- elektrycznie wymazywalna programowalna pamięć stała (ang. Electrically Erasable Programmable(EEPROM))

- zapisywane są tylko bajty zaadresowane,- zapisywanie trwa dłużej niż odczyt (kilka mikrosekund/B),- mniej gęsto upakowana niż EPROM,

- pamięć błyskawiczna (ang. Flash memory)- wymazywanie elektryczne,- nie umożliwia wymazywania na poziomie bajtu,- szybsza niż EPROM,- tańsza niż EEPROM.

Opisz stany cyklu rozkazu z przerwaniami (22):- obliczanie adresu rozkazu (iac - instruction address calculation) - adres następnej instrukcji - pobieranie rozkazu (if - instruction fetch) - wczytanie z pamięci do CPU - dekodowanie operacji rozkazu (iod - instruction operation decoding ) - obliczanie adresu argumentu (oac - operand address calculation)- pobieranie argumentu (of - operand fetch) - operacja na danych (do - data operation ) - operacja na danych - przechowanie argumentu (os - operand store) - zapisanie wyniku

Opisz cykl przerwania (23):- do cyklu rozkazu dodaje się cykl przerwania- procesor sprawdza czy nastąpiło przerwanie

- obecność sygnału przerwania- jeśli nie ma przerwania pobiera nowy rozkaz- jeśli następuje przerwanie to procesor::

- zawiesza wykonanie bieżącego programu- zachowuje kontekst bieżącego programu- ustawia licznik rozkazów (ang. Program Counter) na adres programu obsługi przerwań (ang. interrupthandler routine)- obsługuje przerwanie

- odtwarza kontekst i kontynuuje przerwany program

Page 5: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Opisz typy przerwań (24):- programowe

- np. przepełnienie arytmetyczne, dzielenie przez 0 - zegarowe

- generowane przez wewnętrzny zegar procesora - umożliwia wywłaszczanie w systemie wielozadaniowym

- we/wy - od modułu we/wy - sprzętowe

- np. błąd parzystości pamięciOpisz sprzętową ochronę adresów (25):

- sprzęt jednostki centralnej porównuje każdy adres wygenerowany w trybie użytkownika z zawartościąrejestrów bazowego i granicznego - zwartości rejestru bazowego i granicznego mogą być załadowane jedynie w trybie monitora (load jestinstrukcją uprzywilejowaną) - przerwanie protekcji pamięci

Opisz zegarową ochronę CPU (26):- zegar jest ustawiany przez system operacyjny przed przekazaniem sterowania do programuużytkownika

- w trakcie wykonywania programu zegar jest zmniejszany - jeśli zegar osiągnie 0 generowane jest przerwanie

- ładuj zegar jest rozkazem uprzywilejowanym - zegar może być wykorzystany do realizacji podziału czasu (ang. time sharing) - przerwanie zegarowenastępuje po wykorzystaniu kwantu czasu przez proces

Opisz start systemu W2K (27):- rozruch systemu (ang. booting) - mały fragment kodu, przechowywany w ROM, określany jakoprogram rozruchowy (ang. bootstrap program) lub elementarny program ładujący (ang. bootstrap loader) - program ładujący jest w stanie zlokalizować kod jądra systemu, wprowadzić go do pamięci i rozpocząćjego wykonanie

- dwuetapowy program ładujący sprowadza do pamięci bardziej złożony program ładujący, którypowoduje załadowanie jądra systemu

- pierwszy sektor na dysku (ang. Master Boot Record, MBR) zawiera program boot, który zostajewczytany do pamięci - uruchomiony zostaje program boot, który:

- relokuje się aby zwolnić początkowe adresy pamięci na jądro systemu - czyta katalog root na dysku - wczytuje program ntldr - przekazuje sterowanie programowi ntldr:

- czyta plik konfiguracyjny Boot.ini - wczytuje pliki: hal.dll, ntoskrnl.exe, bootvid.dll - wczytuje drivery (myszy,...) - przekazuje sterowanie programowi ntoskrnl.exe

Opisz dualny tryb operacji (28):- system wielozadaniowy musi chronić system operacyjny oraz wykonywane programy przed każdymniewłaściwie działającym programem - należy wyposażyć sprzęt w środki pozwalające na rozróżnienie przynajmniej dwóch trybów pracy:

- tryb użytkownika (ang. user mode) - wykonanie na odpowiedzialność użytkownika - tryb monitora (ang. monitor mode) = tryb nadzorcy (ang. supervisor mode ) = tryb systemu (ang.system mode) = tryb uprzywilejowany (ang. privileged mode) - wykonanie na odpowiedzialnośćsystemu operacyjnego

- bit trybu (ang. mode bit) w sprzęcie komputerowym wskazujący na bieżący tryb pracy: system (0),użytkownik (1) ,- wystąpienie błędu: przejście w tryb 0 Błąd/przerwanieMonitor <---------------------- użytkownik ----------------------> ustaw tryb 1- rozkazy uprzywilejowane (ang. privileged) - tryb systemu

Page 6: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Wymień usługi systemu operacyjnego (29):- wykonanie programu - system powinien móc załadować program do pamięci i wykonać go, - operacje we/wy – ponieważ program użytkowy nie wykonuje operacji we/wy bezpośrednio więc musito oferować system- manipulowanie systemem plików - program musi mieć możliwość (pod kontrolą) do czytania, pisania,tworzenia i usuwania plików- komunikacja – wymiana informacji pomiędzy procesami wykonywanymi na tym samym lub zdalnymkomputerze np. za pomocą pamieci dzielonej (ang. shared memory) lub przekazywania komunikatów(ang. message passing) - wykrywanie błędów – zapewnienie prawidłowości działania komputera poprzez wykrywanie i obsługęwszystkich błedów w jednostce centralnej, pamięci operacyjnej, urządzeniach we/wy (np. błąd sumykontrolnej) i w programie użytkownika (np. przekroczenie czasu)- dodatkowe funkcje systemu nie są przeznaczone do pomagania użytkownikowi, lecz do optymalizacjidziałania samego systemu:

- przydzielanie zasobów dla wielu użytkowników i wielu zadań w tym samym czasie - rozliczanie – przechowywanie danych o tym, którzy użytkownicy i w jakim stopniu korzystają zposzczególnych zasobów komputera (statystyka użytkowania) - ochrona – zapewnienie aby cały dostęp do zasobów systemu odbywał się pod kontrolą np. dostępprzez modem po podaniu hasła

Co to jest funkcja systemowa (30):- funkcje systemowe (ang. system calls) tworzą interfejs między wykonywanym programem a systememoperacyjnym,

- dostępne na poziomie języka maszynowego (asemblera) - IBM/370: rozkaz SIO (start input/output) - pewne języki zastępują asembler w programowaniu systemowym i umożliwiają bezpośredniewykonywanie funkcji systemowych (np. C, C++, Bliss, PL/360, PERL) - win32 API (ang. Application Programmer Interface) - wielki zbiór procedur dostarczanych przezMicrosoft, które umożliwiają realizację funkcji systemowych

Wymień podstawowe metody przekazywania parametrów między procesorem a systemem (31):- są trzy metody przekazywania parametrów między wykonywanym programem a systememoperacyjnym

- umieszczenie parametrów w rejestrach jednostki centralnej - zapamiêtanie parametrów w tablicy w pamięci operacyjnej i przekazanie adresu tej tablicy jakoparametru w rejestrze - składowanie (ang. push) przez program parametrów na stosie (ang. stack) i zdejmowanie (ang. pop)ze stosu przez system operacyjny

Wymień rodzaje funkcji systemowych (32):- nadzorowanie procesów - operacje na plikach - operacje na urz¹dzeniach - utrzymywanie informacji - komunikacja

Wymień po siedem przykładów funkcji systemowych w W2K oraz Unixie (33):- unix (operacje na plikach):

- utworzenie (create) i usunięcie (delete) - otwarcie (open) i zamknięcie (close) - czytanie (read), pisanie (write), zmiana położenia (reposition) - pobranie (get) i ustawienie (set) atrybutów (attributes) pliku

- W2K (nadzorowanie procesów)- zakończenie (end), zaniechanie (abort) - załadowanie (load), wykonanie (execute) - utworzenie (create) i zakończenie (terminate) - pobranie (get) i ustawienie (set) atrybutów - czekanie czasowe (wait for time) - czekanie na zdarzenie (event), sygnał (signal) - przydział (allocate) i zwolnienie (free)

Page 7: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Wymień etapy realizacji polecenia w systemie Unix (34):- interpreter poleceń: powłoka (ang. shell) - system wielozadaniowy - wprowadzenie polecenia to zapoczątkowanie procesu funkcją systemową fork lub exec - powłoka oczekuje na zakończenie procesu - jeśli polecenie wykonuje się w tle (ang. background) to powłoka może przyjmować nowe polecenia - proces wykonuje funkcję systemową exit - powłoka może realizować nowe polecenie

Wymień kategorie programów systemowych (35):- manipulowanie plikami (ang. file manipulation) - programy do tworzenia, usuwania, kopiowania,przemianowywania, składowania i wyprowadzania zawartości plików - informowanie o stanie systemu (ang. status information) - logi systemowe - tworzenie i zmienianie zawartości plików (ang. file modification) - np. edytory- translatory języków programowania (ang. programming language support) - C, Pascal, Basic, Lisp.. - ładowanie i wykonywanie programów (ang. program loading and execution) - konsolidatory i programyładujące - komunikacja (ang. communications) - np. remote login - programy aplikacyjne (ang. application programs)

Wymień trzy struktury systemów operacyjnych oraz przykłady ich realizacji (36):- monolityczna (ang. monolithic) - jądro jednoczęściowe

- OS/360 - 5000 programistów 1M kodu w ciągu 5 lat - IBM/360 MVT/TSO - koszt 50M $ - AIX - Unix wersji IBM - jądro dwuczęściowe - MS-DOS, Unix

- warstwowa (ang. layered) - struktura hierarchiczna - skutki małych zmian w jednej warstwie trudne do przewidzenia w innychwarstwach - system THE (Technische Hogeschool w Eindhoven)

- mikrojądra (ang. microkernel, µ-kernel) - jedynie bezwzględnie niezbędne funkcje systemowe w jądrze systemu (np. mikrojądro L4 ma 12kBkodu, 7 funkcji systemowych)- Mach – opracowany w Carnegie-Mellon University - Tru64 UNIX – Digital UNIX - Apple MacOS X Server - QNX - przykład systemu czasu rzeczywistego

Wyjaśnij zasadę maszyny wirtualnej (37):- maszyna wirtualna (ang. virtual machine) jest logiczną konsekwencją podejęcia warstwowego: jądrosystemu jest traktowane jako sprzęt

- IBM VM/370, JavaOS, Tryb MS-DOS, Cygwin, VMware - maszyna wirtualna dostarcza identycznego interfejsu dla sprzętu - system operacyjny tworzy wirtualne systemy komputerowe, każdy proces ma do dyspozycji własne(wirtualne) jądro, dyski, pamięć, drukarki- zasoby fizycznego komputera są dzielone w celu utworzenia maszyn wirtualnych - planowanie przydziału procesora jest tak wykorzystane, że użytkownik ma wrażenie jakoby miał dodyspozycji własny procesor - spooling i system zarzadzania plikami jest wykorzystany tak, że powstaje wrażenie użytkowaniadrukarki, czytnika na wyłączność - zwykłe terminale użytkownika funkcjonują jak konsole operatorskie maszyny wirtualnej ( systeminterakcyjny CMS)

Page 8: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Podaj argumenty za i przeciw realizacji maszyny wirtualnej (38):- koncepcja maszyny wirtualnej dostarcza pełnej ochrony zasobów systemu, bowiem każda maszynawirtualna jest całkowicie odizolowana od innych maszyn. Z drugiej strony izolacja taka utrudniabezpośrednie dzielenie zasobów- system maszyn wirtualnych jest doskonałym narzędziem do badania systemów operacyjnych orazposzukiwania kierunków ich rozwoju. Nie ma potrzeby wyłączać z eksploatacji systemu komputerowegow czasie trwania prac systemowych - można eksperymentowaæ na jednej z maszyn wirtualnych- metasystem operacyjny - system operacyjny nadzorujący jednoczesną pracę wielu systemówoperacyjnych na jednym komputerze: np. 9xLinux, 2xW95, 2xWNT, 1xSolaris, 1xMS-DOS - koncepcja maszyny wirtualnej jest bardzo trudna do zaimplementowania dlatego, że zawsze będziepokusa uzyskania oryginalnego systemu w pod postacią maszyny wirtualnej - petitio principii - “błędnekoło”

Wymień założenia projektowania systemu operacyjnego (39):- oczekiwania użytkownika - system operacyjny powinien być wygodny i łatwy w użyciu i do nauki,niezawodny, bezpieczny i szybki - oczekiwania projektanta systemu - system operacyjny powinien być łatwy w projektowaniu orazrealizacji; elastyczny, niezawodny, wolny od błędów i wydajny - sformułowane oczekiwania są niejasne, nieprecyzyjne, na domiar złego ogólny sposób realizacji jestnieznany

Wymień stany procesu wraz z ich angielskimi odpowiednikami (40):- wykonujący się proces zmienia swój stan (ang. state)

- nowy (ang. new): proces został utworzony - aktywny (ang. running): są wykonywane instrukcje - oczekiwanie (ang. waiting): proces czeka na zdarzenie (np. zakończenie we/wy) - gotowy (ang. ready): proces czeka na przydział procesora - zakończony (ang. terminated): proces zakończył działanie

Opisz zawartość PCB (41):- każdy proces w systemie operacyjnym jest reprezentowany przez blok kontrolny procesu (ang. processcontrol block - PCB) zawierający

- stan procesu – gotowy, nowy, aktywny, czekający, zatrzymany - licznik rozkazów - adres następnego rozkazu do wykonania w procesie - rejestry procesora - zależą od architektury komputera: akumulatory, rejestry (ogólne, bazowe,indeksowe) wskaźniki stosu przechowywane aby proces mógł być kontynuowany po przerwaniu- informacje o planowaniu przydziału procesora - priorytet procesu, wskaźniki do kolejekporządkujących zamówienia - informacje o zarządzaniu pamięcią - zawartości rejestrów granicznych, tablice stron, tablicesegmentów w zależności od systemu używanej pamięci - informacje do rozliczeń - ilość zużytego czasu procesora i czasu rzeczywistego, ograniczeniaczasowe, numery kont, numery zadań - informacje o stanie we/wy - lista zaalokowanych urządzeń, wykaz otwartych plików

Wymień zasoby używane przez wątki (42):- wątek (ang. thread) nazywany niekiedy procesem lekkim (ang. lightweight process – LWP) jestpodstawową jednostką wykorzystania procesora. W skład tej jednostki wchodzą

- licznik rozkazów - zbiór rejestrów - obszar stosu

- wątek współużytkuje z innymi równorzędnymi wątkami - sekcję kodu - sekcję danych - zasoby systemu (takie jak otwarte pliki i sygnały) zwane wspólnie zadaniem (ang. task)

Page 9: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Wymień typy wątków (43):- wątki (ang. kernel-level) obsługiwane przez jądro

- Mach, OS/2, Windows 9x/NT/2K, Linux, BeOS - wątki tworzone na poziomie użytkownika (ang. user-level) za pomocą funkcji bibliotecznych

- system Andrew - POSIX: Pthreads, Mach: C-threads, Solaris 2: UI-threads - zaleta: szybsze przełączanie, wada: planowanie wątków

- hybrydowe podejście - Solaris 2 - wątki zarządzane przez JVM

- zielone (ang. green) – watki w ramach maszyny wirtualnej- natywne (ang. nativ) – watki w ramach systemu operacyjnego

Wymień rodzaje planistów (44):- planista długoterminowy (ang. long-term scheduler) lub planista zadań (ang. job scheduler) - wybieraprocesy, które powinny być sprowadzone do pamięci do kolejki procesów gotowych - planista krótkoterminowy (ang. short-term scheduler) lub planista przydziału procesora (ang. CPUscheduler) - wybiera proces następny do wykonania z kolejki procesów gotowych i przydziela muprocesor- planista krótkoterminowy jest wołany bardzo często (milisekundy) dlatego musi być bardzo szybki - planista długoterminowy jest wołany rzadko (sekundy, minuty) dlatego może nie być szybki - planista długoterminowy nadzoruje stopień wieloprogramowości (liczbę procesów w pamięci) - proces może być opisany jako jeden z

- ograniczony przez we/wy (ang. I/O bound) - więcej czasu zajmuje we/wy niż dostęp do procesora - ograniczony przez dostęp do procesora (ang. CPU bound) – więcej czasu zajmują obliczenia, we/wysporadyczne

- planista długoterminowy powinien dobrać mieszankę procesów (ang. process mix) zawierającą zarównoprocesy ograniczone przez we/wy jak i procesor - planista średnioterminowy(ang. medium-term scheduler) – swapping (wymiana) w celu uzyskanialepszego doboru procesów

Wymień sytuacje w jakich planista przydziału procesora podejmuje decyzję o przydzialeprocesora (45):

- decyzje o przydziale procesora podejmowane są - gdy proces przeszedł od stanu aktywności do czekania (np. z powodu we/wy)- gdy proces przeszedł od stanu aktywności do gotowości (np. wskutek przerwania) - gdy proces przeszedł od stanu czekania do gotowości (np. po zakończeniu we/wy)- gdy proces kończy działanie

Wymień niebezpieczeństwa związane z wywłaszczeniami (46):- planowanie wywłaszczające: drogie i ryzykowne - co się stanie gdy wywłaszczony zostanie proces w trakcie wykonywania funkcji systemowej (np.zmiany danych w blokach opisu kolejki we/wy)? - UNIX czeka z przełączeniem kontekstu do zakończenia wywołania systemowego lub do zablokowaniaprocesu na we/wy - nie można wywłaszczać procesu gdy wewnętrzne struktury jądra są niespójne- blokowanie przerwań przy wejściu do ryzykownych fragmentów kodu jądra

Wymień kryteria stosowane przy doborze algorytmu najlepszego planowania (47):- wykorzystanie procesora - procesor musi być nieustannie zajęty pracą

- powinno się mieścić od 40% (słabe obciążenie systemu) do 90% (intensywna eksploatacja) - przepustowość (ang. throughput) - liczba procesów kończących w jednosce czasu: długie procesy 1 nagodzinę, krótkie - 10 na sekundę - czas cyklu przetwarzania (ang. turnaround time) - czas między nadejściem procesu do systemu a chwiląjego zakończenia: suma czasów czekania na wejście do pamięci, czekania w kolejce procesów gotowych,wykonywania we/wy, wykonania (CPU) Czas oczekiwania - suma kresów, w których proces czeka wkolejce procesów gotowych do działania - czas odpowiedzi (ang. response time) - ilość czasu między wysłaniem żądania a pojawieniem sięodpowiedzi (bez czasu potrzebnego na wyprowadzenie odpowiedzi np. na ekran). Czas odpowiedzi jestna ogół uzależniony od szybkości działania urządzenia wyjściowego

Page 10: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Wymień kryteria optymalizacji algorytmu planowania (48):- maksymalne wykorzystanie procesora - maksymalna przepustowość - minimalny cykl przetwarzania - minimalny czas oczekiwania - minimalny czas odpowiedzi

- minimalizowanie wariancji czasu odpowiedzi - mało algorytmów minimalizujących wariancję - pożądany system z sensownym i przewidywalnym czasem odpowiedzi

Opisz algorytm FCFS (49):- pierwszy zgłoszony, pierwszy obsłużony (ang. first-come, first-served – FCFS) - implementuje się łatwo za pomocą kolejek FIFO - blok kontrolny procesu dołączany na koniec kolejki,procesor dostaje PCB z czoła kolejki- załóżmy, ze mamy jeden proces P ograniczony przez procesor i wiele procesów ograniczonych przezwe/wy (Q,R,..)

- proces P uzyskuje procesor i procesy Q,.. kończą we/wy - urządzenia we/wy są bezczynne - proces P kończy swoją fazę procesora, procesy Q,... zadziałają szybko (mają krotkie fazy procesora bosą ograniczone przez we/wy) - proces P uzyskuje procesor, procesy Q,.. kończą we/wy...

- efekt konwoju (ang. convoy effect) - procesy czekają aż wielki proces odda procesor - algorytm FCFS jest niewywłaszczający - proces utrzymuje procesor do czasu aż zwolni go wskutek zakończenia lub zamówi operację we/wy - algorytm FCFS jest kłopotliwy w systemach z podziałem czasu bowiem w takich systemach ważne jestuzyskiwanie procesora w regularnych odstępach czasu- //Według tego schematu proces, który pierwszy zamówił procesor, pierwszy go otrzyma.Implementację tego algorytmu łatwo otrzymuje się za pomocą kolejki FIFO. Blok kontrolny procesuwchodzącego do kolejki procesów gotowych jest dołączony do końca kolejki. Wolny procesor przydzielasię procesorowi z czoła kolejki procesów gotowych. Algorytm planowania metodą FCFS łatwozaprogramować i zrozumieć jego kod.

Opisz algorytm SJF wywłaszczający (50):- algorytm najpierw najkrótsze zadanie (ang. shortest-job-first - SJF) wiąże z każdym procesem długośćjego najbliższej z przyszłych faz procesora. Gdy procesor staje się dostępny wówczas zostajeprzydzielony procesowi o najkrótszej następnej fazie (gdy fazy są równe to mamy FCFS) - wywłaszczający – SJF usunie proces jeśli nowy proces w kolejce procesów gotowych ma krótsząnastępną fazę procesora od czasu do zakończenia procesu; metoda najpierw najkrótszy pozostały czas(ang. shortest-remaining-time-first - SRTF)

Opisz algorytm RR (51):- planowanie rotacyjne (ang. round-robin - RR) zaprojektowano dla systemów z podziałem czasu - każdy proces otrzymuje małą jednostkę czasu, nazywaną kwantem czasu (ang. time quantum, timeslice) zwykle od 10 do 100 milisekund. Gdy ten czas minie proces jest wywłaszczany i umieszczany nakońcu kolejki zadań gotowych (FCFS z wywłaszczeniami) - jJeśli jest n procesów w kolejce procesów gotowych a kwant czasu wynosi q to każdy proces otrzymuje1/n czasu procesora porcjami wielkości co najwyżej q jednostek czasu. - każdy proces czeka nie dłużej niż (n-1)*q jednostek czasu - wydajność algorytmu

- gdy q duże to RR przechodzi w FCFS - gdy q małe to mamy dzielenie procesora (ang. processor sharing) ale wtedy q musi być duże wstosunku do przełączania kontekstu (inaczej mamy spowolnienie)

- mniejszy kwant czasu zwiększa przełączanie kontekstu- czas cyklu przetwarzania zależy od kwantu czasu

Rozważmy, procesy: p1, p2, p3, p4, p5 o nast. Czasach trwania fazy (milisekundach): ?,?,?,?.Narysuj diagram Gantta dla algorytmów FCFS, SJF, z i bez wywłaszczeń, RR (kwant = 1) orazoblicz ich średnie czasy cyklu przetwarzania i oczekiwania (52):

- Wykład 7

Page 11: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Opisz algorytm wielopoziomowych kolejek ze sprzężeniem zwrotnym (53):- kolejki wielopoziomowe z sprzężeniem zwrotnym (ang. multilevel feedback queue scheduling)umożliwiają przesuwanie procesów między kolejkami - proces, który zużywa za dużo procesora można zdymisjonować poprzez przesunięcie go do kolejki oniższym priorytecie i dzięki temu zapobiec zagłodzeniu innych procesów - postępowanie takie prowadzi do pozostawienia procesów ograniczonych przez we/wy orazinterakcyjnych w kolejkach o wyższych priorytetach - trzy kolejki:

- Q0 - kwant czasu 8 milisekund - Q1 - kwant czasu 16 milisekund - Q2 - FCFS

- planowanie - nowe zadanie wchodzi do kolejki Q0 obsługiwanej przez FCFS. Zadanie dostaje 8 milisekund i jeślisię nie zmieści w tym czasie zostaje przeniesione na koniec kolejki Q1 - w kolejce Q1 zadanie jest znów obsługiwane przez algorytm FCFS i dostaje dodatkowe 16milisekund. Jeśli ponownie nie zmieści się w tym czasie zostaje wywłaszczone do kolejki Q2- algorytm ten daje najwyższy priorytet procesom o fazie nie większej niż 8ms, procesy o fazie między8ms i 24ms są także szybko obsługiwane; długie procesy wchodzą do kolejki 2 i są obsługiwane(FCFS) w cyklach pracy procesora nie wykorzystanych przez procesy z kolejek 0 i 1

- planowanie ze sprzężeniem zwrotnym jest najogólniejszym i najbardziej złożonym algorytmemplanowania przydziału procesora - planista wielopoziomowych kolejek ze sprzężeniem zwrotnym jest określony za pomocą następującychparametrów

- liczba kolejek - algorytm planowania dla każdej kolejki - metody użytej do decydowania o awansowaniu (ang. upgrade) procesu do kolejki o wyższympriorytecie - metody użytej do decydowania o zdymisjonowaniu (ang. demote) procesu do kolejki o niższympriorytecie - metody wyznaczenia kolejki, do której trafia proces potrzebujący obsługi

Wymień metody oceny algorytmów planowania (54):- modelowanie deterministyczne - przyjmuje się konkretne, z góry określone obciążenie robocze systemui definiuje zachowanie algorytmu w warunkach tego obciążenia. Jest to odmiana oceny analitycznej (ang.analytic evaluation)

- dla danego zbioru procesów mających zadane uporządkowanie i wyrażone w milisekundach fazyprocesora rozważamy algorytmy planowania (FCFS, SJF, RR (o zadanym kwancie czasu) , itp.) - pytanie: który algorytm minimalizuje czas oczekiwania?

- modelowanie deterministyczne jest proste i szybkie, daje konkretne liczby pozwalające dokonaćwyboru algorytmu planowania - modelowanie deterministyczne wymaga jednak specyficznych sytuacji i dokładnej wiedzy dlatego niezasługuje na miano ogólnie użytecznego- modele obsługi kolejek – analiza obsługi kolejek w sieciach(ang. queueing-network analysis)

- wzór Little’a: n = l*W – liczba procesów opuszczających kolejkę musi się równać liczbie procesówprzychodzących - n - średnia długość kolejki - W - średni czas oczekiwania w kolejce - l - ilość nowych procesów na sekundę

- symulacja sterowana rozkładami - ma ograniczoną dokładność - taśma śladów zdarzeń rzeczywistego systemu może poprawić dokładność

- implementacja - kosztowna ale dokładna ocena Podaj definicję impasu (55):

- zbiór procesów jest w stanie impasu, gdy każdy proces z tego zbioru czeka na zdarzenie, które możebyć spowodowane tylko przez inny proces z tego samego zbioru

Page 12: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Wymień warunki wystąpienia impasu w systemie (56):- do impasów może dochodzić wtedy, kiedy w systemie zachodzą jednocześnie cztery warunki

- wzajemne wykluczanie (ang. mutual exclusion) - przetrzymywanie i oczekiwanie (ang. hold and wait) - brak wywłaszczeń (ang. no preemption) - czekanie cykliczne (ang. circular wait)

- wzajemne wykluczanie zajdzie wtedy gdy przynajmniej jeden zasób jest niepodzielny; zasobu w danymczasie może używać tylko jeden proces - przetrzymywanie i oczekiwanie zajdzie wtedy jeśli istnieje proces, któremu przydzielono co najmniejjeden zasób i który oczekuje na przydział dodatkowego zasobu, przetrzymywanego przez inny proces - brak wywłaszczeń zajdzie wtedy gdy zasób może zostać zwolniony jedynie z inicjatywyprzetrzymującego go procesu (np. po zakończeniu)

- czekanie cykliczne zajdzie wtedy jeśli istnieje zbiór czekających procesów { P0, P1 …, Pn }, takichże proces P0 czeka na zasób trzymany przez proces P1, proces P1 czeka na zasób trzymany przezproces P2, …, proces Pn-1 czeka na zasób trzymany przez proces Pn, oraz proces Pn czeka na zasóbtrzymany przez proces P0

Wymień metody zapobiegania impasom (57):- zapewnić, aby nie mógł wystąpić przynajmniej jeden z czterech warunków koniecznych: - wzajemne wykluczanie – dotyczy jedynie zasobów niepodzielnych (np. drukarek); nie możnazaprzeczyć temu warunkowi bowiem niektóre zasoby są z natury niepodzielne - przetrzymywanie i oczekiwanie - aby zapewnić, że warunek ten nigdy nie wystąpi w systemie trzebazagwarantować, że gdy proces zamawia zasób to nie powinien trzymać innych zasobów

- każdy proces zamawia i otrzymuje wszystkie swoje zasoby przed rozpoczęciem działania (np.najpierw wywołania systemowe dotyczące zasobów, potem pozostałe) - proces może zamówić zasób o ile nie ma żadnych zasobów - zanim proces zamówi zasób musi wpierw wszystkie oddać - wady: słabe wykorzystanie zasobów, możliwość głodzenia

- brak wywłaszczeń - trzeba zapewnić, że zasoby nie ulegają wywłaszczeniu jedynie z inicjatywyprzetrzymującego je procesu

- jeśli proces żąda zasobu i nie może go otrzymać to traci wszystkie swoje zasoby i czeka na nie - jeśli proces zamawia jakieś zasoby to się sprawdza czy są one dostępne - jeśli są dostępne to się je przydziela - jeśli są trzymane przez proces, który sam czeka na jakiś zasób to się mu zasoby odbiera i przydzielazamawiającemu - w przeciwnym razie proces czeka i może utracić zasoby

- czekanie cykliczne - sposobem aby warunek ten nigdy nie wystąpił w systemie jest przyporządkowaniewszystkim zasobom danego typu kolejnych liczb i żądanie, aby

- każdy proces zamawiał zasoby we wzrastającym porządku numeracji - alternatywnie można wymagać aby proces zamawiający zasób miał zawsze zwolnione zasoby onumeracji wyższej od zamawianego

- porządek używania zasobów: np. taśmy - 3, drukarki - 4 Podaj definicję stanu bezpiecznego (58):

- kiedy proces żąda wolnego zasobu system musi zadecydować czy przydzielenie zasobu pozostawisystem w stanie bezpiecznym - system jest w stanie bezpiecznym (ang. safe) jeśli istnieje taki porządek przydzielania zasobówkażdemu procesowi, który pozwala na uniknięcie impasu - system jest w stanie bezpiecznym jeśli istnieje bezpieczny ciąg procesów - system jest w stanie zagrożenia (ang. unsafe) jeśli nie jest w stanie bezpiecznym- ciąg procesów <P1, P2, …, Pn> jest bezpieczny jeśli dla każdego procesu Pi , jego potencjalnezapotrzebowanie na zasoby może być zaspokojone przez bieżąco dostępne zasoby + zasoby użytkowaneprzez wszystkie procesy Pj , przy czym j<i

- jeśli Pi żąda zasobów, które nie są natychmiast dostępne, to Pi może poczekać aż skończą sięwszystkie procesy Pj - jeśli Pj skończą, Pi może otrzymać wszystkie potrzebne zasoby, dokończyć pracę, zwolnić zasoby izakończyć - jeśli Pi zakończy, Pi+1 może otrzymać niezbędne zasoby itd.

Page 13: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Wymień sposoby likwidacji impasu (59):- likwidowanie impasu – zaniechanie (abort)

- zaniechanie wszystkich zakleszczonych procesów - usuwanie procesów pojedynczo, aż do wyeliminowania cyklu impasu - na kolejność zaniechania ma wpływ

- priorytet procesu - długość czasu wykonania i czas pozostały do zakończenia - zasoby i typy potrzebne do zakończenia - ilość procesów do przerwania - interakcyjność lub wsadowość

- likwidowanie impasu – wywłaszczanie- wybór ofiary – minimalizowanie kosztów - wycofanie (ang. rollback) - wycofanie procesu do bezpiecznego stanu, od którego można go będziewznowić - głodzenie - ten sam proces może być zawsze ofiarą, podobnie jak i ten sam proces może być ciąglewycofywany. Trzeba zadbać aby proces mógł być delegowany do roli ofiary tylko skończoną liczbęrazy

- likwidowanie impasu – podejście mieszane- podstawowe strategie

- zapobieganie (ang. prevention) - unikanie (ang. avoidance) - wykrywanie (ang. detection)

- strategie stosowane osobno nie nadają się do rozwiązywania problemów z przydzielaniem zasobów - podział wszystkich zasobów na hierarchicznie uporządkowane klasy - w obrębie klas dobieramy najodpowiedniejsze techniki pokonywania impasu- system składa się z klas zasobów

- zasoby wewnętrzne (bloki kontrolne) - pamięć główna - zasoby zadania (urządzenia, pliki) - wymienny obszar pamięci pomocniczej

- strategie postępowania z impasami w obrębie każdej z klas - porządkowanie zasobów - wywłaszczanie - unikanie impasu - wstępny przydział

Dana jest migawka systemu. Posługując się algorytmem bankiera określ czy system jest w staniebezpiecznym? Jeśli proces złoży zamówienie to czy jest możliwe jego natychmiastowe spełnienie??(60):

- wykład 8.Wymień etapy przetwarzania programu użytkownika (61):

- wymiana - przydział ciągły - wtronicowanie - segmentacja - segmentacja ze stronicowaniem

Opisz zasadę konsolidacji dynamicznej (62):- konsolidację opóźnia się do czasu wykonania - w obrazie binarnym, w miejscu odwołania bibliotecznego znajduje się tylko namiastka (ang. stub)procedury będąca małym fragmentem kodu, wskazującym jak odnaleźć odpowiedni, rezydujący wpamięci podprogram biblioteczny lub jak załadować bibliotekę jeśli podprogramu nie ma w pamięci - namiastka wprowadza na swoje miejsce adres podprogramu i go wykonuje - system operacyjny sprawdza podprogram czy jest w pamięci a jeśli nie ma to go sprowadza

Opisz różnicę między adresacją logiczną i fizyczną (63):- logiczny adres – wygenerowany przez CPU; jeśli odwzorowany na adres fizyczny podczaswykonywania programu wtedy jest to wirtualny adres - fizyczny adres - adres widziany przez sterownik pamięci - adres logiczny i fizyczny jest taki sam podczas kompilacji i ładowania; logiczny(wirtulany) i fizycznyadres różnią się podczas wykonania

Page 14: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Objaśnij pojęcia : swapping, roll in, roll out (64):- swapping – tymczasowe odsyłanie procesu do pamięci pomocniczej i pobieranie go stamtąd zpowrotem do pamięci operacyjnej w celu kontynuowania działania- roll out – wytaczanie- roll in – wtaczanie- oba pojęcia dotyczą wariantu wymiany wykorzystywanego w planowaniu priorytetowym; procesniskopriorytetowy zostaje wyswapowany w sytuacji gdy nadejdzie proces wysokopriorytetowy dokolejki procesów gotowych; proces wysokopriorytetowy zostaje załadowany do pamięci i wykonany, agdy skończy, to proces o niższym priorytecie może być sprowadzony do pamięci i wznowiony

Wymień sposoby, jak na podstawie listy wolnych dziur spełnić zamówienie procesu na pamięć (65):- pierwsze dopasowanie: (ang. first-fit) - najlepsze dopasowanie: (ang. best-fit) - najgorsze dopasowanie: (ang. worst-fit)

Wyjaśnij różnicę między fragmentacją zewnętrzną i wewnętrzną (66):- fragmentacja zewnętrzna (ang. external fragmentation) - suma wolnych obszarów w pamięci wystarczana spełnienie zamówienia ale nie tworzą one ciągłego obszaru – opisuje stan przed przydzieleniempamięci- fragmentacja wewnętrzna ( ang. internal fragmentation) - zaalokowana pamięć jest nieznacznie większaod żądania alokacji pamięci; różnica ta stanowi bezużyteczny kawałek pamięci wewnątrz przydzielonegoobszaru – opisuje stan po przydzieleniu

Opisz paging (67):- logiczna przestrzeń adresowa procesu może być nieciągła tj. procesowi można przydzielać dowolnedostępne miejsca w pamięci fizycznej - pamięć fizyczną dzieli się na bloki stałej długości zwane ramkami (ang. frames) (rozmiar jest potęgą 2,między 512B a 16MB) - pamięć logiczną dzieli się na bloki tego samego rozmiaru zwane stronami (ang. pages) - pamiętana jest lista wolnych ramek- wykonanie procesu o rozmiarze n stron wymaga znalezienia n wolnych ramek i załadowanie w nieprocesu - utworzenie tablicy stron (ang. page table) do odwzorowywania adresów logicznych na fizyczne - eliminuje się fragmentację zewnętrzna ale może powstać fragmentacja wewnętrzna

Podaj schemat translacji adresu przy stronicowaniu (68):- stronicowanie wymaga wsparcia sprzętowego - adres wygenerowany przez CPU jest dzielony na dwie części:

- numer strony (ang. Page number) (p) – używany jako indeks w tablicy stron zawierającej adresybazowe wszystkich stron w pamięci fizycznej - odległość na stronie (ang. Page offset ) (d) – w połączeniu z adresem bazowym definuje fizycznyadres pamięci posyłany do jednostki pamięci

Opisz implementację tablicy stron (69):- tablicę stron przechowuje się w pamięci operacyjnej - rejestr bazowy tablicy stron (ang. Page-table base register - PTBR) wskazuje położenie tablicy stron - rejestr długości tablicy stron (ang. Page-table length register - PTLR) wskazuje rozmiar tablicy stron;zwartość ta jest badana w celu sprawdzenia czy dany adres jest dozwolny- schemat ten wymaga dwóch kontaktów z pamięcia w celu uzyskania dostępu do bajtu - jeden do wpisudo tablicy stron, drugi do danego bajtu. W większości przypadków takie opóźnienie jest nie dozaakceptowania - problem ten rozwiązuje się za pomocą specjalnej, małej i szybko przeszukiwanej, sprzętowej pamięcipodręcznej zwanej rejestrami asocjacyjnymi (ang. associative registers ) lub buforami translacji adresówstron (ang. translation look-aside buffers -TLBs)

Podaj wzór na efektywny czas dostępu do pamięci (70):- przeglądnięcie rejestrów asocjacyjnych = ? jednostek czasu - niech cykl pamięci wynosi 1 mikrosekundę - współczynnik trafień (ang. hit ratio) - procent numerów stron odnajdowanych w rejestrachasocjacyjnych; współczynnik zależy od liczby rejestrów asocjacyjnych - współczynnik trafień = ? - Effective Access Time (EAT)

- EAT = (1 + ?) ? + (2 + ?)(1 - ?) = 2 + ? - ?

Page 15: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Podaj schemat translacji adresu przy odwróconej tablicy stron (71):- odwrócona tablica stron (ang. inverted page table) ma po jednej pozycji dla każdej rzeczywistej stronypamięci (ramki) - każda pozycja zawiera adres wirtualny strony przechowywanej w ramce rzeczywistej pamięci orazinformacje o procesie posiadającym stronę - zmniejsza się rozmiar pamięci potrzebnej do pamiętania wszystkich tablic stron, jednak zwiększa sięczas potrzebny do przeszukania tablicy przy odwołaniu do strony

- tablica haszowania (ang. hash table) – ogranicza szukanie do jednego lub najwyżej kilku wpisów wtablicy stron

Podaj schemat translacji adresu przy haszowanej tablicy stron (72):- przestrzeñ adresowa > 32 bitów - numer strony pamięci wirtualnej jest odwzorowany (ang. hashed ) przy pomocy funkcji haszującej napozycje w tablicy (ang. hashed page table) - wszystkie strony wirtualne którym odpowiada ta sama pozycja w tablicy (kolizja) zostają umieszczonena jednej liście (metoda łańcuchowa) - element listy: numer strony wirtualnej (p), numer strony pamięci (r), wskaźnik do następnego elementulisty

Podaj schemat translacji adresu przy segmentacji (73):- adres logiczny = <numer segmentu , odległość w segmencie>- tablica segmentów ( segment table ) - jest wykazem par :

- bazy – zawiera początkowy adres fizyczny w pamięci- granicy – długości segmentu

- STBR - rejestr bazowy tablcy segmentów ( Segment-table base register) - wskazuje na tablicęsegmentów w pamięci- STLR - rejestr dlugości tablcy segmentów ( Segment- table length register) - liczba segmentówprzypadających na program- jeśli:

- numer segmentu >= STLR to błąd- odległość w segmencie >= tablica segmentów [ numer segmentu ].granica to bład

- w przeciwnym wypadku- adres fizyczny = tablica segmentów [ numer segmentu ] .baza + odleglosc w segmencie

Podaj schemat translacji adresu przy segmentacji z dwupoziomowym schematem stronicowania(74):

- adres logiczny = <p1,p2,d>- p1 – indeks do zewnetrznej tablicy stron- p2 – przesuniecie na stronie zewnetrznej tablicy stron- d - odleglosc na stronie

- adres fizyczny = ((zewnetrzna tablica stron[p1])[p2])+d- oczywiscie przy kazdym odniesieniu nalezy sprawdzic czy nie przekroczone zostały granice.

Wymień zalety pamięci wirtualnej (75):- brak ograniczeń na pamięć- więcej programów – lepsze wykorzystanie procesora- można jedynie część programu załadować do pamięci w celu wykonania ( reszta nieużywana(procedury obsługi rzadkich blędów) albo nadmiarowa (np. nadmiarowe tablice) jest w pamięciwirtualnej )- logiczan przestrzeń adresowa może być większa niż fizyczna- kopiowanie przy zapisie ( copy-on-write) przy tworzeniu procesu- odwzorowanie plików do pamięci ( memory-mapped files ) przy tworzeniu procesu

Wymień sposoby implementacji pamięci wirtualnej (76):- stronicowanie na żądanie – demand paging- segmentacja na żądanie – demand segmentation

Opisz stronicowanie na żądanie (77):- nigdy nie dokonuje się wymiany strony w pamięci o ile nie jest to konieczne ( procedura leniwejwymiany - lazy swapper ) Jesli strona jest potrzebna to odwołaj sie do niej; gdy odwołanie jestniepoprawne - przerwij, gdy brak strony w pamięci to ją do niej sprowadź. Jest to zgodne z zasadąlokalności odniesień.

Page 16: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Opisz obsługę braku stron (78):- system operacyjny sprawdza wewnętrzną tablicę oraz decyduje że:

- jeśli odwołanie niedozwolone - kończy proces- jeśli odwołanie dozwolone tylko zabrakło strony w pamięci to sprowadza tę stronę

- system znajduje wolną ramkę na liście wolnych ramek- gdy nie ma wolnej ramki to szukamy strony w pamięci która nie jest używana i zapisujemy ją na dysk

- system wczytuje stronę z dysku do wolnej ramki- system wstawia bit 1 w tablicy stron- system wykonuje przerwany rozkaz

Podaj wzór na obliczenie sprawności stronicowania (79):- EAT – efektywny czas dostępu- p – prawdopodobieństwo braku strony( 0 – brak braku stron , 1 - każde odwołanie generuje brakstrony )- cd - czas dostępu do pamięci - cz - czas obsługi strony ( obsługa przerawnia wywołanego brakiem strony, czytanie strony, wznowienieprocesu )- EAT = (1-p)*cd+p*cz

Wymień komponenty czasu obsługi page-fault (80):- przejście do systemu operacyjnego- przechowanie kontekstu- określenie, że przerwanie to brak strony- okreslenie dopuszczalności i położenia strony- czytanie z dysku do wolnej ramki- przydzielenie procesora w trakcie transferu- przerwanie we/wy po transferze strony- odebranie sterowania i przełączenie kontekstu- skorygowanie tablicy stron- czekanie na przydział procesora i wznowienie

Opisz zastępowanie strony (81):- przebieg:

- ochrona przed nadprzydziałem ( over-allocation) pamięci przez dodanie do obsługi braku stronymożliwości zastąpienia strony ( page replacement )- zlokalizowanie potrzebnej strony na dysku- odnalezienie wolnej ramki

- jeśli ramka istnieje – zostaje użyta- w przeciwnym wypadku typowanie ramki ofiary ( victim )- ramka ofiara zapisana na dysk, zmiana w tablicy stron

- wczytanie potrzebnej strony- wznowienie procesu

- udoskonalenia:- dodanie bitu modyfikacji ( zabrudzenia ) ( modify ( dirty )) do zredukowania czasu - tylko stronyzmodyfikowanie są zapisywane na dysk.

Skonstruuj przykład ilustrujący anomalię Belady.ego (82):- anomalia Belady’ego (ang. Belady’s anomaly) odzwierciedla fakt, że w niektórych algorytmachzastępowania stron współczynnik braków stron może wzrastać ze wzrostem wolnych ramek (mimo, żeintuicja zdaje się sugerować, że zwiększenie pamięci procesu powinno polepszyć jego działanie) - przykład dla algorytmu FIFO:

- ciąg odniesień: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 - 3 ramki (3 strony mogą być w pamięci w tym samym czasie) - 9 braków stron- 4 ramki (4 strony mogą być w pamięci w tym samym czasie) – 10 braków stron

Opisz algorytm zastępowania stron FIFO (83):- algorytm FIFO (ang. First-In-First-Out) stowarzysza z każdą ze stron czas kiedy została onasprowadzona do pamięci - jeśli trzeba zastąpić stronę to zastępowana jest najstarsza ze stron - implementuje się za pomocą kolejek FIFO

Page 17: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Opisz algorytm zastępowania stron LRU (84):- zastąp tę stronę, która najdawniej była użyta (ang. Least Recently Used) - nie jest dotknięty anomalią Belady’ego - odwracalność- dwie implementacje

- liczniki – do każdej pozycji w tablicy stron dołączamy rejestr czasu użycia, do procesora zaśdodajemy zegar logiczny lub licznik. Wskazania zegara są zwiększane wraz z każdym odniesieniem dopamięci. Ilekroć występuje odniesienie do pamięci, tylekroć zawartość rejestru zegara jest kopiowanado rejestru czasu użycia należącego do danej strony w tablicy stron - stos – przy każdym odwołaniu do strony jej numer wyjmuje się ze stosu i umieszcza na szczycie -najlepsza implementacja to dwukierunkowa lista ze wskaźnikami do czoła i do końca

- najwyżej 6 zmian wskaźników - nie jest potrzebne przeszukiwanie listy

Opisz algorytm zastępowania stron OPT (85):- zastąp tę stronę, która najdłużej nie będzie używana; nazywany OPT lub MIN- nie ma anomalii Belady’ego- bardzo trudny do realizacji bo wymaga wiedzy o przyszłej postaci ciągu odniesień (podobnie jak przyplanowaniu procesora metodą SJF) - używany głównie w studiach porównawczych

- wiedza o tym, że jakiś algorytm odbiega od optymalnego o 12,3% a średnio jest od niego gorszy o4,7% może okazać się cenną

Wymień algorytmy zastępowania stron dotknięte anomalią Beladye’go (86):- FIFO

Opisz zegarowy algorytm drugiej szansy (87):- bit odniesienia (ang. reference bit)

- z każdą stroną stowarzyszamy na początku bit 0 - czytanie lub pisanie na stronie ustawia bit na 1 - zastąp stronę jeśli ma bit 0

- nie można poznać porządku użycia stron - algorytm drugiej szansy (ang. second chance)

- algorytm FIFO (wymaga zegara) - gdy strona (FIFO) ma bit odniesienia = 1 to strona dostaje drugą szansę na pobyt pamięci:

- bit odniesienia = 0 i czas przybycia = bieżący - zostawia się stronę w pamięci - zastępuje się następną w porządku FIFO stronę według powyższych zasad

- ulepszony algorytm drugiej szansy- (x,y) - x - bit odniesienia, y- bit modyfikacji - 4 klasy (od najniższej)

- (0,0) - nie używana ostatnio i nie zmieniana: najlepsza ofiara - (0,1) - nie używana ostatnio ale zmieniona: gorsza ofiara bo wymaga zapisu na dysk - (1,0) - używana ostatnio i czysta: może być wkrótce użyta - (1,1) - używana ostatnio i zmieniana - najgorsza ofiara, prawdopodobnie będzie zaraz użyta

- algorytm drugiej szansy ale zastępujemy pierwszą napotkaną stronę z najniższej niepustej klasy (x,y)Rozważmy następujący ciąg odniesień ?,?,?,?,?,?,?,?,?,?,?,? ile braków stron wystąpi gdy mamy1,2,3,4,5,6 lub 7 ramek dla algorytmów FIFO, OPT, LRU?? (88)

Wykład 10

Page 18: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Co to jest trashing i jakie są jego przyczyny (89):- jeśli proces nie ma “wystarczająco dość” ramek to współczynnik braków stron jest znaczny. Powodujeto:

- słabe wykorzystanie CPU - system operacyjny reaguje: trzeba zwiększyć wieloprogramowość i podnieść wykorzystanie CPU - nowy procesy z kolejki procesów gotowych staje się aktywnym

- szamotanie (ang. trashing) – proces się szamoce jeśli spędza więcej czasu na stronicowaniu niż nawykonaniu- przyczyny szamotania:

- system operacyjny nadzoruje wykorzystanie jednostki centralnej - jeśli jest ono za małe planista przydziału procesora zwiększa stopień wieloprogramowości - strony zastępowane są według globalnego algorytmu bez brania pod uwagę do jakich procesów należą- procesom zaczyna brakować stron - procesy ustawiają się w kolejce do urządzenia stronicującego - planista opróżnia kolejkę procesów gotowych

Opisz budowę portu we/wy (90):- port we/wy składa się z 4 rejestrów (dł. 1B-4B) - stan (ang. status) - zawiera bity czytane przez procesor

- zakończenie polecenia, dostępność danych w rejestrze, dane wyjściowe, wykrycie błędu - sterowanie (ang. control) – zapisywany przez procesor

- rozpoczęcie polecenia, zmiana trybu pracy urządzenia (komunikacja pełnodupleksowa, szybkośćportu)

- dane wejściowe (ang. data-in) – czytany przez procesor- pobranie informacji z urządzenia

- dane wyjściowe (ang. data-out) - dane zapisywane przez procesor - układy FIFO - rozszerzają pojemność rejestrów

Opisz polling (91):Ciąg uzgodnień procesor-sterownik:- aktywne czekanie (ang. busy-waiting), odpytywanie (ang.polling) - procesor czyta bit zajętości doczasu aż będzie on równy 0

- trzy cykle rozkazowe procesora do odpytania: czytanie rejestru urządzenia, operacja koniunkcji(wydobycie bitu zajętoœci), skok przy wartości niezerowej

- procesor ustawia bit pisania (ang. write bit) w rejestrze poleceń i wpisuje bajt do rejestru danychwyjściowych - procesor ustawia bit gotowości polecenia - sterownik ustawia bit zajętości - sterownik czyta rejestr poleceń- rozpoznaje polecenie pisania, czyta bajt z rejestru danych wejściowych i wykonuje operację we/wy naurządzeniu - sterownik ustawia bit gotowości polecenia na 0 i bit błędu (ang. error bit) w rejestrze stanu oraz ustawiabit zajętości na 0

Page 19: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Opisz cykl we/wy obsługiwany przerwaniami (92):- odpytywanie staje się niewydajne w sytuacji rzadkich przypadków gotowości urządzenia - osprzęt procesora ma ścieżkę zwaną linią zgłaszania przerwań (ang. interrupt request line), którąprocesor bada w cyklu rozkazu - jeśli procesor wykryje przerwanie od sterownika to przechowa dane określające bieżący stan (PC) iwykona skok do procedury obsługi przerwania (ang. interrupt-handler)

- wykrycie przyczyny przerwania - wykonanie niezbędnych czynności - rozkaz powrotu z przerwania- sprzęt sterownika przerwań (ang. interrupt controller) powinien zapewnić

- opóźnianie obsługi przerwania podczas działań krytycznych - brak odpytywania urządzeń w celu wykrycia sprawcy - przerwania wielopoziomowe o różnym priorytecie

- przerwania maskowalne (ang. maskable) pozwalają wyłączyć zgłoszenia żądań - adres obsługi przerwania znajduje się w tablicy zwanej wektorem przerwań (ang. interrupt vector)- system poziomów priorytetów przerwań (ang. interrupt priority levels) umożliwia opóźnianie przezprocesor obsługi przerwań niskopriorytetowych bez maskowania wszystkich przerwań i pozwalawywłaszczać procesy ich obsługi - mechanizm przerwania stosuje się również do obsługi sytuacji wyjątkowych (ang. exceptions) - dzielenie przez 0, rozkaz uprzywilejowany

Opisać DMA (93):- DMA controller – wyspecjalizowany procesor zwany sterownikiem bezpośredniego dostępu dopamięci. - DMA = Direct Memory Access- podłączony do magistrali urządzeń peryferyjnych. Gdy chcemy uniknąć programowanego we/wy wcelu np. lepszego wykorzystania procesora wykonuje on część pracy podczas bezpośredniego dostępu dopamięci.- przesyłanie w trybie DMA:

- procesor zapisuje w pamięci blok sterujący DMA (wskaźnik źródła, miejsce docelowego przesyłania ilicznik)- sterownik DMA pobiera adres tego bloku (DMA przejmuje nadzór nad operacją we/wy). Przesyłaniemiędzy sterownikiem DMA i sterownikiem urządzenia dokonuje się za pomocą pary przewodównazywanych zamówieniem DMA (DMA request) i potwierdzeniem DMA (DMA acknowledge).- procesor kontynuuje pracę (po pauzie na transfer)

- DMA spowalnia CPU (cycle stealing)- Tryb DMA umożliwia ransfer danych bezpośrednio pomiędzy pamięcią (wirtualną) i urządzeniemwe/wy.

Scharakteryzować różnice między urządzeniami we/wy (94):- strumień znaków (character stream) : urządzenie znakowe przesyła bajt po bajcie.- Bloki (block) : urządzenie blokowe przesyła jednorazowo blok danych.- synchroniczność sterowana zegarem.- asynchroniczność sterowana znakiem stopu i startu.- dzielenie lub wyłączność.- prędkość działania nawet TB na sekundę.- czytanie&pisanie, tylko czytanie, tylko pisanie.

Opisać interfejs urządzeń znakowych i blokowych (95):- interfejs urządzenia blokowego (np. dyski) :

- komendy : czytaj, pisz, szukaj (Unix – dostęp przez interfejs plików)- surowe we/wy np. dostęp do baz danych- pliki odwzorowywane w pamięci (memory mapped file) mechanizm jak w stronicowaniu na żadanie- interfejs urządzeń znakowych (klawiatura, mysz, port szeregowy)

- komendy pobrania (get) i przekazania (put) jednego znaku (character stream)- oprogramowanie biblioteczne może tworzyć dostęp na zasadzie przesyłania całych wierszy tekstu :buforowanie i redagowanie (np. kasowanie znaków - backspace)

Wymienić funkcje czasomierzy (96).- podawanie bieżącego czasu- podawanie upływającego czasu- powodowanie wykonania operacji w ustalonej chwili

Page 20: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Co to jest blokowane wywołanie systemowe (97):- jest to wywołanie, które wykonuje proces gdy jego działanie zostaje wstrzymane (do zakończeniawe/wy). Proces wtedy staje się czekającym a po zakończeniu (we/wy) proces staje się gotowy.- niektóre procesy wymagają nieblokowanego we/wy (sygnały z klawiatury i myszy przeplataneprzerwaniem i wyświetlaniem danych na ekranie).

Podaj wzór na średni czas dostępu do dysków (98):- T_a = T_s + 1/2r + T

-T_s – średni czas przeszukiwania (5 do 10ms) - r – prędkość w obrotach na min (10000 rpm) - T - czas transferu - T=b/r*N - b - ilość transferowanych bajtów; N - ilość bajtów na ścieżkę - przykład: 2650 sektorów = 512B*320S*8T = 1.3MB

- pierwsza ścieżka: 10ms+ 6/2ms + 6ms = 19ms - następne ścieżki: 3ms + 6ms =9ms; T= 19ms+7*9ms=0.082s - niesekwencyjnie: 2560*(10ms + 3ms + 6*512B/512B*320) = 2560*13.01875ms= 33.328s

Co to jest semantyka kopii (99):- semantyka kopii jest to własność, która gwarantuje, że wersja danych zapisana na dysku będzie z chwiliodwołania się aplikacji do systemu gdy np. chcemy zapisać dane z bufora na dysk. Wywoływana jestfunkcja systemowa „pisz”, w tym czasie w buforze następuje zmiana danych. Można w wywołaniusystemowym „pisz” przekopiować dane do bufora w jądrze.

Wymień algorytmy planowania we/wy dla dysków (100):- FIFO (ang First-in, First-out),- PRI (ang. priority),- LIFO (ang Last-in, First-out),- SSTF (ang. Shortest service time first),- SCAN,- ??- C-SCAN,- N-step-SCAN,- FSCAN

Opisz algorytm SCAN (101):- głowice przemieszczają się w jednym kierunku do ostatniej ścieżki lub do ostatniego żądania w danymkierunku - kierunek zostaje następnie odwrócony - neguje zasadę lokalności odniesień - nie ma możliwości głodzenia - SCAN faworyzuje zadania o żądaniach we/wy na skrajnych ścieżkach

Wymienić etapy przekształcania zamówień we/wy na operacje sprzętowe (102):- (Na przykładzie zamówienia procesu a systemie z plikiem z dysku).- identyfikacja nośnika (urządzenia) pliku- przetłumaczenie nazwy pliku na jego reprezentacje w urządzeniu - fizyczne czytanie z urządzenia do bufora- udostępnianie danych zamawiającemu procesorowi - przekazanie sterowania procesowi po wykonanej operacji we/wy

Podaj sposoby na poprawienie wydajności we/wy (103):- zmniejszać liczbę przełączeń kontekstu - zmniejszać liczbę kopiowań danych w pamięci podczas przekazywanie ich od urządzenia do aplikacji - zmniejszać częstość występowania przerwań przez stosowanie wielkich przesłań i przemyślnychsterowników oraz odpytywania - zwiększać współbieżność za pomocą sterowników pracujących w trybie DMA lub kanałów w celuodciążenia procesora- realizować elementarne działania za pomocą sprzętu i pozwalać na ich współbieżne wykonywanie wsterownikach urządzeń - równoważyć wydajność procesora, podsystemów pamięci, szyny i operacji we/wy - przeciążenie w jednym miejscu powoduje bezczynność w innych miejscach

Podać imię i nazwisko twórcy systemu Linux oraz rok pojawienia się pierwszej wesji systemu Linux(104):

- Linus Torvalds, 14.V.1991 – Linux-0.01

Page 21: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Wymień podstawowe założenia systemu Linux (105):- Linux jest wielodostępnym, wielozadaniowym systemem z pełnym zestawem narzędzi zgodnym zsystemem Unix.- System plików systemu Linux pasuje do tradycyjnej semantyki uniksowej i ma zrealizowany w pełnisieciowy standard systemu UNIX.- Główne cele projektu : szybkość, wydajność i standardyzacja.- Zaprojektowany tak, bo pozostawał w zgodzie z istotnymi opisami standardu POSIX; co najmniej 2dystrybucje mają oficjalny certyfikat komitetu normalizacyjnego POSIX- Interfejs programisty w systemie Linux odpowiada bardziej semantyce systemu SVR4 UNIX niżzachowaniu systemu BSD.

Wymień składowe jądra w systemie Linux (106) (?????):- zwykły kod jądra- moduły jądra

Wymień składowe kontekstu wykonania procesu w systemie Linux (107):- kontekst procesu, jako stan wykonywanego procesu rozpatrywany w danej chwili, zmienia sięnieustannie (przeciwnie niż tożsamość i środowisko procesu) - kontekst planowania (ang. scheduling context) - najważniejsza część kontekstu procesu; są toinformacje potrzebne planiście do zawieszania i wznawiania procesu - rozliczanie (ang. accounting) - informacje o zasobach zużywanych na bieżąco przez każdy z procesów,jak również o ich łącznej ilości zużytej od momentu startu procesu- tablica plików (ang. file table) zawiera wskaźniki do jądrowych struktur plików; wykonując systemoweoperacje we/wy, procesy odwołują się do plików za pomocą indeksów do tej tablicy - kontekst systemu plików (ang. file-system context) odnosi się do zamówień na otwarcie nowychplików; przechowuje się w tym celu informacje o bieżącym katalogu głównym oraz o katalogachużywanych zastępczo do poszukiwania nowych plików- tablica obsługi sygnałów (ang. signal-handler table) określa procedurę w przestrzeni adresowej procesu,która ma być wywołana po nadejściu konkretnego sygnału - kontekst pamięci wirtualnej (ang. virtual-memory context) opisuje całą zawartość prywatnej przestrzeniadresowej procesu

Opisz sposób implementacji wątków w systemie Linux (108):- Linux stosuje dokładnie tą samą wewnętrzną reprezentację dla procesów i wątków; wątek jest po prostunowym procesem, któremu przychodzi dzielić ze swoim rodzicem tą samą przestrzeń adresową - rozróżnienia między procesem i wątkiem dokonuje się tylko podczas tworzenia nowego wątku zapomocą funkcji systemowej clone

- fork tworzy nowy proces z własnym, całkowicie nowym kontekstem - clone tworzy odrębny proces z odrębną tożsamością, któremu pozwala się dzielić struktury danychrodzica

- Linux przechowuje konteksty w oddzielnych strukturach danych w postaci podkontekstów a nie wgłównej strukturze danych procesu; struktura danych procesu zawiera jedynie wskaźniki do tamtychstruktur - funkcja systemowa clone tworz¹c nowy proces, przyjmuje argument okreœlaj¹cy, które podkontekstynale¿y skopiowaæ, a które maj¹ byæ wspólne

- fork jest specjalnym przypadkiem clone, w którym kopiowane są wszystkie podkonteksty- proces reprezentuje struktura task_struct - Linux stosuje kopiowanie przy zapisie - Stany wykonania procesu

- aktywny (ang. running) - proces wykonywany albo gotowy - interruptable - proces zablokowany, czekający na zasób lub zdarzenie - uninterruptable - proces zablokowany, czekający na zdarzenie sprzętowe - stopped – proces może być wznowiony jedynie przy pomocy innego procesu (np. debugging) - zombie – proces zakończył, lecz dalej jest w strukturach tablic procesów

Opisz techniki ochrony sekcji krytycznych w systemie Linux (109):- Linux wykorzystuje dwie techniki do ochrony sekcji krytycznych:

1. Zwykły kod jądra jest niewywłaszczalny – gdy przerwanie zegarowe wystąpi w czasie gdy proceswykonuje jądrową procedurę obsługi, znacznik need_resched jest ustawiany aby poinformować jądro ozapotrzebowaniu na planistę po zakończeniu tej procedury i przed wejściem w tryb użytkownika 2.Druga technika dotyczy tych sekcji krytycznych, które występują w procedurach obsługi przerwań

– przez wprowadzenie zakazu przerwań w trakcie wykonywania sekcji krytycznej jądro gwarantuje,że jej wykonanie przebiegnie bez ryzyka dla współbieżnego dostępu do dzielonych (krytycznych)struktur danych

Page 22: Podaj trzy różne przykłady definicji systemu operacyjnegophilip/pso.pdf · wejscia/wyjscia, kontrola błędów - jądro systemu (ang. kernel, ... - jednostka centralna (CPU) -

Opisz budowę i działanie procedur obsługi przerwań w systemie Linux (110):- aby uniknąć pogorszenia wydajności (rozkazy włączania i wyłączania przerwań są kosztowne), wjądrze systemu Linux zastosowano architekturę synchronizacji umożliwiającą wykonywanie długichsekcji krytycznych bez wyłączania przerwań na czas trwania całej sekcji - procedury obsługi przerwań są podzielona na górną i dolną połowę (ang. top & bottom half)

- górna połowa jest zwykłą procedurą przerwania; jej wykonanie ma wyłączone rekurencyjneprzerwania- dolna połowa przebiega z włączonymi wszystkimi przerwaniami i jest nadzorowana przezminiaturowego planistę, który zapewnia, że dolne połowy nigdy nie przerywają się wzajemnie - architektura ta jest uzupełniana przez mechanizm wyłączania wybranych dolnych połów podczaswykonywania zwykłego, pierwszoplanowego kodu jądra - sekcje krytyczne procedur obsługi przerwań są zaprogramowane jako dolne połowy i gdy jądrodziałając pierwszoplanowo, zechce wejść do sekcji krytycznej, wówczas może zabronić działaniadowolnych z dolnych połów w celu obronienia się przed przerwaniem z niepożądanej sekcji krytycznej

Opisz algorytm planowania z podziałem czasu w systemie Linux (111):- dla procesów z podziałem czasu system Linux używa algorytmu priorytetowego, opartego nakredytowaniu - kiedy należy wybrać nowy proces wybiera się proces z największym kredytem, jeśli każdy proceswyczerpał kredyt udziela się go

- wzór na kredytowanie: nowy_kredyt = 0.5*kredyt + priorytet, uzględnia dwa czynniki historięprocesu i jego priorytet - ten system kredytowania automatycznie preferuje procesy interakcyjne, ograniczone przez we/wy, dlaktórych istotny jest czas odpowiedzi

Opisz algorytm rejestrowania ramek stosowany przez dyspozytora stron w systemie Linux (112):- dyspozytor stron (ang. page allocator) w jądrze odpowiada za przydział i zwalnianie wszystkichfizycznych stron i jest w stanie przydzielać na zamówienie partie stron fizycznie ze sobą sąsiadujących - dyspozytor stosuje algorytm sąsiednich stert (buddy-heap) w celu rejestrowania dostępych ramek

- wszystkie bloki są zgrupowane w 13 listach: po 32, 64, 128, 256, 512,...., 131072 bajtów - każdy obszar zdatnej do przydziału pamięci ma przyległego partnera, czyli sąsiada ( stąd nazwa)- ilekroć dwa sąsiadujace obszary są zwalniane, łaczy się je w większy obszar - z drugiej strony, gdy małe zamówienie na pamięć nie może być zrealizowane przez przydziałistniejącego, małego wolnego obszaru, wówczas w celu zrealizowania zamówienia większy wolnyobszar zostanie podzielony na dwa sąsiednie

Wymień metody startowania systemu Linux (113):- system linux można wystartować z wykorzystaniem nast. metod:- MS/DOS – LOADLIN.EXE - LiLo - Linux Loader - GRUB – Grand Unified Bootloader - Projekt PUPA = GRUBng – GRUB new generation- net loader

Wymień obszary pamięci w formacie ELF (114):- plik binarny formatu ELF składa się z nagłówka, oraz z sekcji kończących się i rozpoczynających się nagranicach stron - program ładujący formatu ELF czyta nagłówek i odwzorowuje sekcje pliku na osobne obszary pamięciwirtualnej

- stos zawiera kopie argumentów i zmienne środowiskowe - kod binarny jest odwzorowany jako obszar do czytania - dane są odwzorowane jako obszar do zapisu - obszar o zmiennej długości, którego granicę określa wskaźnik brk


Top Related