Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Definicja wirtualizacji Pamięć wirtualna Wirtualny system plików (VFS) Podsystem wejścia-wyjścia 2.

Podobne prezentacje


Prezentacja na temat: "Definicja wirtualizacji Pamięć wirtualna Wirtualny system plików (VFS) Podsystem wejścia-wyjścia 2."— Zapis prezentacji:

1

2 Definicja wirtualizacji Pamięć wirtualna Wirtualny system plików (VFS) Podsystem wejścia-wyjścia 2

3 Użycie oprogramowania w celu stworzenia abstrakcji (iluzji) posiadanych zasobów. Umożliwia efektywniejsze wykorzystanie istniejących zasobów sprzętowych poprzez dowolne modyfikowanie ich cech, dostosowując je do wymagań użytkownika. 3

4 Tak naprawdę wszystkie… W szczególności: pamięć operacyjną, procesor, system plików, urządzenia wejścia-wyjścia. 4

5 Umożliwia wykonywanie procesów, które nie są w całości przechowywane w pamięci operacyjnej. Logiczna przestrzeń może być większa od fizycznej przestrzeni adresowej. Tworzy iluzję dużej, jednorodnej i szybkiej pamięci. Części przestrzeni adresowej są relokowalne. 5

6 Stronicowanie na żądanie Segmentacja na żądanie Segmentacja ze stronicowaniem 6

7 ramki Pamięć fizyczna jest podzielona na bloki jednakowego rozmiaru – ramki. strony Logiczna przestrzeń jest podzielona na bloki o rozmiarze takim jak ramki – strony. Tablica ramek Tablica ramek – informacje o wolnych ramkach. Tablica stron procesu Tablica stron procesu – odwzorowuje adresy logiczne w adresy fizyczne. Adres logiczny Adres logiczny numer strony (p) numer strony (p) – indeks w tablicy stron, przesunięcie w stronie (d) przesunięcie w stronie (d) – numer bajtu w stronie. 7

8 8 Procesor Pamięć fizyczna so ro r Tablica stron Adres logiczny Adres fizyczny s

9 Tablica stron jest przechowywana w pamięci głównej. Rejestr bazowy tablicy stron – wskazuje na początek tablicy stron. Rejestry asocjacyjne bufory translacji bliskiego otoczenia - TLB Rejestry asocjacyjne (bufory translacji bliskiego otoczenia - TLB) – przyśpieszają translację. Odwrotna tablica stron Odwrotna tablica stron Pozycja zawiera adres wirtualny strony umieszczonej w ramce i identyfikator procesu będącego właścicielem strony. 9

10 Strona jest sprowadzana do pamięci w momencie, gdy pojawia się do niej odwołanie. Bit poprawności odwołania Bit poprawności odwołania: 1 – strona w pamięci 0 – strona poza pamięcią Błąd braku strony Błąd braku strony ( page fault ) SO znajduje wolną ramkę, sprowadza stronę z dysku do pamięci, Bit poprawności odwołania := 1 Restartuje instrukcję, która spowodowała błąd wymiana stron Gdy nie ma wolnej ramki – wymiana stron ( page replacement ) 10

11 SO znajduje w pamięci stronę i usuwa ją na dysk. Algorytmy wymiany stron Algorytmy wymiany stron: FIFO Optymalny Usuń stronę, do której najdłużej nie będzie odwołania LRU (Last Recently Used) Algorytmy przybliżające LRU Bit odwołania Algorytm drugiej szansy Algorytm zegarowy Migotanie – proces jest zajęty głównie przesyłaniem stron z dysku do pamięci i z pamięci na dysk. 11

12 segmentów Program jest zbiorem segmentów. Segment Segment – jednostka logiczna, np.: program główny, procedura, stos, zmienne. Adres logiczny: (nr_segmentu, przesunięcie) Adres logiczny: (nr_segmentu, przesunięcie) Tablica segmentów Tablica segmentów Każda pozycja zawiera fizyczny adres początku segmentu i rozmiar tego segmentu. Rejestr bazowy tablicy segmentów Rejestr bazowy tablicy segmentów – zawiera adres początku tablicy segmentów. Dzielenie na poziomie segmentów jest bardziej naturalne. 12

13 Każdy segment ma swoją tablicę stron. (Multics) Deskryptor segmentu zawiera adres tablicy stron segmentu, długość segmentu i pomocnicze bity. Tablica segmentów jest stronicowana. Translacja adresu (Intel 80386) 13

14 Instrukcja programu odwołująca się do pamięci Jednostka s egmentacji Jednostka stronicowania PamięćJądro Linuksa 14 Adres wirtualny postaci: selektor segmentu (16 bitów) przesunięcie (32 bity) Adres liniowy (32 bity) Adres fizyczny (32 bity)

15 W systemie istnieje wiele procesów ubiegających się o czas procesora. planiści Zarządzaniem czasem dostępu do procesora zajmują się funkcje jądra systemu tzw. planiści. Dzięki temu użytkownik nie odczuwa wyścigu o procesor. Ma poczucie, że wszystkie jego programy użytkowe działają równocześnie. Stwarza wrażenie, że każdy proces posiada swój własny procesor, na którym działa. 15

16 Proces szeregujący Proces szeregujący zajmuje się przydzielaniem czasu procesora zgodnie z polityką przy użyciu mechanizmów. Polityka Polityka: podział procesów na klasy, określenie sposobu szeregowania dla każdej klasy, określenie zasad przydziału procesora między klasami, zarządzanie priorytetami. Mechanizmy Mechanizmy: przerwania zegarowe, kolejki i inne struktury opisujące stan procesu, procedury przełączające kontekst. 16

17 Procesy czasu rzeczywistego (RT) Mają pierwszeństwo przed zwykłymi procesami, Szeregowane w ramach klasy przy użyciu: Strategii karuzelowej (Round Robin) Kolejki prostej (FIFO) Procesy zwykłe Do wykonania zostaje wybrany proces o największym priorytecie dynamicznym. Proces idle 17

18 Abstrakcyjna powłoka leżąca ponad rzeczywistym systemem plików. Umożliwia programom użytkownika korzystanie w jednakowy sposób, niezależnie od tego jaki system plików jest rzeczywiście wykorzystywany. Dostarcza jednolity interfejs wspólny dla wszystkich systemów plików obsługiwanych przez jądro systemu operacyjnego. 18

19 19 System plików Wirtualny system plików ext2 minix fat nfs proc Pamięć buforowa Sterowniki urządzeń Proces

20 VFS Gdy program chce wykonać operację na pliku, odwołują się do funkcji VFS (np.: open, read ). VFS przechwytuje wywołania systemowe i do realizacji operacji na pliku wywołuje funkcję konkretnego systemu plików. Programy mogą korzystać z plików niezależnie od tego, jaki system plików został użyty do ich przechowywania. 20

21 superblok Każdy zamontowany system plików jest reprezentowany przez superblok. i-węzeł Plik reprezentowany jest przez i-węzeł. Jest to metryczka zawierająca informacje o pliku. Z każdym i-węzłem związany jest jego numer – jednoznaczna identyfikacja pliku w systemie plików. W i-węźle przechowuje się niewielką tablicę numerów bloków składających się na plik. 21

22 Wyróżniono cztery typy adresów przechowywanych w tablicy numerów bloków: bezpośredni bezpośredni –adres bloku z danymi, pojedynczy pośredni pojedynczy pośredni – adres bloku, który zawiera listę adresów bezpośrednich, podwójny pośredni podwójny pośredni – adres bloku, który zawiera listę adresów bloków pojedynczych pośrednich, potrójny pośredni potrójny pośredni – adres bloku, który zawiera listę adresów bloków podwójnych pośrednich. 15 Tablica z adresami w i-węźle ma rozmiar równy pozycji z adresami bloków bezpośrednich, po 1 pozycji dla bloku pojedynczego, podwójnego i potrójnego pośredniego. 22

23 23 Dane o pliku Wskaźniki do bloków adresowanych bezpośrednio Wskaźnik pośredni Wskaźnik trójpośredni Wskaźnik dwupośredni Dane I-węzeł

24 pliki specjalne Urządzenia fizyczne są reprezentowane przez tzw. pliki specjalne. sterowniki urządzeń Do obsługi urządzeń służą sterowniki urządzeń (zbiór funkcji jądra systemu). tablice rozdzielcze urządzeń Dostęp do sterowników jest poprzez tablice rozdzielcze urządzeń. mknod() Plik specjalny tworzy się poleceniem mknod(). Tworzy ono odpowiedni i-węzeł i dopisuje go do katalogu. 24

25 25


Pobierz ppt "Definicja wirtualizacji Pamięć wirtualna Wirtualny system plików (VFS) Podsystem wejścia-wyjścia 2."

Podobne prezentacje


Reklamy Google