nowoczesne systemy operacyjne -...
TRANSCRIPT
![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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/30.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/31.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/32.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/33.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/34.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/35.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/36.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/37.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/38.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/39.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/40.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/41.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/42.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/43.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/44.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/45.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/46.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/47.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/48.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/49.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/50.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/51.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/52.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/53.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/54.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022022802/5c776bc109d3f2cd0e8ba7b4/html5/thumbnails/55.jpg)
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