Zarządzanie pamięcią operacyjną



Podobne dokumenty
Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

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

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

Od programu źródłowego do procesu

Zarządzanie zasobami pamięci

Architektura komputerów

Zarządzanie pamięcią w systemie operacyjnym

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

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

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

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Technologie informacyjne (2) Zdzisław Szyjewski

Schematy zarzadzania pamięcia

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

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

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

dr inż. Jarosław Forenc

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

Stronicowanie w systemie pamięci wirtualnej

Systemy Operacyjne Pamięć wirtualna cz. 2

Współpraca procesora ColdFire z pamięcią

Przed wykonaniem program musi być pobrany z dysku i. Tam działa a jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z

Zarz arz dzanie pam dzanie ięci ę ą

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

Od programu źródłowego do procesu

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

Zarz¹dzanie pamiêci¹

Systemy Operacyjne Zarządzanie pamięcią operacyjną

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Zarz arz dzanie pam dzanie ięci ę ą

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

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

Architektura komputerów

Działanie systemu operacyjnego

WYKŁAD. Zarządzanie pamięcią operacyjną

Systemy operacyjne system przerwań

Celem wykładu jest przedstawienie podejść do zarządzania jednym z kluczowych zasobów systemu komputerowego pamięcią operacyjną. Ponieważ zarządzanie

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

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

Działanie systemu operacyjnego

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

Hierarchia pamięci w systemie komputerowym

Architektura systemu komputerowego

Działanie systemu operacyjnego

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

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

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

Podstawy. Pamięć wirtualna. (demand paging)

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]

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

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

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

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

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

2.1 Wstęp Kryteria planowania Algorytmy planowania Systemy wieloprocesorowe i czasu rzeczywistego...

Wprowadzenie do systemów operacyjnych

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Systemy operacyjne III

Budowa systemów komputerowych

1.1 Definicja procesu

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

dr inż. Jarosław Forenc

Systemy Operacyjne Pamięć wirtualna cz. 1

Struktura systemów komputerowych

Zarządzanie procesami i wątkami

Mikroprocesor Operacje wejścia / wyjścia

Działanie systemu operacyjnego

przypisanie różnym strukturom programowym tych samych obszarów pamięci fizycznej

Mikroprocesory rodziny INTEL 80x86

Architektura systemów informatycznych

1. Rola pamięci operacyjnej

4. Procesy pojęcia podstawowe

Zarządzanie pamięcią operacyjną

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

Sprzętowe wspomaganie pamięci wirtualnej

Wykład 10 Zarządzanie pamięcią

4. Procesy pojęcia podstawowe

Algorytmy dla maszyny PRAM

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

Mikroinformatyka. Tryb wirtualny

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

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

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

Systemy operacyjne, architektura komputerów

Organizacja typowego mikroprocesora

Architektura komputerów

System pamięci. Pamięć wirtualna

System plików przykłady. implementacji

Pamięć wirtualna. Pamięć wirtualna

Systemy Operacyjne i Sieci Komputerowe

ARCHITEKTURA PROCESORA,

Podstawowe zagadnienia informatyki

przypisanie różnym strukturom programowym tych samych obszarów pamięci fizycznej

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

System plików. Warstwowy model systemu plików

Pamięć wirtualna w AS/400

Transkrypt:

SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW

Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt Pamięć operacyjna Dyski magnetyczne, SSD Dyski optyczne (CD-ROM, CD-RW, DVD-ROM, DVD-RAM...) Taśmy magnetyczne

Podstawowe cele Przydział pamięci operacyjnej procesom Odwzorowanie logicznej przestrzeni adresowej procesu na fizyczną przestrzeń adresową pamięci Ochrona zawartości pamięci Współdzielenie obszarów pamięci przez różne procesy

Realizacja wieloprogramowości Podział pamięci między procesy podział statyczny stały rozmiar obszarów pamięci podział dynamiczny zmienny rozmiar obszarów Wymiana procesów tymczasowe przesyłanie procesów pomiędzy pamięcią operacyjną a pamięcią pomocniczą umożliwia zwiększenie stopnia wieloprogramowości umożliwia wieloprogramowość w systemach bez podziału pamięci

Fragmentacja pamięci Pozostawanie niewykorzystanych fragmentów pamięci Fragmentacja zewnętrzna pomiędzy przydzielanymi obszarami Fragmentacja wewnętrzna wewnątrz przydzielonych obszarów

Przestrzenie adresowe Logiczna przestrzeń adresowa Adres logiczny - adres wytworzony przez procesor w wyniku wykonania rozkazu programu Zbiór wszystkich adresów logicznych generowanych przez program Fizyczna przestrzeń adresowa Adres fizyczny - wskazuje konkretną komórkę pamięci operacyjnej Zbiór wszystkich adresów fizycznych

Wiązanie adresów Odwzorowanie adresów logicznych generowanych w programie na adresy fizyczne w pamięci operacyjnej Może nastąpić: w czasie kompilacji, czyli tworzenia programu w czasie ładowania programu do pamięci w czasie wykonywania programu wymaga wspomagania sprzętowego

Jednostka zarządzania pamięcią MMU (Memory Managament Unit) Realizuje wspomaganie sprzętowe w zakresie: Przekształcanie adresów logicznych na fizyczne Sprawdzanie poprawności adresów MMU rejestr bazowy adres procesor logiczny + adres logiczny pamięć

Nakładki Zwiększenie logicznej przestrzeni adresowej procesu kod programu podzielony na moduły w pamięci operacyjnej umieszczane są tylko te moduły, które są aktualnie potrzebne zastępowanie modułów w pamięci implementacja na poziomie programu, bez udziału systemu operacyjnego Pamięć wirtualna implementacja na poziomie systemu operacyjnego duża ciągła przestrzeń adresowa procesu (wirtualna) proces częściowo w pamięci operacyjnej a częściowo w pamięci pomocniczej

Strategie zarządzania pamięcią Podstawowe przydział ciągły stronicowanie segmentacja Z pamięcią wirtualną stronicowanie na żądanie segmentacja na żądanie

Przydział ciągły Obszar systemu operacyjnego zwykle w pamięci dolnej wektor przerwań Przestrzeń procesów użytkowników ciągły obszar pamięci dla każdego procesu Podział pamięci (partycjonowanie) statyczny dynamiczny

Podział statyczny Obszary o stałym rozmiarze (lub kilku rozmiarach) Ograniczona liczba procesów Duża fragmentacja wewnętrzna System IBM OS/360 MFT

Podział dynamiczny Obszary o różnych rozmiarach tworzone dynamicznie i przydzielane procesom Dziury - obszary wolne, pomiędzy obszarami przydzielonymi procesom System przechowuje informacje o obszarach przydzielonych i obszarach wolnych (dziurach) System IBM OS/360 MVT

Model dynamicznego podziału pamięci Pamięć fizyczna baza 3000 adres 2200 3000 system operacyjny proces 4 granica 1800 rozmiar 4800 5800 6700 proces 1 proces 2 proces 3 dziury 7900

Wspomaganie sprzętowe pułapka procesor adres logiczny N T < + adres fizyczny pamięć rejestr graniczny rejestr bazowy rejestr graniczny rozmiar obszaru rejestr bazowy adres początkowy obszaru ładowane dla wykonywanego procesu

Strategie wyboru wolnego obszaru Algorytm pierwszego dopasowania przydziela pierwszą dziurę o wystarczającej wielkości Algorytm najlepszego dopasowania przydziela najmniejszą dziurę o wystarczającej wielkości zapewnia najmniejsze pozostałości po przydziale Algorytm najgorszego dopasowania przydziela największą dostępną dziurę najmniej efektywna pod względem czasu i zużycia pamięci

Strategie wyboru wolnego obszaru Algorytm bliźniaków rozmiar obszaru pamięci wynosi 2 i system przechowuje odrębne listy obszarów wolnych w każdym rozmiarze: 2 1, 2 2,...2 k podział obszaru 2 i = 2 i-1 +2 i-1 łączenie sąsiednich dziur w obszarów 2 i +2 i = 2 i+1

Fragmentacja Zewnętrzna dominująca Wewnętrzna przydzielony obszar może być większy w wyniku przyłączenia bardzo małej dziury (bezużytecznej) zbyt duży nakład na przechowywanie informacji o bardzo małej dziurze Upakowanie pamięci przemieszczanie dynamiczne procesów w pamięci upakowanie przez wymianę procesów

Stronicowanie pamięci Podział pamięci na obszary o stałym rozmiarze pamięć fizyczna podzielona na ramki rozmiar 2 n, między 512 B a 8192 B pamięć logiczna podzielona na strony rozmiar ramki pamięć pomocnicza podzielona na stałe obszary rozmiar ramki Przed wykonaniem procesu wszystkie jego strony muszą być umieszczone w dowolnych ramkach nieciągły obszar pamięci fizycznej procesu ciągły obszar pamięci logicznej procesu

Model stronicowania pamięci Pamięć logiczna Tablica stron Pamięć fizyczna Strona 0 0 1 0 Strona 1 1 4 1 Strona 0 Strona 2 2 3 2 Strona 3 3 6 3 Strona 2 4 Strona 1 5 6 Strona 3 7 8

Tablica stron procesu Tablica stron przechowuje adresy przydzielonych ramek, w których przechowywane są strony procesu każdy proces przechowuje swoją tablicę w pamięci Sprzętowa tablica stron systemu ładowana podczas przełączania kontekstu procesu

Adres logiczny Wiązanie adresów numer strony s indeks w tablicy stron odległość na stronie o Adres fizyczny numer ramki r odległość o MMU sprzęt stronicujący

Sprzęt stronicujący adres logiczny adres fizyczny procesor s o r o tablica stron pamięć

Sprzętowa implementacja tablicy stron Zbiór rejestrów specjalnego przeznaczenia przechowują całą tablicę stron procesu rejestry ładowane podczas przełączania kontekstu procesu tylko względnie małe tablice stron duży koszt Tablica stron w pamięci rejestr bazowy tablicy stron PTBR wskazuje położenie tablicy w pamięci operacyjnej rejestr graniczny tablicy stron PTLR przechowuje rozmiar tablicy konieczne dwie operacje dostępu do pamięci: adres z tablicy stron instrukcje lub dane programu

Sprzętowa implementacja tablicy stron Rejestry asocjacyjne (bufory translacji bliskiego otoczenia TLB) przechowują tylko wybrane pozycje tablicy stron każdy rejestr składa się z dwóch części: klucz -numer strony wartość -numer ramki bieżący adres logiczny porównywany jednocześnie ze wszystkimi kluczami szybkie odnajdowanie adresu fizycznego brakujące adresy odnajdowane są w tablicy stron w pamięci i wpisywane do rejestrów

Sprzęt stronicujący z rejestrami asocjacyjnymi adres logiczny adres fizyczny procesor s o TLB r o pamięć s r tablica stron

Dzielenie i ochrona pamięci Dzielenie pamięci tablice stron kilku procesów zawierają adresy tych samych ramek (współdzielonych) Ochrona pamięci bity ochrony przypisane każdej ramce zapisane w tablicy stron procesu strona wyłącznie do czytania lub do czytania i pisania, itp. bit poprawności strona znajduje się w logicznej przestrzeni adresowej procesu

Struktura tablicy stron Duża przestrzeń adresowa (2 32-2 64 ) wymaga zbyt dużej tablicy stron przestrzeń adresowa: rozmiar strony: rozmiar tablicy stron: Tablice wielopoziomowe 2 32 (4 GB) 2 12 (4 KB) 2 20 pozycji tablica 2-poziomowa przy adresowaniu 32-bitowym tablica 3-poziomowa przy adresowaniu 64-bitowym Tablica haszowania przy adresowaniu większym niż 32-bitowe Odwrotna tablica stron

Tablice wielopoziomowe tablica 1-go poziomu katalog stron tablica 2-go poziomu katalog pośredni tablica 3-go poziomu tablica stron

Tablica haszowania adres logiczny adres fizyczny procesor s o r o tablica haszowania pamięć funkcja haszująca s r s r

Odwrotna tablica stron adres logiczny adres fizyczny procesor pid s o r o pamięć tablica stron r pid s Każda pozycja opisuje jedną ramkę pamięci fizycznej PID procesu i adres logiczny strony Adres logiczny jest poszukiwany w tablicy indeks odnalezionej pozycji określa numer ramki

Segmentacja pamięci Podział pamięci na obszary o różnym rozmiarze pamięć logiczna podzielona na segmenty o zmiennym rozmiarze i określonej nazwie lub numerze pamięć fizyczna dzielona dynamicznie na obszary odpowiadające segmentom logicznym procesów Przed wykonaniem wszystkie segmenty procesu muszą być sprowadzone i rozmieszczone w pamięci operacyjnej nieciągły obszar pamięci

Tablica segmentów Tablica segmentów przechowuje adresy i rozmiary wszystkich segmentów procesu baza - adres bazowy segmentu w pamięci fizycznej granica - rozmiar segmentu Rejestry rejestr bazowy tablicy segmentów STBR rejestr graniczny tablicy segmentów STLR

Model segmentacji pamięci Pamięć logiczna Tablica segmentów Pamięć fizyczna stos main tablica symboli 0 1 2 3 800 800 1000 1200 2200 5000 4000 6700 2200 3000 4000 5000 5800 segment 0 segment 2 segment 1 funkcja 6700 segment 3 7900

Sprzęt do segmentacji pułapka procesor adres logiczny s o N T < + adres fizyczny pamięć granica baza tablica segmentów

Cechy segmentacji Fragmentacja zewnętrzna stopień zależny od rozmiarów segmentów Ochrona powiązana z segmentami Dzielenie pamięci na poziomie segmentów

Segmentacja stronicowana Połączenie stronicowania z segmentacją Pamięć logiczna podzielona na segmenty Pamięć fizyczna podzielona na ramki Stronicowanie segmentów Tablica segmentów przechowuje adresy bazowe tablic stron poszczególnych segmentów