Wirtualizacja zasobów w systemach operacyjnych

Slides:



Advertisements
Podobne prezentacje
Tryby adresowania Prawie każda operacja wykonywana przez mikroprocesor wykonywana jest na pewnych argumentach (lub argumencie). Sposoby wskazywania argumentów.
Advertisements

Sieci komputerowe Protokół TCP/IP.
Podstawy Informatyki (4)
SYSTEMY OPERACYJNE WSTĘP
SYSTEMY OPERACYJNE ·       SO : zestaw programów zarządzających zasobami komputera i wspomagających jego użytkowanie zarządzanie zasobami.
Moduł 2. Struktury Systemów Komputerowych
SYSTEMY OPERACYJNE SYSTEMY PLIKÓW
SYSTEMY OPERACYJNE ZARZĄDZANIE PAMIĘCIĄ
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
PROGRAMOWANIE STRUKTURALNE
SYSTEMY OPERACYJNE ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ
1 Linux jako system wielozadaniowy i wielodostępny.
Elementarne struktury danych Piotr Prokopowicz
Systemy plików FAT12, FAT16, FAT32, NTFS.
System plików UNIX i sposób ich reprezentacji przez i-węzły
Systemy plików UNIX Krzysztof Ratkowski Mateusz Wosiński.
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład nr 10: Pamięć wirtualna
Wykład nr 9: Zarządzanie pamięcią
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Magistrala & mostki PN/PD
Systemy operacyjne Bibliografia:
Dynamiczne struktury danych 1
Temat nr 10: System przerwań
Budowa systemów operacyjnych czasu rzeczywistego
ZARZĄDZANIE PROCESAMI
Systemów Operacyjnych
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Pamięć wspólna Przegląd stosowanych rozwiązań Marcin Kamiński, Michał Kotra Wydział EAIiE Katedra Automatyki Kraków, 2008.
Opracowanie: Maria Wąsik
Architektura komputerów
TABLICE C++.
Płyta główna. Magistrale I/O
Wielozadaniowowść systemu operacyjnego Linux
Systemy operacyjne.
Zasada działania komputera
Budowa systemu komputerowego
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Podstawowe usługi systemów operacyjnych
Systemy plików FAT, FAT32, NTFS
Przerwanie ang. interrupt.
Buforowanie D e f i n i c j a.
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
ADRES IP – unikatowy numer przyporządkowany urządzeniom sieci komputerowych. Adres IPv4 składa się z 32 bitów podzielonych na 4 oktety po 8 bitów każdy.
Spis treści Architektura systemu windows Pamięć wirtualna Plik wymiany
W ą t e k (lekki proces) thread.
Systemy operacyjne Zarządzanie pamięcią — przykłady realizacji
Algorytmy przydziału pamięci - ćwiczenia
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Wykład 9 Zarządzanie pamięcią operacyjną
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
System plików.
Procesor, pamięć, przerwania, WE/WY, …
Pamięć RAM Pamięć RAM.
Architektury procesorów rdzeniowych mikrokontrolerów.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Powtórzenie Zadania systemu operacyjnego… Rodzaje i jednostki pamięci…
Systemy operacyjne - Budowa systemu komputerowego i jego zadania
Tryby adresowania i formaty rozkazów mikroprocesora
SYSTEM PLIKÓW Źródło: Systemy operacyjne i sieci komputerowe - HELION.
Podział sieci IP na podsieci w ramach CISCO
Płyta główna. Magistrale I/O
Organizacja i Architektura Komputerów
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

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. Umożliwia efektywniejsze wykorzystanie istniejących zasobów sprzętowych poprzez dowolne modyfikowanie ich cech, dostosowując je do wymagań użytkownika.

Które zasoby SO można wirtualizować? Tak naprawdę wszystkie… W szczególności: pamięć operacyjną, procesor, system plików, urządzenia wejścia-wyjścia.

Pamięć wirtualna 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.

Techniki realizacji pamięci wirtualnej Stronicowanie na żądanie Segmentacja na żądanie Segmentacja ze stronicowaniem

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

Sprzęt stronicujący Procesor Pamięć fizyczna s o r Tablica stron Adres logiczny Adres fizyczny

Stronicowanie 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) – przyśpieszają translację. Odwrotna tablica stron Pozycja zawiera adres wirtualny strony umieszczonej w ramce i identyfikator procesu będącego właścicielem strony.

Stronicowanie na żądanie Strona jest sprowadzana do pamięci w momencie, gdy pojawia się do niej odwołanie. Bit poprawności odwołania: 1 – strona w pamięci 0 – strona poza pamięcią 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 (page replacement)

Wymiana stron SO znajduje w pamięci stronę i usuwa ją na dysk. 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.

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

Segmentacja Ze stronicowaniem 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)

Algorytm tłumaczenia adresu na procesorze Intel 80386 Instrukcja programu odwołująca się do pamięci Jednostka segmentacji Jednostka stronicowania Pamięć Jądro Linuksa Adres wirtualny postaci: selektor segmentu (16 bitów) przesunięcie (32 bity) Adres liniowy (32 bity) Adres fizyczny (32 bity)

Wirtualizacja procesora 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ś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.

Scheduler Proces szeregujący zajmuje się przydzielaniem czasu procesora zgodnie z polityką przy użyciu mechanizmów. 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: przerwania zegarowe, kolejki i inne struktury opisujące stan procesu, procedury przełączające kontekst.

Klasy procesów Procesy czasu rzeczywistego (RT) Procesy zwykłe 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

Wirtualny system plików 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.

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

Operacje na plikach 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.

Superblok oraz i-węzły Każdy zamontowany system plików jest reprezentowany przez superblok. 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.

Alokacja pliku na dysku w systemie ext2 Wyróżniono cztery typy adresów przechowywanych w tablicy numerów bloków: bezpośredni –adres bloku z danymi, pojedynczy pośredni – adres bloku, który zawiera listę adresów bezpośrednich, podwójny pośredni – adres bloku, który zawiera listę adresów bloków pojedynczych pośrednich, 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 15. 12 pozycji z adresami bloków bezpośrednich, po 1 pozycji dla bloku pojedynczego, podwójnego i potrójnego pośredniego.

Dostęp do pliku w ext2 I-węzeł 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ł

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

Dziękuję …