Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania

Podobne dokumenty
Podsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

System operacyjny wstęp

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Podstawy Informatyki Systemy operacyjne

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Wprowadzenie do systemów operacyjnych

Działanie systemu operacyjnego

4. Procesy pojęcia podstawowe

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

Urządzenia wejścia-wyjścia

Procesy, wątki i zasoby

4. Procesy pojęcia podstawowe

Jądro systemu operacyjnego

Systemy operacyjne. Program przedmiotu. Forma zaliczenia przedmiotu. Dariusz Wawrzyniak 1

Systemy operacyjne. Program przedmiotu

4. Procesy pojęcia podstawowe

Systemy operacyjne. Literatura do zagadnień wykładowych (1) Literatura do zagadnień wykładowych (2) Program przedmiotu. Forma zaliczenia przedmiotu

Systemy operacyjne III

Informatyka. informatyka i nauki komputerowe (computer science)

System operacyjny MACH

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Pytania do treści wykładów:

LEKCJA TEMAT: Zasada działania komputera.

Prezentacja systemu RTLinux

Zarządzanie pamięcią operacyjną

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Architektura komputerów

1.1 Definicja procesu

Procesy, zasoby i wątki

Systemy operacyjne III

Procesy, zasoby i wątki

Procesy, zasoby i wątki

ARCHITEKTURA PROCESORA,

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Planowanie przydziału procesora

Zarządzanie pamięcią w systemie operacyjnym

Planowanie przydziału procesora

Planowanie przydziału procesora

Systemy operacyjne system przerwań

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

Zarządzanie pamięcią operacyjną

dr inż. Jarosław Forenc

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Zarządzanie procesami i wątkami

Budowa systemów komputerowych

Systemy wejścia-wyjścia. wyjścia

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Podstawowe zagadnienia

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

System operacyjny komputera Informacje podstawowe

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

Od programu źródłowego do procesu

WINDOWS NT. Diagram warstw systemu Windows NT

System komputerowy. System komputerowy

System plików. Warstwowy model systemu plików

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski

Zarządzanie procesorem

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Systemy operacyjne III

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Paweł Skrobanek. C-3, pok

Programowanie współbieżne Wykład 2. Iwona Kochańska

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy Operacyjne struktura

Systemy operacyjne System sieciowy UNIX-a

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Zarządzanie zasobami pamięci

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

Opis efektów kształcenia dla modułu zajęć

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Mikroprocesor Operacje wejścia / wyjścia

Schematy zarzadzania pamięcia

System wejścia-wyjścia

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Struktura systemów komputerowych

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Stronicowanie w systemie pamięci wirtualnej

System plików warstwa logiczna

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

1. Podstawy...P Polecenia podstawowe...p... 18

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Transkrypt:

Podsumowanie 1. Klasyfikacja systemów operacyjnych 2. Zadania systemu operacyjnego 3. Zarządzanie zasobami systemu komputerowego 4. Zasoby zarządzane przez system operacyjny 5. Struktura systemów operacyjnych Systemy operacyjne Podsumowanie 1 Klasyfikacja ze względu na sposób przetwarzania Systemy przetwarzania bezpośredniego (ang. on-line processing systems) systemy interakcyjne występuje bezpośrednia interakcja pomiędzy użytkownikiem a systemem, wykonywanie zadania użytkownika rozpoczyna się zaraz po przedłożeniu. Systemy przetwarzania pośredniego (ang. off-line processing systems) systemy wsadowe występuje istotna, nieznana zwłoka czasowa między przedłożeniem zadania a rozpoczęciem jego wykonywania, niemożliwa jest ingerencja użytkownika w wykonywanie zadania. Systemy operacyjne Podsumowanie 2 1

Klas. ze względu na liczbę wykonywanych zadań Systemy jednozadaniowe niedopuszczalne jest rozpoczęcie wykonywania następnego zadania użytkownika przed zakończeniem poprzedniego. Systemy wielozadaniowe dopuszczalne jest istnienie jednocześnie wielu zadań (procesów), którym kolejno przydzielany jest procesor. Zwolnienie procesora następuje w wyniku żądania przydziału dodatkowego zasobu, zainicjowaniu operacji wejścia-wyjścia, przekroczenia ustalonego limitu czasu (kwantu czasu) systemy z podziałem czasu (ang. time-sharing systems). Systemy operacyjne Podsumowanie 3 Klasyfikacja ze względu na liczbę użytkowników Systemy dla jednego użytkownika zasoby systemu przeznaczone są dla jednego użytkownika (np. w przypadku komputerów osobistych), nie ma mechanizmów autoryzacji dostępu, a mechanizmy ochrony informacji są ograniczone. Systemy wielodostępne z zasobów systemu może korzystać wielu użytkowników, a system gwarantuje ochronę informacji przed niepowołaną ingerencją. Systemy operacyjne Podsumowanie 4 2

Inne rodzaje systemów operacyjnych Systemy czasu rzeczywistego (ang. real-time systems) umożliwiają zarządzenie zasobami w celu realizacji przetwarzania w określonych ramach czasowych (przed tzw. linią krytyczną (ang. deadline). Systemy sieciowe i rozproszone (ang. network and distributed systems) umożliwiają zarządzanie zbiorem rozproszonych jednostek przetwarzających, czyli zbiorem jednostek (komputerów), które są zintegrowane siecią i nie współdzielą fizycznie zasobów. Systemy operacyjne Podsumowanie 5 Zadania systemu operacyjnego Zarządzanie podstawowymi zasobami systemu komputerowego (procesorem, pamięcią, itp.) Sterowanie urządzeniami wejścia-wyjścia Udostępnianie systemu plików Obsługa podstawowej klasy błędów Udostępnianie środowiska do wykonywania programów użytkownika mechanizm ładowania i uruchamiani programów mechanizmy synchronizacji i komunikacji proc. Definicja interfejsu użytkownika Systemy operacyjne Podsumowanie 6 3

Zarządzanie zasobami systemu komputerowego Przydział zasobów Synchronizacja dostępu do zasobów Ochrona i autoryzacja dostępu do zasobów Odzyskiwanie zasobów Rozliczanie gromadzenie danych o wykorzystaniu zasobów Systemy operacyjne Podsumowanie 7 Zasoby zarządzane przez system operacyjny Procesor przydział czasu procesora Pamięć alokacja przestrzeni adresowej dla procesów i jądra transformacja adresów realizacja wymiany Urządzenia zewnętrzne sterownie urządz. pamięci masowej, drukar., skaner. itp. alokacja przestrzeni dyskowej Informacja (system plików) organizacja i udostępnianie informacji ochrona i autoryzacja dostępu do informacji Systemy operacyjne Podsumowanie 8 4

Ogólna struktura systemu operacyjnego interpreter poleceń programy systemowe Jądro systemu operacyjnego Sprzęt Systemy operacyjne Podsumowanie 9 Elementy składowe (jądra) systemu operacyjnego Moduł zarządzania procesami Moduł zarządzania pamięcią operacyjną Podsystem wejścia-wyjścia Moduł zarządzania pamięcią pomocniczą Moduł zarządzania plikami Interfejs sieciowy Podsystem ochrony Interpreter poleceń (?) Systemy operacyjne Podsumowanie 10 5

Moduł zarządzania procesami Tworzenie i usuwanie procesów Wstrzymywanie i wznawianie procesów (przełączanie kontekstu) Planowanie przydziału procesora (szeregowanie procesów) oraz planowanie wymiany procesów Dostarczanie mechanizmów synchronizacji i komunikacji procesów Dostarczanie mechanizmów obsługi zakleszczeń (ang. deadlock) Systemy operacyjne Podsumowanie 11 Moduł zarządzania pamięcią operacyjną Przydzielanie i zwalnianie obszarów pamięci głównej Utrzymywanie informacji o zajętości pamięci i stanie zajętych obszarów pamięci (prawa dostępu, właściciel itp.) Realizacja wymiany procesów Realizacja wymiany stron w przypadku wirtualizacji Systemy operacyjne Podsumowanie 12 6

Podsystem wejściawyjścia Synchronizacja żądań realizacji operacji wejścia-wyjścia Zarządzanie realizacją operacji wejścia-wyjścia Zarządzanie pamięcią przeznaczoną na potrzeby obsługi urządzeń zewnętrznych buforowanie zarządzanie pamięcią podręczną spooling (simultaneous peripheral operation on-line jednoczesna, bezpośrednia praca urządzeń) Zapewnianie dostępności modułów sterujących urządzeń (programów obsługi, ang. device drivers) Udostępnianie ogólnego interfejsu do modułów sterujących urządzeń Systemy operacyjne Podsumowanie 13 Mod. zarządzania pamięcią pomocniczą (dyskiem) Zarządzanie obszarami wolnymi Przydzielanie przestrzeni dyskowej Planowanie dostępu do dysku Systemy operacyjne Podsumowanie 14 7

Moduł zarządzania plikami Tworzenie i usuwanie plików Tworzenie i usuwanie katalogów Dostarczanie elementarnych operacji manipulowania zawartością plików (zapis, odczyt, usuwanie zawartości) Dostarczanie elementarnych operacji do manipulowania katalogami Odwzorowanie plików na obszary pamięci pomocniczej Składowanie plików na trwałych nośnikach Systemy operacyjne Podsumowanie 15 Podsystem ochrony Utrzymywanie praw dostępu Kontrola praw przy dostępie do zasobów Udostępnianie mechanizmu zmian praw dostępu Autoryzacja (ang. authorisation) i uwierzytelnianie (ang. authentication) użytkownika Systemy operacyjne Podsumowanie 16 8

Interpreter poleceń Pobieranie poleceń od użytkownika Interpretowanie poleceń Wykonywanie poleceń Przekazywanie użytkownikowi wyników wykonania poleceń, informacji o problemach lub błędach Systemy operacyjne Podsumowanie 17 Struktura systemu operacyjnego Struktura monolityczna Struktura klient-serwer Struktura oparta na mikrojądrze Hierarchia procesów Hierarchia funkcji Maszyna wirtualna Podejście obiektowe Systemy operacyjne Podsumowanie 18 9

Struktura monolityczna Moduły jądra systemu działają jako jeden proces a sterowanie przekazywane jest pomiędzy nimi poprzez wywoływanie procedur lub rozgałęzienia w programie. Program użytkownika często traktowany jest jak podprogram wywoływany przez system. Systemy operacyjne Podsumowanie 19 Struktura klient-serwer Poszczególne usługi systemu są wyodrębnione w postaci oddzielnych procesów (serwerów), działających w trybie użytkownika. W celu skorzystania z usługi proces (klient) przekazuje żądanie i oczekuje na odpowiedź od serwera po zrealizowaniu. Zadaniem jądra jest zapewnienie mechanizmów komunikacji pomiędzy klientami i serwerami. Systemy operacyjne Podsumowanie 20 10

Struktura oparta na mikrojądrze Mikrojądro tworzy tzw. wirtualny procesor, udostępniając mechanizm zarządzania przestrzenią adresową, szeregowania zadań oraz komunikacji i synchronizacji pomiędzy zadaniami. Poszczególne moduły stanowią osobne procesy, komunikujące się pomiędzy sobą i udostępniające sobie wzajemnie odpowiednie usługi. Systemy operacyjne Podsumowanie 21 Hierarchia procesów Podejście również oparte na mikrojądrze, w którym wzajemne interakcje pomiędzy procesami są ograniczone poprzez umieszczenie procesów na odpowiednich poziomach w hierarchii. Procesy z wyższych poziomów w hierarchii mogą korzystać z usług procesów, znajdujących się na tym samym lub niższym poziomie. Systemy operacyjne Podsumowanie 22 11

Przykład hierarchii procesów moduł zarządzania procesami moduł zarządzania plikami moduł zarządzania pamięcią podsystem wej-wyj Systemy operacyjne Podsumowanie 23 Hierarchia funkcji Modyfikacja podejścia z hierarchią procesów, w którym procesy ściśle ze sobą współpracujące łączone są w jedną całość i dostarczają zbioru funkcji dla warstw wyższych. Systemy operacyjne Podsumowanie 24 12

Przykład hierarchii funkcji zarządzanie informacją (system plików) zarządzanie urządzeniami zewnętrznymi zarządzanie procesami (warst. wyż.) zarządzanie pamięcią zarządzanie procesami (warstwa niższa) maszyna podstawowa Systemy operacyjne Podsumowanie 25 Ewolucja struktur struktura monolityczna hierarchia funkcji UNIX na poziomie projektu odseparowana sprzętowo Windows 2000 hierarchia procesów mikrojądro Systemy operacyjne Podsumowanie 26 13

Maszyna wirtualna Ideą maszyny wirtualnej jest utworzenie logicznego komputera udostępniającego w odpowiedni sposób fizyczne zasoby maszyny podstawowej. Komputer logiczny z punktu widzenie oprogramowania aplikacyjnego (czasami również systemowego) zachowuje się tak, jak jego fizyczny odpowiednik. Systemy operacyjne Podsumowanie 27 Realizacja koncepcji maszyny wirtualnej IBM VM/370 powielenie zasobów w taki sposób, że każda maszyna logiczna jest kopią maszyny fizycznej. Java VM stworzenie niezależnej sprzętowo warstwy oprogramowania, zdolnej do interpretacji tzw. bytecode w celu ułatwienie przenoszenie kodu binarnego. Wirtualny tryb 8086 podejście w systemach Windows (wspomagane sprzętowo przez procesor Intel Pentium) polegające na udostępnieniu logicznego komputera zgodnego z architekturą Intel 8086. Systemy operacyjne Podsumowanie 28 14

Podejście obiektowe Poszczególne usługi modułów systemu udostępniane są poprzez obiekty, które składają się z identyfikatora i zbioru dopuszczalnych operacji. Obiekty są ze sobą powiązane, w taki sposób, że obiekt korzystający z usług innych obiektów utrzymuje listę identyfikatorów tych obiektów wraz z dopuszczalnymi operacjami na nich. Systemy operacyjne Podsumowanie 29 Komunikacja pomiędzy modułami (1) Wywołanie podprogramu komunikacja synchroniczna możliwość sformalizowania opisu interakcji (struktury przekazywanych informacji) Przekazanie komunikatu możliwość realizacji komunikacji asynchronicznej problem weryfikacji struktury przekazywanych informacji Systemy operacyjne Podsumowanie 30 15

Komunikacja pomiędzy modułami (2) Asynchroniczne wywołanie podprogramu brak ograniczeń efektywnościowych wynikających z komunikacji synchronicznej, możliwość sformalizowania opisu interakcji, przykład zastosowania: opóźnione oraz asynchroniczne wywołanie procedury w systemie Windows 2000. Systemy operacyjne Podsumowanie 31 usługi usługi systemowe usługi systemowe systemowe podsystem plików buf. pamięci podręcznej blok Struktura tradycyjnego systemu UNIX biblioteki aplikacje aplikacje użytkownika aplikacje użytkownika użytkownika interfejs wywołań systemowych znak podsystem sterowania procesami komunikacja między proc. szeregowanie zarządzanie pamięcią tryb użytkownika tryb jądra sterowniki urządzeń sprzęt Systemy operacyjne Podsumowanie 32 16

Struktura Windows 2000 usługi usługi systemowe usługi systemowe systemowe aplikacje aplikacje użytkownika aplikacje użytkownika użytkownika podsystemy podsystemy środowiskowe podsystemy środowiskowe środowiskowe układ wykonawczy NTDLL.DLL interfejs układu wykonawczego zarządcy (procesów, pamięci itp.) mikrojądro sterowniki urządzeń HAL sprzęt tryb użytkownika tryb jądra Systemy operacyjne Podsumowanie 33 Obraz procesu w systemie Unix Kontekst poziomu użytkownika program Kontekst rejestru rejestry procesora Kontekst poziomu systemu dane o procesie w strukturach jądra Systemy operacyjne Podsumowanie 34 17

Kontekst poziomu użytkownika Tekst (kod) wykonywanego programu zbiór rozkazów maszynowych Dane wykonywanego programu Stos użytkownika adresy powrotów, argumenty podprogramów, zmienne lokalne Pamięć współdzielona obszar pamięci do wymiany informacji z innymi procesami Systemy operacyjne Podsumowanie 35 Kontekst rejestru Licznik rozkazów Rejestr stanu procesora Wskaźnik stosu Rejestry ogólnego przeznaczenia Systemy operacyjne Podsumowanie 36 18

Kontekst poziomu jądra Zawartość wpisu w tablicy procesów (proc) U-obszar dane o procesie, istotne w trakcie przetwarzania w jego kontekście (user) Tablica obszarów pamięci definicja odwzorowania adresów logicznych na fizyczne wraz z prawami dostępu do odwzorowywanych obszarów pamięci Stos jądra ramka stosu na potrzeby procedur jądra, wykonywanych w kontekście danego procesu Systemy operacyjne Podsumowanie 37 Wpis w tablicy procesów (1) Wskaźniki do U-obszaru oraz poszczególnych sekcji programu w pamięci, Rozmiar procesu Bieżący stan procesu Identyfikator uprawnień Identyfikatory procesu Deskryptor zdarzenia, na którego wystąpienie oczekuje proces (tzw. kanał uśpienia) Powiązania z innymi procesami (rodzicem, rodzeństwem, potomkiem) Systemy operacyjne Podsumowanie 38 19

Wpis w tablicy procesów (2) Priorytet procesu Tablica otrzymanych sygnałów Maski sygnałów Mechanizmy zegarowe do pomiaru czasu wykonywania procesu i wykorzystania zasobów jądra p_link wskaźnik do następnego procesu w kolejce Stan pamięci Systemy operacyjne Podsumowanie 39 U-obszar (1) Wskaźnik na wpis dla danego procesu w tablicy procesów Rzeczywisty oraz obowiązujący identyfikator użytkownika i grupy Argumenty/wyniki wywołania funkcji systemowej Podprogramy obsługi sygnałów Informacje z nagłówka programu Systemy operacyjne Podsumowanie 40 20

U-obszar (2) Tablica deskryptorów otwartych plików Wskaźniki do v-węzłów katalogu bieżącego oraz terminala sterującego. Statystyki dotyczące wykorzystania zasobów. Systemy operacyjne Podsumowanie 41 Przejścia między stanami procesu w systemie Unix wykonywany w trybie użyt. wywłaszczony zombi wykonywany w trybie jądra utworzony gotowy w pamięci gotowy poza pamięcią uśpiony w pamięci uśpiony poza pamięcią Systemy operacyjne Podsumowanie 42 21

Kontekst procesu w systemie Linux kontekst planowania (wyłączne atrybuty każdego proc.) kopia stanu rejestrów priorytet stan sygnały oczekujące na reakcję stos jądra rozliczanie tablica otwartych plików kontekst systemu plików (bieżący katalog, korzeń) tablica procedur obsługi sygnałów kontekst pamięci wirtualnej Systemy operacyjne Podsumowanie 43 Przejścia między stanami procesu w systemie Linux zatrzymany zombi wykonywany gotowy nieprzerywalny utworzony przerywalny Systemy operacyjne Podsumowanie 44 22

Zarządzanie pamięcią w systemie Unix Zarządzanie pamięcią na potrzeby procesów w trybie użytkownika opiera się na stronicowaniu. Zarządzanie pamięcią na potrzeby jądra polega na wykorzystaniu algorytmu buddy (bloków bliźniaczych). Zarządzanie to realizowane jest przez tzw. alokator pamięci jądra. Systemy operacyjne Podsumowanie 45 Struktury danych na potrzeby stronicowania Tablica stron osobna dla każdego procesu Deskryptor bloku dysku tablica opisująca kopię każdej strony procesu w obszarze wymiany Tablica opisu ramki opisuje każdą ramkę pamięci fizycznej Tablica wymiany osobna dla każdego urządzenia wymiany. Każda strona urządzenia ma w niej swój wpis. Systemy operacyjne Podsumowanie 46 23

Wymiana stron w systemie Unix Sprowadzanie odbywa się na żądanie. Do usuwania stron wykorzystywany jest algorytm zegarowy dwuwskazówkowy. Wskazówka przednia (wiodąca) przebiega listę ramek i zeruje bit odniesienia. Wskazówka tylna (zamykająca) wskazuje stronę, która dołączana jest do listu stron do usunięcie, jeśli bit odniesienia jest wyzerowany. Algorytm usuwania determinowany jest przez: tempo przeglądania liczba stron na sekundę, rozsunięcie wskazówek wyprzedzenie czasowe wskazówki przedniej w stosunku do tylnej. Systemy operacyjne Podsumowanie 47 Wymiana stron w systemie Linux Stronicowanie jest 3-poziomowe (katalog stron, pośredni katalog stron, tablica stron). Sprowadzanie odbywa się na żądanie, chociaż występuje funkcja systemowa do udzielania z wyprzedzeniem wskazówki odnośnie przyszłego zapotrzebowania na strony (patrz alg. FDPA). Do usuwania stron wykorzystywany jest 8-bitowy licznik użycia strony, zwiększany, gdy strona jest używana, a zmniejszany, gdy nie ma śladów jej użycia. Usuwane są strony z najmniejszą wartością tego licznika. Systemy operacyjne Podsumowanie 48 24

Układ przestrzeni adres. w systemie Windows 2000 0 2 GB prywatna część procesu tablica stron 4 GB Systemy operacyjne Podsumowanie 49 Obraz procesu w systemie Windows 2000 (1) 64KB (0 FFFF) obszar niedostępny 2GB 192 KB (1000 7FFEFFFF) przestrzeń adresowa procesu 4KB (7FFDE000 7FFDEFFF) blok środowiska wątku dla pierwszego wątku 4KB (7FFDF000 7FFDFFFF) blok środowiska procesu Systemy operacyjne Podsumowanie 50 25

Obraz procesu w systemie Windows 2000 (2) 4KB (7FFE0000 7FFE0FFF) współużytkowana strona danych użytkownika 60KB (7FFE1000 7FFEFFFF) obszar niedostępny 64KB (7FFF0000 7FFFFFFF) obszar niedostępny Systemy operacyjne Podsumowanie 51 Obiekt procesu identyfikator procesu deskryptor zabezpieczeń priorytet podstawowy domyślna rodzina procesorów limity zasobowe limit czasu przetwarzania licznik operacji wejścia-wyjścia porty obsługi wyjątków stan procesu w chwili zakończenia Systemy operacyjne Podsumowanie 52 26

Obiekt wątku identyfikator wątku deskryptor wątku opis stanu przetwarzania priorytet dynamiczny rodzina procesorów wątku czas przetwarzania wątku... stan wątku w chwili zakończenia Systemy operacyjne Podsumowanie 53 Stany wątku Gotowy zdolny do wykonania Rezerwowy (ang. standby) oczekujący na zwolnienie procesora Wykonywany w trakcie działania Oczekujący oczekiwanie na zdarzenie Faza przejściowa gotowość do działania przy braku niektórych zasobów Zakończony oczekiwanie na usunięcie Systemy operacyjne Podsumowanie 54 27

Przejścia między stanami wątku wykonywany rezerwowy zakończony gotowy oczekujący faza przejściowa Systemy operacyjne Podsumowanie 55 Zarządzanie pamięcią w systemie Windows 2000 (1) Zarządzanie pamięcią opiera się na stronicowaniu. 32-bitowy adres logiczny składa się z: indeksu katalogu stron (PDE) 10 bitów indeksu tabeli stron (PTE) 10 bitów indeksu bajtów 12 bitów rozmiar strony 4KB. Systemy operacyjne Podsumowanie 56 28

Zarządzanie pamięcią w systemie Windows 2000 (2) Każdemu procesowi przydzielana jest liczba ramek w zakresie od pewnego minimum do maksimum (początkowo jest to 30, ale liczba ta zmienia się w zależności od częstości generowania błędów strony) Algorytm wymiany oparty jest na zbiorze roboczym W przypadku wystąpienia błędu strony ramka ofiara wybierana jest zgodnie z algorytmem drugiej szansy. Algorytm sprowadzania wykorzystuje wstępne stronicowanie. Systemy operacyjne Podsumowanie 57 Struktury danych na potrzeby stronicowania Katalog stron Tablica stron Tablica stron pliku stronicowania opis strony w pliku stronicowania Baza ramek stron informacje o wszystkich ramkach, na potrzeby zarządcy VM Systemy operacyjne Podsumowanie 58 29

Szeregowanie w UNIX SVR4 Stosowane jest szeregowanie priorytetowe, przy czym wyróżnia się trzy klasy zadań: procesy czasu rzeczywistego (priorytet 100 159), procesy w trybie jądra (priorytet 60 99), procesy z podziałem czasu (priorytet 0 59). Priorytety są zmienne, z zachowaniem zakresu dla danej klasy. Systemy operacyjne Podsumowanie 59 Szeregowanie w systemie Linux Stosowane jest szeregowanie priorytetowe, przy czym wyróżnia się trzy klasy zadań: procesy/wątki czasu rzeczywistego szeregowane zgodnie ze strategią FIFO, procesy/wątki czasu rzeczywistego szeregowane rotacyjnie, pozostałem procesy/wątki. Priorytety są zmienne, z zachowaniem zakresu dla danej klasy. Systemy operacyjne Podsumowanie 60 30

Szeregowanie w Windows 2000 Stosowane jest szeregowanie priorytetowe (wątków), przy czy są dwa pasma priorytetu (dwie klasy wątków) z 16 poziomami priorytetu w każdym paśmie: pasmo czasu rzeczywistego (priorytet w tej klasie nie ulega zmianie), pasmo zmiennych priorytetów. Priorytet wątków czasu rzeczywistego jest wyższy niż priorytet wątków w paśmie zmiennych priorytetów. Systemy operacyjne Podsumowanie 61 31