Stronicowanie w systemie pamięci wirtualnej

Podobne dokumenty
Podstawy. Pamięć wirtualna. (demand paging)

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

dr inż. Jarosław Forenc

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

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

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

Systemy Operacyjne Pamięć wirtualna cz. 1

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

Systemy operacyjne III

dr inŝ. Jarosław Forenc

Architektura komputerów

dr inż. Jarosław Forenc

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

Zarządzanie pamięcią operacyjną

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

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Architektura komputerów

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

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

Organizacja typowego mikroprocesora

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

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

Pamięć wirtualna. Pamięć wirtualna

Zarządzanie zasobami pamięci

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

Technologie informacyjne (2) Zdzisław Szyjewski

Stronicowanie na ¹danie

Zarządzanie pamięcią w systemie operacyjnym

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Architektura komputerów

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Zarz arz dzanie pam dzanie ięci ę ą

ARCHITEKTURA PROCESORA,

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

Logiczny model komputera i działanie procesora. Część 1.

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ą operacyjną zagadnienia podstawowe

Od programu źródłowego do procesu

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

System pamięci. Pamięć wirtualna

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

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

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Urządzenia wejścia-wyjścia

Zarządzanie pamięcią operacyjną

Zarz arz dzanie pam dzanie ięci ę ą

Schematy zarzadzania pamięcia

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

System pamięci. Pamięć wirtualna

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

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

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

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

Pytania do treści wykładów:

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]

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

System pamięci. Pamięć wirtualna

Systemy Operacyjne Pamięć wirtualna cz. 2

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

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

Ograniczenia efektywności systemu pamięci

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Architektura komputerów

Architektura komputerów

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

TEMAT 5 Zarządzanie pamięcią operacyjną

Budowa systemów komputerowych

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

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Hierarchia pamięci w systemie komputerowym

Ograniczenia efektywności systemu pamięci

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Budowa komputera Komputer computer computare

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

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

Budowa Mikrokomputera

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Budowa i zasada działania komputera. dr Artur Bartoszewski

Działanie systemu operacyjnego

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

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

Oprogramowanie systemowe Dariusz Wawrzyniak

Działanie systemu operacyjnego

Architektura systemu komputerowego

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

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

Algorytmy dla maszyny PRAM

Rozszerzalne kody operacji (przykład)

Architektura systemów komputerowych

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

LEKCJA TEMAT: Zasada działania komputera.

Zarządzanie procesorem

Projektowanie. Projektowanie mikroprocesorów

Działanie systemu operacyjnego

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Systemy operacyjne. Program przedmiotu

Systemy operacyjne. Program przedmiotu. Forma zaliczenia przedmiotu. Dariusz Wawrzyniak 1

Mikroprocesor Operacje wejścia / wyjścia

Mikroinformatyka. Wielozadaniowość

Transkrypt:

Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni adresowej (wirtualnej) i tym samym zwiększony stopień wieloprogramowości. Wady: złożoność zarządzania i narzut czasowy związany z dostępem. Systemy operacyjne Pamięć wirtualna

Mechanizm stronicowania na żądanie Działanie mechanizmu strony są sprowadzane do pamięci tylko wówczas, gdy jest to konieczne, czyli gdy następuje odniesienie do komórki o adresie, znajdującym się na tej stronie (leniwa wymiana, ang. lazy swapping). Wymaganie sprzętowe tablica stron z bitem poprawności (ang. valid-invalid bit) dla każdej pozycji (dodatkowo z bitem modyfikacji i odniesienia), mechanizm reakcji na odniesienie do strony niepoprawnej, urządzenie wymiany (ang. swap device) pamięć pomocnicza. Systemy operacyjne Pamięć wirtualna Obsługa błędu strony tablica stron system operacyjny pułapka s numer strony r numer ramki o przesunięcie s np błąd strony urządzenie wymiany procesor s o adres logiczny pamięć Systemy operacyjne Pamięć wirtualna

Powtórne wykonania rozkazu s tablica stron r p r adres fizyczny o s numer strony r numer ramki o przesunięcie s o adres logiczny procesor pamięć Systemy operacyjne Pamięć wirtualna Zastępowanie stron (ang. page replacement) Problem zastępowania (wymiany) stron pojawia się w, gdy w pamięci fizycznej brakuje wolnych ramek i konieczne jest zwolnienie jakieś ramki poprzez usunięcie z niej strony. urządzenie wymiany Jeśli strona była modyfikowana w pamięci, konieczne pamięć jest zapisanie jej na dysku konieczność wprowadzenia bitu modyfikacji (ang. modify bit), zwanego też bitem zabrudzenia (ang. dirty bit). Systemy operacyjne Pamięć wirtualna 6

Problemy zastępowania stron Problem wyboru ofiary niewłaściwy wybór ramkiofiary może prowadzić do zjawiska migotania, w którym często dochodzi do wystąpienia odniesienia do właśnie usuniętej strony, co w konsekwencji wymaga ponownego sprowadzenie jej do pamięci. Dalszą konsekwencją takiego zjawiska może być drastyczny spadek efektywności działania systemu komputerowego. Problem wznawiania rozkazów w przypadku wielokrotnego odniesienia do pamięci w jednym cyklu rozkazowym należy zapewnić, że wszystkie adresowane strony są jednocześnie dostępne w ramkach w pamięci fizycznej. Systemy operacyjne Pamięć wirtualna 7 Problem wyboru ofiary Zakładając, że przyszły ciąg odniesień do pamięci nie jest znany, na podstawie historii odniesień należy wybrać taką ramkę, do której prawdopodobieństwo odniesienia w przyszłości jest małe. Podstawowa własność programów, na podstawie której można szacować takie prawdopodobieństwo nazywana jest lokalnością. Systemy operacyjne Pamięć wirtualna 8

Własność lokalności Lokalność jest określona jako tendencja procesów do generowania w stosunkowo długich przedziałach czasu odniesień do niewielkiego podzbioru stron wirtualnych zwanego zbiorem stron aktywnych. Rodzaje własność lokalności: lokalność czasowa tendencja procesu do generowania z dużym prawdopodobieństwem w przedziale czasu (t, t + τ) odniesień do stron adresowanych w przedziale czasu (t τ, t); lokalność przestrzenna tendencja procesu do generowania z dużym prawdopodobieństwem odniesień do stron o zbliżonych numerach (stron sąsiednich). Systemy operacyjne Pamięć wirtualna 9 Problem efektywności systemu z pamięcią wirtualną Efektywność działania systemu pamięci wirtualnej zależy od precyzji identyfikacji zbioru stron aktywnych i możliwości utrzymania ich w pamięci fizycznej. Wobec braku a priori pełnego ciągu odniesień do stron wirtualnych identyfikacja takiego zbioru może wynikać z różnych przesłanek, czego skutkiem jest duża różnorodność algorytmów wymiany. Systemy operacyjne Pamięć wirtualna 0

Przykłady algorytmów wymiany stron Algorytm FIFO (ang. First In First Out) zastępowana jest strona najstarsza (najwcześniej wprowadzona do pamięci) Algorytm OPT (MIN) zastępowana jest strona, która najdłużej nie będzie używana Algorytm LRU (ang. Least Recently Used) zastępowana jest najdawniej używana strona (najdłużej nie używana) LFU (ang. Least Frequently Used) zastępowana jest najrzadziej używana strona MFU (ang. Most Frequently Used) zastępowana jest najczęściej używana strona Systemy operacyjne Pamięć wirtualna Przykład działania algorytmu wymiany stron W systemie pamięci wirtualnej są ramki. Wszystkie ramki są początkowo puste W systemie pojawiają się następujące odniesień (odwołań) do stron:,,,,,,,,,,,,, Systemy operacyjne Pamięć wirtualna

Przykład działania algorytmu wymiany stron () Dalszy ciąg odniesień:,,,, FIFO OPT LRU LFU MFU Systemy operacyjne Pamięć wirtualna Problem wznawiania rozkazów cykl rozkazowy Cykl rozkazowy cykl działań procesora i jego interakcji z pamięcią operacyjną związanych z realizacją rozkazu. Cykl rozkazowy składa się z faz, zwanych cyklami maszynowymi. Typowe fazy cyklu rozkazowego: pobranie kodu rozkazu odczyt pamięci pobranie operandu odczyt pamięci składowanie wyniku zapis pamięci Systemy operacyjne Pamięć wirtualna

Cykl rozkazowy graf stanów procesora () pamięć pobranie kodu rozkazu pobranie operandu CPU wystaw. adresu kodu rozkazu dekodowanie rozkazu wystaw. adresu operandu faza pobrania rozkazu następny rozkaz faza pobrania argumentów łańcuch Systemy operacyjne Pamięć wirtualna Cykl rozkazowy graf stanów procesora () zapis operandu faza przerwania wykonanie operacji wystaw. adresu operandu sprawdz. wystąpienia przerwań przerwanie faza składowania wyniku brak przerwań Systemy operacyjne Pamięć wirtualna 6

Segmentacja w systemie pamięci wirtualnej Segmentacja z wymianą segmentów pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostą segmentacją: zwiększony stopień wieloprogramowości. Wady: złożoność zarządzania i narzut czasowy związany z dostępem. Systemy operacyjne Pamięć wirtualna 7 Mechanizm segmentacji na żądanie problemy realizacji Skomplikowana wymiana segmenty mają różne rozmiary. Sprowadzenie segmentu do pamięci może wymagać upakowania i/lub przesunięcia w obszar wymiany jednego lub kilku segmentów znajdujących się w pamięci fizycznej, co jest procedurą czasochłonną. Ze względu na zróżnicowany rozmiar czas transmisji danych jest trudniej przewidywalny (większy rozrzut w sensie statystycznym). Systemy operacyjne Pamięć wirtualna 8