Nowoczesne systemy operacyjne -...

55
Nowoczesne systemy operacyjne Szymon Krywult Jan Kleszczyński 13 maja 2013

Transcript of Nowoczesne systemy operacyjne -...

Page 1: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Nowoczesne systemy operacyjne

Szymon Krywult Jan Kleszczyński

13 maja 2013

Page 2: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Plan

Wstęp

Kernel

Procesy i wątki

System plików

System wejścia-wyjścia

Podsumowanie

Page 3: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

WstępDefinicja

Zbiór oprogramowania zarządzającego warstwą sprzętową komputera orazzapewniającą odpowiednią warstwę abstrakcji (interfejs) dla aplikacji.

Page 4: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

WstępZadania systemu operacyjnego

I Zarządzanie warstwą sprzętowąI Obsługa urządzeń wejścia - wyjściaI Zarządzanie zasobami (np: przydzielanie czasu procesora,zarządzanie pamięcią)

I Dostarczenie wygodniejszego interfejsu dla aplikacji (użytkownika)I Warstwa abstrakcji dla aplikacjiI Interfejs użytkownika (GUI, powłoka)

I Zapewnienie bezpieczeństwaI Ograniczenie możliwości manipulowania warstwą sprzętową przezaplikacje

Page 5: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

WstępRys historyczny

I 1944 - 1955: Pierwsza generacja (Lampy elektronowe)I 1955 - 1965: Druga generacja (Tranzystory i systemy wsadowe)

I FORTRAN Monitor SystemI IBSYS

I 1965 - 1980: Trzecia generacja (Układy scalone)I OS/360 (współdzielenie pamięci, wielozadaniowość)I (MULTICS →) UNIX (→ MINIX → LINUX)

I BSD (Berkeley Software Distribution)I System V (AT&T)I Standard POSIX - definiuje minimalny interfejs wywołań, który musi

obsługiwać każdy system zgodny z UNIX

Page 6: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

WstępRys historyczny

I 1980 - obecnie: Czwarta generacja (Komputery osobiste)I (DOS →) MS-DOSI Mac OSI LINUXI Windows

Page 7: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

WstępCechy nowoczesnego systemu operacyjnego

W zależności od przeznaczenia nowoczesny system operacyjnycharakteryzują się:

I możliwością obsługi konfiguracji wieloprocesorowychI wielozadaniowościąI umożliwiać współpracę z urządzeniami zewnętrznymiI dostarczać interfejs umożliwiający wygodną pracę dla użytkownika

Page 8: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

WstępRodzaje systemów operacyjnych

Rodzaje systemów operacyjnych:I Systemy operacyjne komputerów mainframeI Systemy operacyjne serwerówI Wieloprocesorowe systemy operacyjneI Systemy operacyjne komputerów osobistychI Systemy operacyjne urządzeń podręcznychI Rozproszone systemy operacyjneI Wbudowane systemy operacyjneI Systemy operacyjne czasu rzeczywistegoI Systemy operacyjne kart elektronicznychI Systemy operacyjne węzłów sensorowych

Page 9: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Kernel

Jądro systemu (ang. Kernel) - podstawowa część systemu operacyjnego,która jest odpowiedzialna za wszystkie jego zadania. Podstawowearchitektury jąder:

I jądro monolityczneI mikrojądroI nanokernelI jądro hybrydowe

Page 10: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

KernelJądro monolityczne

Jądro monolityczne - wszystkie zadania są wykonywane przez jądro,będące jednym, dużym programem działającym w trybie jądra. Zaletąjest prostota, stabilność, łatwość komunikacji pomiędzy różnymielementami jądra (jedna przestrzeń adresowa).Spotykane w serwerach i zaporach sieciowych.

Rysunek: Schemat jądra monolitycznego

Page 11: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

KernelMikrojądro

Mikrojądro - okrojona wersja jądra monolitycznego, części odpowiedzialneza bardziej wyrafinowane funkcje są wydzielone do funkcjonalnych blokówalbo realizowane jako zwykłe procesy w trybie użytkownika.

Rysunek: Schemat mikrojądra

Nanokernel – mniejsza wersja mikrojądra Spotykane w systemach czasurzeczywistego i systemach wbudowanych.

Page 12: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

KernelJądro hybrydowe

Jądro hybrydowe – architektura pośrednia między jądrem monolitycznegoi mikrojądrem. Krytyczne usługi są na stałe wkompilowane w główny kodjądra, inne usługi pozostają oddzielone od głównego jądra i działają jakoserwery (w przestrzeni jądra). Dzięki temu rozwiązaniu możliwe jestzachowanie wydajności jądra monolitycznego dla kluczowych usług.Stosowane w Windows i Mac OS.

Rysunek: Schemat jądra hybrydowego

Page 13: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

KernelTryb działania jądra

Jądro systemowe działa w trybie nadzorcy, co oznacza, że ma pełnąkontrolę nad warstwą sprzętową.

Pełna kontrola nad warstwą sprzętową jest konieczna, ponieważ to jądroodpowiada za zarządzanie pamięcią, przydzielanie czasu procesora orazobsługę przerwań.

Page 14: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiProces

Proces - instancja wykonywanego programu.Składa się z:

I PIDI kodu programuI licznika rozkazówI stosuI sekcji danychI wątków

Zasoby:I pamięćI czas procesoraI urządzenia I/OI pliki

Page 15: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiWątek

Wątek (ang. thread) – część programu wykonywana współbieżnie wobrębie jednego procesu; w jednym procesie może istnieć wiele wątków.Proces od wątku odróżnia brak własnych zasobów dla wątku, które sąwspólne dla wszystkich wątków wewnątrz jednego procesu.

Page 16: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiCechy wątków

I Wątki wymagają mniej zasobów do działania i też mniejszy jest czasich tworzenia.

I Współdzielona przestrzeń adresowa - wystarczy przekazać wskaźnik.I Odczyt (a niekiedy zapis) danych o rozmiarze nie większym od słowa

maszynowego nie wymaga synchronizacji (procesor gwarantujeatomowość takiej operacji).

Page 17: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiMulti CPU vs virtual CPU oraz Green threads

Teoretycznie każdy proces ma własne CPU. Rzeczywiście jądrowirtualizuje procesor dla wątku, a tak naprawdę procesy wykonują siękonkurencyjnie.

Green threadsGreen threads - symulowanie wielowątkowości przez maszynę wirtualnąnawet na maszynie nie obsługującej wątków.

Page 18: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiMulti CPU vs virtual CPU oraz Green threads

Teoretycznie każdy proces ma własne CPU. Rzeczywiście jądrowirtualizuje procesor dla wątku, a tak naprawdę procesy wykonują siękonkurencyjnie.

Green threadsGreen threads - symulowanie wielowątkowości przez maszynę wirtualnąnawet na maszynie nie obsługującej wątków.

Page 19: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiTworzenie procesów

cobegin - oznaczenie kodu jako wykonującego się równolegle poprzezumieszczeni między cobegin, a coend. Niejawne, statyczne procesy.

forall - równoległość danych

fork - dynamiczne tworzenie procesów poprzez dyrektywy fork i join.

jawnie - jawnie tworzone procesy

Page 20: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiPlanowanie

Planowanie (ang. Scheduling) polega na ustaleniu kolejności oraz czasuwykonywania procesów. Odpowiadają za nie planery, które możnapodzielić na dwie podstawowe grupy:

I WbudowaneI Autonomiczne

Page 21: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiModel decyzji

I Wywłaszczający:zatrzymuje proces i zmienia harmonogram, jest wołany przy zmianiestanu systemu lub okresowo

I Niewywłaszczający:proces działa tak długo jak to możliwe, planer jest wołany gdyproces się zakończy lub zablokuje

Page 22: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiWybór procesów

Określenie, który proces będzie aktywny następuje przez nadaniepriorytetów za pomocą funkcji priorytetów.Wyróżniamy następujące ich rodzaje:

I LosowoI Chronologicznie (FIFO)I Cyklicznie (Round Robin - RR)I Shortest-Job-Firt (SJF)I Shortest-Remaining-Time (SRT)I Multilevel Priority (ML)I Multilevel Feedback (MLF)I Rate Monotonic (RM)I Earliest Deadline First (EDF)

Page 23: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiFIFO

Wcześniejszy proces ma wyższy priorytet.I Start po czasie t = 2I Proces p1 ma wyższy priorytet

Page 24: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiRR

Przełącza się miedzy procesami co określony czas.I Proces p1 pracuje aż do t = 2I W t = 2− 6 następuje przełączanie między procesamiI Proces p@ kończy sie t = 6, a proces p1 w t = 7

Page 25: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiSJF

Priorytet odwrotnie proporcjonalny do długości wykonania procesu.I Start po czasie t = 2I Proces p2 ma priorytet P = −2,a p1P = −5

Page 26: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiSRT

Priorytet odwrotnie proporcjonalny do pozostałego czasu.I Proces p1 działa aż do t = 2I W t = 2 proces p2 ma P = −2, a p1P = −3

Page 27: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiML

Priorytet nadany zewnętrznie. Na tym samym poziomie wykorzystuje sięFIFO albo RR.

I p1 z priorytetem 3 działa aż do pojawienia się p2 z P = 7I Po skończeniu p2 powrót do p1

Page 28: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiMLF

Tak jak ML wybiera proces o najwyższym priorytecie, ale początkowypriorytet jest nadawany jako najwyższy, a potem zmniejszany o jeden cojednostkę czasu.

Page 29: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiMLF - przykład

I p1 zaczyna z P = nI W t = 2 p1 ma już P = n − 2I pojawia się p2 z P = n i blokuje p1

I p2 działa przez dwa cykle zmniejszając priorytet do P = n − 2I Priorytet p2 i p1 są równe, p2 kończy działanie po kolejnej jednostce

z P = n − 3I p1 zostaje wznowione i wykonuje się do końca.

Page 30: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiRM

Im krótszy cykl procesu tym większy priorytet. Opiera się narzeczywistym czasie, co pozwala na użycie go w systemach RT.

I p1 ma cykl równy 9, a p2 7I p1 działa, do pojawienia się p2

I p1 wznawia się po skończeniu p2

Page 31: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Procesy i wątkiEDF

Wyższy priorytet ma proces o bliższym wymaganym czasie zakończenia.

d okres

r rzeczywisty czas w systemie

r%d czas w danym okresie

d - r%d pozostały czas w okresie

P = −(d − r%d)

Page 32: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plików

System plików - część systemu operacyjnego zarządzająca plikamiznajdującymi się na lokalnych nośnikach danych.

Określa sposób w jaki pliki będą przechowywane oraz atrybuty jakie plikimogą posiadać.

Przykładowe atrybuty: wykonywalność, właściciel, flagi określające plikisystemowe lub pliki tylko do odczytu itp.

Page 33: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówPlik

Plik - logiczna jednostka informacji używana do modelowania nośnikadanych. Z punktu widzenie systemu operacyjnego pliki mogą byćpodzielone na:

I tekstoweI binarneI systemoweI specjalneI wykonywalne

Page 34: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówOperacje na plikach i folderach od strony użytkownika00

Podstawowe wywołania systemowe związane z:I plikami:create, delete, open, close, read, write, append, seek, get attributes,set attributes, rename

I katalogami:create, delete, opendir, closedir, readdir, rename, link, unlink

Page 35: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówUkład systemu plików

System operacyjny traktuje dysk jak jednowymiarową tablicębloków logicznych.

W sektorze 0 dysku umieszczony jest główny rekord startowy MBR(ang. Master Boot Record), który zawiera informacje o tym,która z partycji jest aktywna (zawiera system operacyjny).

Każda partycja zaczyna się od tzw. bloku startowego (ang. Boot Block),w którym znajduje się program ładujący system operacyjny

Page 36: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówUkład systemu plików

MBR

Tablica Partycji Partycje

Cały dysk

Blok startowy SuperblokMechanizm zarządzania

wolnym miejscem i - węzły Katalog główny Pliki i katalogi

Rysunek: Przykładowy układ systemu plików

Page 37: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówUkład systemu plików

I Blok startowy (ang. Boot block) - pierwszy blok partycji, zawieraprogram ładujący system operacyjny

I Superblok - zawiera najważniejsze parametry systemu plików(np. identyfikator systemu plików, liczba bloków w systemie plików)

I Mechanizm zarządzania wolnym miejscem - podstawowymmechanizmem jest mapa bitowa:

I każdy blok jest reprezentowany przez jeden bit (0 – wolny)I szybkie wyszukiwanie wolnych blokówI wydajny wtedy, gdy mapa jest w RAM

I i - węzły (węzły indeksujące) - tablica struktur (po jednej dlakażdego pliku), w których zawarte są informacje o plikach.

I Katalog główny - zawiera wierzchołek drzewa systemu plików

Page 38: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówAlokacja plików

I Alokacja ciągłaI Alokacja na bazie listy jednokierunkowejI Alokacja bazująca na jednokierunkowej liście z wykorzystaniem tabeli

w pamięci

Page 39: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówAlokacja ciągła

Pliki lokowane po kolei, jeden po drugim.Zalety:

I Prosta w implementacji - należy pamiętać jedynie adres pierwszegobloku i ilość bloków w danym pliku

I Wydajny odczyt - cały plik można odczytać w pojedynczej operacji

Wady:I Fragmentacja zewnętrzna - usuwanie plików powoduje powstawanie

lukI Problematyczne zwiększanie rozmiaru pliku

Page 40: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówAlokacja listowa

Pliki przechowywane w postaci jednokierunkowej listy bloków dyskowych.

Pierwsze słowo w każdym bloku jest używane jako wskaźnik donastępnego bloku. Pozostała część bloku przeznaczona na dane.

Zalety:I Brak fragmentacji zewnętrznejI Wystarczy pamiętać adres dyskowy tylko pierwszego blokuI Łatwe zwiększanie rozmiaru pliku

Wady:I Losowy dostęp do danych jest bardzo wolnyI Dane przechowywane w blokach nie muszą być potęgą dwójki

Page 41: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówAlokacja bazująca na jednokierunkowej liście z wykorzystaniem tabeli w pamięci

Adresy poszczególnych bloków wchodzących w skład pliku umieszczonesą w strukturze (węźle indeksowym), która ładowana jest do pamięci.

Zalety:I Brak fragmentacji zewnętrznejI Łatwe zwiększanie rozmiaru pliku

Wady:I Losowy dostęp do danych jest bardzo wolny

Page 42: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówWirtualne systemy plików

Wirtualne systemy plików (VFS) - abstrakcyjna warstwa leżąca ponadrzeczywistym systemem plików. Jego zadaniem jest umożliwienieprogramom użytkownika na pracę niezależnie od używanegorzeczywistego systemu plików.

VFS dostarcza jednolity interfejs wspólny dla wszystkich systemówoperacyjnych obsługiwanych przez jądro systemu operacyjnego.

Page 43: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System plikówKsięgujące systemy plików

Systemy księgujące (ang. journaling file systems) najpierw zapisują jakieoperacje mają zostać wykonane, a dopiero później je wykonują.

Mechanizm stosowany między innymi w systemach NTFS i ext3.

Możliwe stosowanie bloków transakcji (wykonywane wszystkie operacjew transakcji lub żadna).

Page 44: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjścia

System wejścia-wyjścia - system odpowiedzialny za komunikacjęz urządzeniami zewnętrznymi, podłączanymi do komputera.

Page 45: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaJednolity interfejs urządzeń

Aby system operacyjny mógł współpracować z szerokim zbioremurządzeń, dedykowane im sterowniki muszą dostarczyć zbiór funkcjiokreślonych przez system dla danej klasy urządzeń (jednolity interfejszgodny z systemem operacyjnym).

Często sterowniki zawierają tabelę zawierającą adresy do wymaganychfunkcji.

Page 46: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaRodzaje urządzeń pod względem dostępu do danych

Urządzenia wejścia - wyjścia dzielone są pod względem sposobu dostępudo danych:

I urządzenia blokowe - zawierają wiele bloków danych i które możnaadresować niezależnie (np. dyski)

I urządzenia znakowe - generują lub akceptują strumień danych (np.klawiatura, drukarka)

Page 47: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaWarstwy systemu wejścia-wyjścia

Sprzęt

Procedury obsługi przerwań

Sterowniki urządzeń

Oprogramowanie niezależneod urządzenia

Procesy użytkownika

Warstwa Funkcja wejścia wyjścia

Wykonywanie wywołań wejścia-wyjścia; formatowanie wejścia-wyjścia, spooling

Nadawanie nazw, zabezpieczenie, blokowanie, buforowane, przydzielanie

Konfiguracja rejestrów urządzeń, sprawdzanie statusu

Aktywacja sterownika po zakończeniu operacji wejścia-wyjścia

Wykonywanie operacji wejścia-wyjścia

Żądaniewejścia-wyjścia

Odpowiedź wejścia-wyjścia

Page 48: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaSposoby komunikacji z urządzeniami

I RejestryI Zmapowanie do pamięciI PullingI PrzerwaniaI Direct Memory Access

Page 49: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaRejestry

I Komunikacja odbywa się poprzez rejestry przydzielone dla każdegoportu.

I Rejestry 1 - 4 bajtowe.I Typowo 4 podstawowe: Data In, Data Out, Status, Control.I Patrz Wishbone :)

Page 50: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaZmapowanie do pamięci

I Przydzielony obszar pamięci reprezentuje urządzenie.I Urządzenia potzrebujące przesłać dużo i szybko (np. karty graficzne).I Nie wyklucza używania również rejestrów.

Page 51: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaPulling

I Host sprawdza Busy bit.I Wpisuje dane, ustawia bit zapisu, ustawia bit Command Ready.I Urządzenie sprawdza bit Command Ready, ustawia Busy bit.I Sprawdza bit zapisu, odczytuje dane.I Czyści bit błędu, Command Ready oraz Busy.

Page 52: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaPrzerwania

I Wystawienie przez urządzenie przerwania.I Obsłużenie go przez procesor.I Powrót do normalnej pracy.I Przerwania mają priorytety.

Page 53: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaDMA

Specjalny kontroler DMA kopiuje całe obszary danych bezpośrednio dopamięci.

I Urządzenie (np. dysk) wskazuje skąd, ile i gdzie skopiować.I DMA Conroller wykonuje kopiowanie.I DMAC powiadmia przerwaniem CPU gdzie znajdują się dane.I W czasie działania DMA CPU nie ma dostępu do szyny PCI czyli

między innymi do pamięci RAM, musi opierać się tylko na cachu L1 iL2 oraz rejestrach.

I Zabronione dla procesów użytkonika ze względów bezpieczeństwa.

Page 54: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

System wejścia-wyjściaRealizacja w Windows

Rysunek: Realizacja sterowników w Windows

Page 55: Nowoczesne systemy operacyjne - orion.fis.agh.edu.plorion.fis.agh.edu.pl/~swientek/asm/7_Kleszczynski_Krywult... · Urządzenia wejścia - wyjścia dzielone są pod względem sposobu

Podsumowanie

Podsumowując, nowoczesny system operacyjny powinien:I obsługiwać konfiguracje wieloprocesoroweI być wielozadaniowyI separować zadania jądra od zadań realizowanych przez użytkownika

(kernelmode i usermode)I obsługiwać I/OI umożliwiać łatwy dostęp do plikówI obsługiwać siećI mieć wygodny UII zapewniać bezpieczeństwo danych