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

Podobne dokumenty
Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na 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

Zarządzanie pamięcią w systemie operacyjnym

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

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

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

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

Zarządzanie procesami i wątkami

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

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

Budowa systemów komputerowych

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 struktura

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Systemy operacyjne System sieciowy UNIX-a

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.

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

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

Struktura systemów komputerowych

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 Klasyfikacja ze względu na liczbę użytkowników Systemy dla jednego zasoby systemu przeznaczone są dla jednego (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 1 Systemy operacyjne Podsumowanie 4 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 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 w wykonywanie zadania. Systemy operacyjne Podsumowanie 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ą 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 Klas. ze względu na liczbę wykonywanych zadań Systemy jednozadaniowe niedopuszczalne jest rozpoczęcie wykonywania następnego zadania 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 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 mechanizm ładowania i uruchamiani programów mechanizmy synchronizacji i komunikacji proc. Definicja interfejsu Systemy operacyjne Podsumowanie 6 1

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 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 7 Systemy operacyjne Podsumowanie 10 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 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 Ogólna struktura systemu operacyjnego interpreter poleceń programy systemowe Jądro systemu operacyjnego Sprzęt 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 9 Systemy operacyjne Podsumowanie 12 2

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 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 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) Systemy operacyjne Podsumowanie 16 Mod. zarządzania pamięcią pomocniczą (dyskiem) Zarządzanie obszarami wolnymi Przydzielanie przestrzeni dyskowej Planowanie dostępu do dysku Interpreter poleceń Pobieranie poleceń od Interpretowanie poleceń Wykonywanie poleceń Przekazywanie użytkownikowi wyników wykonania poleceń, informacji o problemach lub błędach Systemy operacyjne Podsumowanie 14 Systemy operacyjne Podsumowanie 17 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 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 3

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 często traktowany jest jak podprogram wywoływany przez system. 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 19 Systemy operacyjne Podsumowanie 22 Struktura klient-serwer Poszczególne usługi systemu są wyodrębnione w postaci oddzielnych procesów (serwerów), działających w trybie. 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. moduł zarządzania procesami moduł zarządzania pamięcią Przykład hierarchii procesów moduł zarządzania plikami podsystem wej-wyj Systemy operacyjne Podsumowanie 20 Systemy operacyjne Podsumowanie 23 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. 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 21 Systemy operacyjne Podsumowanie 24 4

Przykład hierarchii funkcji informacją (system plików) urządzeniami zewnętrznymi procesami (warst. wyż.) pamięcią procesami (warstwa niższa) maszyna podstawowa Systemy operacyjne Podsumowanie 25 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 Ewolucja struktur Podejście obiektowe struktura monolityczna hierarchia funkcji UNIX na poziomie projektu odseparowana sprzętowo hierarchia procesów Windows 2000 mikrojądro 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 26 Systemy operacyjne Podsumowanie 29 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. 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 27 Systemy operacyjne Podsumowanie 30 5

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. Obraz procesu w systemie Unix Kontekst poziomu program Kontekst rejestru rejestry procesora Kontekst poziomu systemu dane o procesie w strukturach jądra Systemy operacyjne Podsumowanie 31 Systemy operacyjne Podsumowanie 34 usługi usługi systemowe usługi systemowe systemowe podsystem plików buf. pamięci podręcznej Struktura tradycyjnego systemu UNIX biblioteki aplikacje aplikacje aplikacje interfejs wywołań systemowych podsystem sterowania procesami komunikacja między proc. szeregowanie pamięcią tryb tryb jądra blok znak sterowniki urządzeń sprzęt Systemy operacyjne Podsumowanie 32 Kontekst poziomu Tekst (kod) wykonywanego programu zbiór rozkazów maszynowych Dane wykonywanego programu Stos adresy powrotów, argumenty podprogramów, zmienne lokalne Pamięć współdzielona obszar pamięci do wymiany informacji z innymi procesami Systemy operacyjne Podsumowanie 35 Struktura Windows 2000 Kontekst rejestru układ wykonawczy usługi usługi aplikacje podsystemy systemowe usługi aplikacje aplikacje podsystemy środowiskowe podsystemy systemowe systemowe środowiskowe środowiskowe NTDLL.DLL interfejs układu wykonawczego zarządcy (procesów, pamięci itp.) mikrojądro sterowniki urządzeń tryb tryb jądra Licznik rozkazów Rejestr stanu procesora Wskaźnik stosu Rejestry ogólnego przeznaczenia HAL sprzęt Systemy operacyjne Podsumowanie 33 Systemy operacyjne Podsumowanie 36 6

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 U-obszar (1) Wskaźnik na wpis dla danego procesu w tablicy procesów Rzeczywisty oraz obowiązujący identyfikator i grupy Argumenty/wyniki wywołania funkcji systemowej Podprogramy obsługi sygnałów Informacje z nagłówka programu Systemy operacyjne Podsumowanie 40 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 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 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 utworzony Przejścia między stanami procesu w systemie Unix wykonywany w trybie użyt. wywłaszczony gotowy w pamięci gotowy poza pamięcią wykonywany w trybie jądra uśpiony w pamięci zombi uśpiony poza pamięcią Systemy operacyjne Podsumowanie 42 7

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 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 43 Systemy operacyjne Podsumowanie 46 utworzony Przejścia między stanami procesu w systemie Linux zatrzymany gotowy wykonywany przerywalny nieprzerywalny zombi Systemy operacyjne Podsumowanie 44 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 Zarządzanie pamięcią w systemie Unix Zarządzanie pamięcią na potrzeby procesów w trybie 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. 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 45 Systemy operacyjne Podsumowanie 48 8

Układ przestrzeni adres. w systemie Windows 2000 0 2 GB 4 GB prywatna część procesu tablica stron Systemy operacyjne Podsumowanie 49 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 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 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 50 Systemy operacyjne Podsumowanie 53 Obraz procesu w systemie Windows 2000 (2) 4KB (7FFE0000 7FFE0FFF) współużytkowana strona danych 60KB (7FFE1000 7FFEFFFF) obszar niedostępny 64KB (7FFF0000 7FFFFFFF) obszar niedostępny 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 51 Systemy operacyjne Podsumowanie 54 9

Przejścia między stanami wątku wykonywany rezerwowy gotowy faza przejściowa oczekujący zakończony Systemy operacyjne Podsumowanie 55 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 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. 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 56 Systemy operacyjne Podsumowanie 59 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. 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 57 Systemy operacyjne Podsumowanie 60 10

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 11