Podstawy. Pamięć wirtualna. (demand paging)

Podobne dokumenty
Stronicowanie w systemie pamięci wirtualnej

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

Wykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Pamięć wirtualna. A gdyby tak w pamięci przebywała tylko ta część programu, która jest aktualnie wykonywana?

Pamięć wirtualna. Pamięć wirtualna

Nakładki. Kod przebiegu 2: 80 kb Tablica symboli: 20 kb wspólne podprogramy: 30 kb Razem: 200 kb

dr inŝ. Jarosław Forenc

Pamięć wirtualna. Jan Tuziemski Źródło części materiałów: os-book.com

Systemy Operacyjne Pamięć wirtualna cz. 1

dr inż. Jarosław Forenc

Systemy operacyjne III

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

dr inż. Jarosław Forenc

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Zarządzanie pamięcią operacyjną i pamięć wirtualna

Pamięć wirtualna. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Stronicowanie na ¹danie

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Zarządzanie pamięcią operacyjną

sprowadza się od razu kilka stron!

TEMAT 5 Zarządzanie pamięcią operacyjną

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

Architektura komputerów

Zarządzanie zasobami pamięci

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Podstawy. Podsystem zarządzania pamięcią - zadania: Wiązanie (binding) rozkazów i danych z adresami pamięci. W systemie wielozadaniowym:

Architektura komputerów

Zarządzanie pamięcią. Zarządzanie pamięcią. Podstawy. Podsystem zarządzania pamięcią. Zadania podsystemu: W systemie wielozadaniowym:

Zarz arz dzanie pam dzanie ięci ę ą

Schematy zarzadzania pamięcia

Zarz arz dzanie pam dzanie ięci ę ą

Od programu źródłowego do procesu

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Pamięć wirtualna jest organizacją zasobów pamięci, zrealizowaną w oparciu o tzw. przestrzeń wymiany w pamięci drugiego rzędu (na dysku).

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Zarządzanie pamięcią. Podstawy Wymiana (swapping). Przydział ciągły pamięci. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem.

Architektura komputerów

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

Plan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek

Działanie systemu operacyjnego

Organizacja pamięci współczesnych systemów komputerowych : pojedynczy procesor wielopoziomowa pamięć podręczna pamięć wirtualna

Działanie systemu operacyjnego

Wykład 7. Zarządzanie pamięcią

Działanie systemu operacyjnego

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Pamięć wirtualna w AS/400

architektura komputerów w. 8 Zarządzanie pamięcią

Zarządzanie pamięcią operacyjną

Pytania do treści wykładów:

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

Działanie systemu operacyjnego

Systemy Operacyjne Pamięć wirtualna cz. 2

Zarządzanie pamięcią w systemie operacyjnym

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Ograniczenia efektywności systemu pamięci

System pamięci. Pamięć wirtualna

Architektura systemu komputerowego

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Ograniczenia efektywności systemu pamięci

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Struktury systemów operacyjnych

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Systemy operacyjne III

Systemy operacyjne. Struktura i zasady budowy. Rozdział 1 Wprowadzenie do systemów komputerowych

Systemy wejścia-wyjścia. wyjścia

Wybrane zagadnienia elektroniki współczesnej

Systemy operacyjne system przerwań

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

ARCHITEKTURA KOMPUTERÓW

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

Hierarchia pamięci w systemie komputerowym

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Poziomy abstrakcji cyfrowego systemu komputerowego. Procesor i pamięć. organizacja pamięci

System pamięci. Pamięć wirtualna

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

Struktura systemów komputerowych

Urządzenia wejścia-wyjścia

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Algorytm. a programowanie -

Podstawy teoretyczne baz danych. Recovery Transakcyjne odtwarzanie bazy danych po awarii

System plików. Warstwowy model systemu plików

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Sprzętowe wspomaganie pamięci wirtualnej

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Wykład 4. Tablice. Pliki

System pamięci. Pamięć wirtualna

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Magistrala systemowa (System Bus)

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

Fizyczna organizacja danych w bazie danych

by lo pozostawione procesom lub programom. W nowoczesnych i wi ekszych systemach

Transkrypt:

Pamięć wirtualna Podstawy Podstawy Stronicowanie na żądanie Wymiana strony Przydział ramek Szamotanie (thrashing) Pamięć wirtualna (virtual memory) oddzielenie pamięci logicznej użytkownika od fizycznej. Jedynie część programu (ta która ma się wykonać) musi być wpamięci. Przestrzeń adresów logicznych może być znacznie większa od przestrzeni adresów fizycznych. Pozwala na dzielenie przestrzeni adresowej przez wiele procesów.. Pozwala na efektywniejsze tworzenie procesów. Pamięć wirtualna może być implementowana poprzez: Stronicowanie na żądanie. Segmentację na żądanie. 0. 0. Pamięć wirtualna większa od fizycznej Stronicowanie na żądanie (demand paging) Sprowadź stronę do pamięci tylko wtedy, gdy jest potrzebna. Mniej operacji we/wy. Mniej pamięci. Szybsza odpowiedź. Więcej użytkowników. Potrzebna strona odwołać się do niej. Odwołanie niepoprawne (invalid reference) odrzuć (abort) Brak w pamięci sprowadź do pamięci. 0. 0. Przesyłanie pamięci stronicowanej do ciągłego obszaru dyskowego Bit poprawności odniesienia (Valid-Invalid Bit) W tabeli stron każda pozycja zawiera dodatkowo bit poprawności odniesienia: ( jest w pamięci, 0 niemawpamięci) Wstępnie bit ten ma wartość zero. Przykład: page table Frame # M valid-invalid bit 0 0 0 Podczas translacji - jeśli valid invalid bit jest 0 błąd strony (page fault). 0.5 0.6

Brak stron w pamięci operacyjnej Błąd strony Przy każdym odwołaniu do pamięci, pułapka OS OS błąd strony (page fault) OS przeszuka wewnętrzną tabelę: Odwołanie niedozwolone (Invalid reference) koniec procesu (abort). Brak strony w pamięci. Weź pustą ramkę. Zamień stronę w ramce. Aktualizuj tabele, bit poprawności =. Wznów wykonywanie: alg. strona najdawniej używana - Least Recently Used Przesuń blok Automatyczna inkrementacja/dekrementacja lokacji 0.7 0.8 Obsługa błędu strony A jeśli brak wolnych ramek? Zastępowanie stron (page replacement) znaleźć jakąś stronę wpamięci (nie będącą wużyciu - ofiarę) i zapisać ją na dysku. algorytm Ocena jakości potrzebny algorytm powodujący jak najmniej błędów strony. Niektóre strony mogą być sprowadzane do pamięci wielokrotnie. 0.9 0.0 Efektywność stronicowania na żądanie Częstość błędów braku strony: 0 p.0 if p = 0 brak błędów braku strony if p =,każde odwołanie powoduje błąd Efektywny czas dostępu (Effective Access Time (EAT)) EAT = ( p) x czas dostępu do pamięci + p (czas obsługi błędu strony + [czas wysłania strony ] + czas pobrania strony + czas restartu) Pliki odwzorowane w pamięci Memory-Mapped Files Odwzorowanie we/wy w pamięci (memory-mapped file I/O) blok dyskowy odwzorowany w pamięci; pozwala na dostęp do plików na zasadzie dostępu do procedury rezydującej w pamięci. Plik jest wczytywany na zasadzie stronicowania na żądanie. Porcja pliku o rozmiarze strony jest wczytywana do fizycznej strony. Kolejne operacje zapisu/odczytu dotyczą pamięci. Upraszcza dostęp do pliku zastępuje wołanie funkcji systemowych read() write(). Pozwala na dzielenie pamięci przez procesy - korzystanie ze wspólnych plików. 0. 0.

Pliki odwzorowane w pamięci Potrzeba zastąpienia strony 0. 0. Zamiana strony Zamiana strony. Znajdź pożądaną stronę na dysku.. Znajdź wolną ramkę: Jeśli jest wolna ramka użyj jej. Jeśli nie ma wolnej ramki, zastosuj algorytm wyboru ramki ofiary (victim) i zapisz ją na dysku.. Wczytaj pożądaną stronę do ramki uprzednio zajmowanej przez ofiarę.. Aktualizuj tabele stron i ramek. 5. Wznów działanie procesu. 0.5 0.6 Algorytmy zastępowania stron Błąd strony w zależności od liczby ramek Pożądane jest aby błąd strony występował jak najrzadziej. Algorytm jest sprawdzany na ciągu odwołań (reference string); obliczana jest liczba błędów braku strony. W przykładach użyjemy następującego ciągu odwołań:,,,,,, 5,,,,, 5. 0.7 0.8

Algorytm FIFO (First-In-First-Out) Zastępowanie stron wg. FIFO Ciąg odniesień:,,,,,,5,,,,,5 ramki (proces może mieć jednocześnie strony w pamięci) 5 9 błędów strony ramki 5 5 0 błędów strony Alg. FIFO Anomalia Belady ego. Więcej ramek więcej błędów strony (powinno być mniej) 0.9 0.0 Anomalia Belady ego w FIFO Algorytm optymalny Zastąp tę stronę, która najdłużej nie będzie używana. Przykład ramek:,,,,,, 5,,,,, 5 6 błędów strony Skąd towiemy? 5 Jest to algorytm odniesienia. 0. 0. Algorytm optymalny - przykład Algorithm LRU (Least Recently Used) zastąp najdawniejużywaną stronę Ciąg odniesień:,,,,,,5,,,,,5 Implementacja licznika 5 5 Do każdej pozycji w tabeli stron dołączany jest rejestr czasu użycia. 0. 0.

Zastępowanie stron wg. LRU Przybliżone LRU 0.5 0.6 Algorytm drugiej szansy Algorytmy licznikowe Prowadź licznik odwołań do każdej strony. Algorytm LFU: zamienia stronę z najmniejszym licznikiem. Algorytm MFU: zastępowanie strony najczęściej używanej. Ocena: Algorytmy mało popularne, implementacja kosztowna. 0.7 0.8 Algorytmy przydziału Szamotanie (migotanie) Thrashing Gdy proces nie ma dość ramek zwiększa się częstość błędu strony. Skutek: Niskie wykorzystanie CPU. SO zwiększa stopień wieloprogramowości. Do systemu dodawany nowy proces. Szamotanie (thrashing) proces zajęty głównie zamianą stron. 0.9 0.0 5

Szamotanie (thrashing) 0. 6