dr inż. Jarosław Forenc

Podobne dokumenty
dr inŝ. Jarosław Forenc

dr inż. Jarosław Forenc

Systemy operacyjne III

Architektura komputerów

Stronicowanie w systemie pamięci wirtualnej

Informatyka 2. Wykład nr 10 ( ) Plan wykładu nr 10. Politechnika Białostocka. - Wydział Elektryczny. ext2. ext2. dr inŝ.

Zarządzanie pamięcią operacyjną

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

Systemy Operacyjne Pamięć wirtualna cz. 1

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

Podstawy. Pamięć wirtualna. (demand paging)

dr inż. Jarosław Forenc

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

Schematy zarzadzania pamięcia

Zarządzanie dyskowymi operacjami we-wy. Zarządzanie pamięcią operacyjną. dr inż. Jarosław Forenc. systemy plików (NTFS, ext2)

Zarządzanie pamięcią operacyjną

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

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

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

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

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

dr inż. Jarosław Forenc

Zarządzanie pamięcią w systemie operacyjnym

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Zarządzanie pamięcią operacyjną: Sieci komputerowe. dr inż. Jarosław Forenc

Architektura komputeró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]

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

Architektura komputerów

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

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

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

System pamięci. Pamięć wirtualna

Zarządzanie zasobami pamięci

Od programu źródłowego do procesu

Sprzętowe wspomaganie pamięci wirtualnej

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

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

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

System pamięci. Pamięć wirtualna

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

Mikroprocesor Operacje wejścia / wyjścia

dr inŝ. Jarosław Forenc

Organizacja typowego mikroprocesora

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

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

Zarz arz dzanie pam dzanie ięci ę ą

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

System pamięci. Pamięć wirtualna

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

ARCHITEKTURA PROCESORA,

Prezentacja systemu RTLinux

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

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

Systemy Operacyjne Pamięć wirtualna cz. 2

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

Mikroprocesory rodziny INTEL 80x86

sprowadza się od razu kilka stron!

Technologie informacyjne (2) Zdzisław Szyjewski

LEKCJA TEMAT: Zasada działania komputera.

Stronicowanie na ¹danie

Zarz arz dzanie pam dzanie ięci ę ą

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

Pytania do treści wykładów:

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

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

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

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

Pamięć wirtualna. Pamięć wirtualna

Od programu źródłowego do procesu

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

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

Mikrooperacje. Mikrooperacje arytmetyczne

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

Magistrala systemowa (System Bus)

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

Mikroinformatyka. Wielozadaniowość

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Struktura i działanie jednostki centralnej

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

Zarządzanie dyskowymi operacjami we-wy. Zarządzanie pamięcią operacyjną. dr inż. Jarosław Forenc

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

1. Rola pamięci operacyjnej

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Budowa systemów komputerowych

Architektura komputerów

Zaliczenie przedmiotu:

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Działanie systemu operacyjnego

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Hierarchia pamięci w systemie komputerowym

Architektura komputerów

Systemy Operacyjne 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).

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

KOMPUTEROWE SYSTEMY POMIAROWE

Transkrypt:

Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc

Rok akademicki 2010/2011, Wykład nr 7 2/27 Plan wykładu nr 7 Zarządzanie pamięcią operacyjną: prosta segmentacja pamięć wirtualna stronicowanie pamięci wirtualnej segmentacja pamięci wirtualnej stronicowanie i segmentacja pamięci wirtualnej Pamięć wirtualna a zadania systemu operacyjnego: strategia pobierania strategia rozmieszczenia strategia wymiany algorytm optymalny algorytm LRU algorytm FIFO algorytm zegarowy

Rok akademicki 2010/2011, Wykład nr 7 3/27 Prosta segmentacja polega na podzieleniu programu i skojarzonych z nim danych na odpowiednią liczbę segmentów o różnej długości ładowanie procesu do pamięci polega na wczytaniu wszystkich jego segmentów do partycji dynamicznych (nie muszą być ciągłe) segmentacja jest widoczna dla programisty i ma na celu wygodniejszą organizację programów i danych adres logiczny wykorzystujący segmentację składa się z dwóch części: numeru segmentu przesunięcia dla każdego procesu określana jest tablica segmentu procesu zawierająca: długość danego segmentu adres początkowy danego segmentu w pamięci operacyjnej

Rok akademicki 2010/2011, Wykład nr 7 4/27 Prosta segmentacja Przykład: 16-bitowy adres logiczny 4 bity: nr segmentu (0-15), max. 2 4 = 16 segmentów 12 bitów: przesunięcie w ramach segmentu (0-4095), rozmiar segmentu wynosi: 2 12 = 4096 bajtów = 4 kb

Rok akademicki 2010/2011, Wykład nr 7 5/27 Prosta segmentacja do zmiany adresu logicznego na fizyczne potrzebne są następujące kroki: z adresu logicznego pobieramy numer segmentu wykorzystując numer segmentu jako indeks tablicy segmentu procesu odczytujemy początkowy fizyczny adres segmentu oraz jego długość porównujemy przesunięcie z adresu logicznego z długością segmentu - jeśli przesunięcie jest większe lub równe długości segmentu to adres jest błędny adres fizyczny jest sumą początkowego fizycznego adresu segmentu oraz przesunięcia

Rok akademicki 2010/2011, Wykład nr 7 6/27 Pamięć wirtualna pamięć wirtualna umożliwia przechowywanie stron/segmentów wykonywanego procesu w pamięci dodatkowej (na dysku twardym) Co się dzieje, gdy procesor chce odczytać stronę z pamięci dodatkowej? kiedy procesor napotyka na adres logiczny nie znajdujący się w pamięci operacyjnej to generuje przerwanie sygnalizujące błąd w dostępie do pamięci system operacyjny zmienia stan procesu na zablokowany, wstawia do pamięci operacyjnej fragment procesu zawierający adres logiczny, który był przyczyną błędu, a następnie zmienia stan procesu na uruchomiony Dzięki zastosowaniu pamięci wirtualnej: w pamięci operacyjnej może być przechowywanych więcej procesów proces może być większy od całej pamięci operacyjnej

Rok akademicki 2010/2011, Wykład nr 7 7/27 Pamięć wirtualna w przypadku stronicowania i segmentacji pamięci wirtualnej nie wszystkie strony/segmenty procesu muszą znajdować się w pamięci operacyjnej aby proces mógł być uruchomiony - strony/segmenty mogą być odczytywane w miarę potrzeby odczytanie strony/segmentu i przeniesienie do pamięci operacyjnej może wymagać przeniesienia innej strony/segmentu do pamięci pomocniczej jeśli będzie dotyczyć to fragmentu, który miał być właśnie użyty, to będzie on musiał zostać przeniesiony z powrotem do pamięci operacyjnej zbyt częste powtarzanie takich operacji prowadzi do tzw. migotania - system operacyjny przeznacza większość czasu procesora na realizację operacji wymiany zamiast na wykonywanie rozkazów

Rok akademicki 2010/2011, Wykład nr 7 8/27 Stronicowanie pamięci wirtualnej przy zastosowaniu stronicowania, adres wirtualny (logiczny) ma postać: Numer strony Przesunięcie mechanizm pamięci wirtualnej bazującej na stronicowaniu wymaga również tablicy stron P - bit określający, czy strona znajduje się w pamięci operacyjnej, jeśli tak, to zapis zawiera numer ramki tej strony M - bit określający, czy zawartość strony skojarzonej z tą tablicą została zmodyfikowana od ostatniego załadowania tej strony do pamięci - jeśli nie, to nie trzeba tej strony zapisywać, gdy ma być ona przeniesiona do pamięci pomocniczej

Rok akademicki 2010/2011, Wykład nr 7 9/27 Stronicowanie pamięci wirtualnej odczytanie strony wymaga translacji adresu wirtualnego na fizyczny

Rok akademicki 2010/2011, Wykład nr 7 10/27 Segmentacja pamięci wirtualnej w przypadku segmentacji, adres wirtualny ma postać: Numer segmentu Przesunięcie mechanizm pamięci wirtualnej wykorzystujący segmentację wymaga tablicy segmentu zawierającej więcej pól P - bit określający, czy segment znajduje się w pamięci operacyjnej M - bit określający, czy zawartość segmentu skojarzonego z tablicą została zmodyfikowana od ostatniego załadowania tego segmentu do pamięci

Rok akademicki 2010/2011, Wykład nr 7 11/27 Segmentacja pamięci wirtualnej mechanizm odczytania słowa z pamięci obejmuje translację adresu wirtualnego na fizyczny za pomocą tablicy segmentu

Rok akademicki 2010/2011, Wykład nr 7 12/27 Stronicowanie i segmentacja pamięci wirtualnej przestrzeń adresowa użytkownika jest dzielona na dowolną liczbę segmentów według uznania programisty każdy segment jest dzielony na dowolną liczbę stron o stałym rozmiarze równym długości ramki pamięci operacyjnej z punktu widzenia programisty adres logiczny składa się z numeru segmentu oraz jego przesunięcia Adres wirtualny Numer segmentu Przesunięcie z punktu widzenia systemu, przesunięcie segmentu jest postrzegane jako numer strony oraz przesunięcie strony dla strony wewnątrz określonego segmentu Adres wirtualny Numer segmentu Numer strony Przesunięcie

Rok akademicki 2010/2011, Wykład nr 7 13/27 Stronicowanie i segmentacja pamięci wirtualnej tłumaczenie adresu wirtualnego na adres fizyczny:

Rok akademicki 2010/2011, Wykład nr 7 14/27 Stronicowanie i segmentacja pamięci wirtualnej tłumaczenie adresu wirtualnego na adres fizyczny: z każdym procesem skojarzona jest tablica segmentu oraz kilka tablic stron - po jednej dla każdego segmentu procesu kiedy proces jest uruchomiony, rejestr przechowuje adres początkowy tablicy segmentu dla tego procesu na podstawie numeru segmentu z adresu wirtualnego tworzony jest indeks do tablicy segmentu procesu w celu znalezienia tablicy strony dla tego segmentu następnie numer strony z adresu wirtualnego jest używany do indeksacji tej tablicy strony oraz sprawdzenia odpowiedniego numeru ramki dodając numer ramki i przesunięcie z adresu wirtualnego otrzymujemy adres rzeczywisty (fizyczny)

Rok akademicki 2010/2011, Wykład nr 7 15/27 Pamięć wirtualna a zadania systemu operacyjnego większość obecnie stosowanych systemów operacyjnych wykorzystuje mechanizmy pamięci wirtualnej w powiązaniu ze stronicowaniem i segmentacją najwięcej problemów projektantom systemów operacyjnych sprawia stronicowanie w kontekście pamięci wirtualnej system operacyjny musi wdrożyć kilka zasad (uwaga: nie ma jednego, najlepszego rozwiązania tych problemów): strategia pobierania strategia rozmieszczenia strategia wymiany

Rok akademicki 2010/2011, Wykład nr 7 16/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia pobierania: określa, kiedy strona powinna być wstawiona do pamięci operacyjnej stosowane są dwie metody: 1. Stronicowanie na żądanie (ang. demand paging) strona jest wstawiana do pamięci operacyjnej, gdy pojawia się odniesienie do lokalizacji na tej stronie gdy proces startuje, to będzie bardzo dużo błędów stron, ale po pewnym czasie większość stron zostanie wstawiona do pamięci operacyjnej i liczba błędów będzie bardzo mała 2. Wstępne stronicowanie (ang. prepaging) do pamięci operacyjnej wstawiane są także inne strony niż strona zażądana w błędzie strony (najczęściej dotyczy to kilku kolejnych stron z pamięci pomocniczej)

Rok akademicki 2010/2011, Wykład nr 7 17/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia rozmieszczenia: określa miejsce w pamięci fizycznej, gdzie proces ma przebywać w przypadku samego stronicowania lub stronicowania z segmentacją rozmieszczenie nie ma znaczenia ze względu na jednakowy czas dostępu do każdej komórki pamięci (nie dotyczy to systemów typu NUMA)

Rok akademicki 2010/2011, Wykład nr 7 18/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia wymiany: określa, która strona z zestawu stron powinna być wybrana do wymiany wszystkie strategie zakładają, że strona, która ma zostać wymieniona powinna być stroną, co do której istnieje najmniejsze prawdopodobieństwo wystąpienia odwołania w najbliższej przyszłości w większości strategii usiłuje się odgadnąć kolejne odwołania na podstawie poprzednich strategie powinny być proste, po to aby nie obciążały systemu w literaturze opisywane są cztery podstawowe algorytmy: Optymalny LRU - najdłużej ostatnio nieużywanej strony FIFO - pierwszy na wejściu, pierwszy na wyjściu Zegarowy

Rok akademicki 2010/2011, Wykład nr 7 19/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia optymalna: strategia optymalna (ang. optimal policy) wybiera stronę, do której najdłużej nie wystąpi żadne odwołanie strategii takiej nie da się wdrożyć praktycznie, gdyż wymagałaby ona wiedzy na temat przyszłych zdarzeń - strategia ta służy do porównywania innych algorytmów załóżmy, że podczas wykonywania procesu, dla którego przydzielono trzy ramki w pamięci operacyjnej, występują następujące odwołania do stron: 2 3 2 1 5 2 4 5 3 2 5 2

Rok akademicki 2010/2011, Wykład nr 7 20/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia najdłużej ostatnio nieużywanej strony (LRU): strategia LRU (ang. least recently used) powoduje wymianę tej strony w pamięci, do której najdłużej nie ma żadnego odwołania strategia ta jest równie skuteczna jak strategia optymalna główny problem to praktyczne wdrożenie tej strategii, możliwe rozwiązania: dodawanie do każdej strony informacji na temat ostatniego odwołania (duże obciążenie systemu) przechowywanie stosu odwołań do pamięci (rozwiązanie kosztowne)

Rok akademicki 2010/2011, Wykład nr 7 21/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia pierwszy na wejściu, pierwszy na wyjściu (FIFO): strategia FIFO (ang. first-in-first-out) traktuje ramki stron przypisane do procesu jako bufor cykliczny - strony są usuwane cyklicznie strategia bardzo prosta do wdrożenia - potrzebny jest jedynie wskaźnik, który będzie cyklicznie przechodził przez ramki stron danego procesu w strategii tej z pamięci są usuwane strony, które były tam najdłużej

Rok akademicki 2010/2011, Wykład nr 7 22/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia zegara: nazwa strategia zegara (ang. clock policy), algorytm zegara - wzięła się stąd, że ramki mogą być w niej ułożone w kształt okręgu strategia ta może występować w wielu wariantach w najprostszej postaci z każdą ramką skojarzony jest dodatkowy bit (tzw. bit wykorzystania) kiedy nowa strona wczytywana jest do ramki w pamięci lub występują kolejne odwołania do strony, to bit wykorzystania dla tej ramki jest ustawiany na 1 w algorytmie zegara zestaw ramek traktowany jest jako bufor cykliczny, z którym skojarzony jest wskaźnik

Rok akademicki 2010/2011, Wykład nr 7 23/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia zegara: podczas wymiany strony wskaźnik jest ustawiany na kolejną ramkę w buforze po ramce, która została właśnie zaktualizowana jeśli zachodzi konieczność wymiany strony, system operacyjny przeszukuje bufor w poszukiwaniu ramki, której bit wykorzystania jest równy 0 za każdym razem, gdy wskaźnik natrafia na bit równy 1 to zmienia go na 0 i szuka dalej gdy znajdzie pierwszą ramkę z bitem wykorzystania równym 0, to ramka ta jest wymieniana jeśli wszystkie ramki mają bit równy 1, to wskaźnik zamieni wszystkie bity na 0, po czym zatrzyma się na adresie początkowym, wymieniając stronę w tej ramce

Rok akademicki 2010/2011, Wykład nr 7 24/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia zegara: szukamy miejsca na wstawienie strony 77

Rok akademicki 2010/2011, Wykład nr 7 25/27 Pamięć wirtualna a zadania systemu operacyjnego Strategia zegara: szukamy miejsca na wstawienie strony 77

Rok akademicki 2010/2011, Wykład nr 7 26/27 Pamięć wirtualna a zadania systemu operacyjnego

Rok akademicki 2010/2011, Wykład nr 7 27/27 Koniec wykładu nr 7 Dziękuję za uwagę!