Wirtualizacja zasobów w systemach operacyjnych

Post on 23-Jan-2016

58 views 0 download

description

Wirtualizacja zasobów w systemach operacyjnych. Wioleta Borysewicz. agenda. Definicja wirtualizacji Pamięć wirtualna Wirtualny system plików (VFS) Podsystem wejścia-wyjścia. Co to jest wirtualizacja?. Użycie oprogramowania w celu stworzenia abstrakcji (iluzji) posiadanych zasobów. - PowerPoint PPT Presentation

Transcript of Wirtualizacja zasobów w systemach operacyjnych

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

2

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

Tak naprawdę wszystkie… W szczególności:

pamięć operacyjną, procesor, system plików, urządzenia wejścia-wyjścia.

4

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

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

6

Pamięć fizyczna jest podzielona na bloki jednakowego rozmiaru – ramkiramki.

Logiczna przestrzeń jest podzielona na bloki o rozmiarze takim jak ramki – stronystrony.

Tablica ramek Tablica ramek – informacje o wolnych ramkach.

Tablica stron procesu Tablica stron procesu – odwzorowuje adresy logiczne w adresy fizyczne.

Adres logicznyAdres 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

Procesor

Pamięć fizyczna

s o r o

r

Tablica stron

Adres logiczny

Adres fizyczny

s

Tablica stron jest przechowywana w pamięci głównej.

Rejestr bazowy tablicy stron – wskazuje na początek tablicy stron.

Rejestry asocjacyjne Rejestry asocjacyjne (bufory translacji bufory translacji bliskiego otoczenia - TLBbliskiego otoczenia - TLB) – przyśpieszają translację.

Odwrotna tablica stronOdwrotna tablica stron Pozycja zawiera adres wirtualny strony

umieszczonej w ramce i identyfikator procesu będącego właścicielem strony. 9

Strona jest sprowadzana do pamięci w momencie, gdy pojawia się do niej odwołanie.

Bit poprawności odwołaniaBit 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

Gdy nie ma wolnej ramki – wymiana stron wymiana stron (page replacement)

10

SO znajduje w pamięci stronę i usuwa ją na dysk.

Algorytmy wymiany stronAlgorytmy 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

Program jest zbiorem segmentówsegmentów. SegmentSegment – jednostka logiczna, np.: program

główny, procedura, stos, zmienne. Adres logiczny: (nr_segmentu, przesunięcie)Adres logiczny: (nr_segmentu, przesunięcie) Tablica segmentówTablica 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

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

Adres wirtualny postaci:•selektor segmentu (16 bitów)•przesunięcie (32 bity)

Adres liniowy (32 bity)

Adres fizyczny (32 bity)

W systemie istnieje wiele procesów ubiegających się o czas procesora.

Zarządzaniem czasem dostępu do procesora zajmują się funkcje jądra systemu tzw. planiściplaniś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

Proces szeregujący Proces szeregujący zajmuje się przydzielaniem czasu procesora zgodnie z polityką przy użyciu mechanizmów.

PolitykaPolityka: 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.

MechanizmyMechanizmy: przerwania zegarowe, kolejki i inne struktury opisujące stan procesu, procedury przełączające kontekst.

16

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 idle17

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

System plików

Wirtualny system plikówWirtualny system plików

ext2

ext2 minixminix fatfat nfsnfs pro

cproc

Pamięć buforowaPamięć buforowa

Sterowniki urządzeń

Proces

Proces

Gdy program chce wykonać operację na pliku, odwołują się do funkcji VFSVFS (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

Każdy zamontowany system plików jest reprezentowany przez superbloksuperblok.

Plik reprezentowany jest przez i-węzeł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

Wyróżniono cztery typy adresów przechowywanych w tablicy numerów bloków: bezpośrednibezpoś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. Tablica z adresami w i-węźle ma rozmiar równy

1515. 12 pozycji z adresami bloków bezpośrednich, po 1 pozycji dla bloku pojedynczego, podwójnego i

potrójnego pośredniego.

22

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

Dane

Dane

Dane

Dane

Dane

Dane

Dane

Dane

Dane

Dane

Dane

I-węzeł

Urządzenia fizyczne są reprezentowane przez tzw. pliki specjalnepliki specjalne.

Do obsługi urządzeń służą sterowniki sterowniki urządzeń urządzeń (zbiór funkcji jądra systemu).

Dostęp do sterowników jest poprzez tablice tablice rozdzielcze urządzeńrozdzielcze urządzeń.

Plik specjalny tworzy się poleceniem mknod()mknod(). Tworzy ono odpowiedni i-węzeł i dopisuje go do

katalogu.

24

25