12 wspomaganie systemu operacyjnego pamiec wirtualna

background image

Architektura komputerów

Tydzień 12

Wspomaganie systemu operacyjnego:

pamięć wirtualna

background image

Partycjonowanie

Pamięć jest dzielona, aby mogło
korzystać z niej wiele procesów.

Dla jednego procesu przydzielana jest
jedna partycja.

Partycje mogą mieć stały, z góry
ustalony rozmiar lub dynamiczny,
przydzielany w miarę potrzeb.

background image

Partycjonowanie

System

operacyjny

Proces 1

Proces 2

Proces 3

System

operacyjny

Proces 1

Proces 3

System

operacyjny

Proces 1

Proces 4

Proces 3

System

operacyjny

Proces 3

System

operacyjny

Proces 5

Proces 3

Proces 4

Proces 4

W

yj

śc

ie

pr

o

ce

su

2

W

ej

śc

ie p

ro

ce

su

4

W

yj

śc

ie

pr

o

ce

su

1

W

ej

śc

ie

p

ro

ces

u

5

background image

13

14

15

16

17

18

19

20

21

Stronicowanie

Używana

Używana

Używana

Lista wolnych
ramek:
13
14
15
18
20

Proces A

Strona 0
Strona 1
Strona 2
Strona 3

13

14

15

16

17

18

19

20

21

Strona 0

procesu A

Używana

Używana

Używana

Lista wolnych
ramek:
20

Strona 1

procesu A

Strona 2

procesu A

Strona 3

procesu A

Proces A

Strona 0
Strona 1
Strona 2
Strona 3

Tablica stron
procesu A:

13
14
15
18

Po przydziale

Przed przydziałem ramek

background image

Stronicowanie

14

30

14

13

15
18

2

30

Strona 1

procesu A

Strona 2

procesu A

Strona 3

procesu A

Strona 4

procesu A

13

14

15

16

17

18

Adres

logiczny

Adres

fizyczny

Tablica

stron

procesu A

background image

Pamięć wirtualna

Wykorzystujemy pamięć zewnętrzną
(dysk) do przechowywania
nieużywanych stron pamięci.

Możemy użyć większej ilości logiczej
pamięci niż dysponujemy fizycznej.

W pamięci fizycznej przechowujemy
aktualnie potrzebne strony.

Jeśli potrzebnej strony nie ma w
pamięci, ładujemy ją z dysku, zapisując
zastępowaną stronę na dysk.

background image

Tablica stron

Tablica stron przechowuje informacje o
miejscu zapisu każdej strony wirtualnej
na dysku i w pamięci.

Ponieważ każdy dostęp do pamięci
wymaga co najmniej dwóch dostępów
(pobranie adresu z tablicy stron i
właściwy dostęp), stosuje się bufor dla
wpisu w tablicy stron w postaci rejestru
procesora (TLB – translation lookaside
buffer).

background image

Czy zapis

tablicy stron

znajduje się

w TLB?

CPU sprawdza TLB

Programowe żądanie dostępu do strony

Dostęp do tablicy

stron

Czy strona

znajduje się

w pamięci

?

Aktualizacja TLB

CPU generuje adres fizyczny

System operacyjny otrzymuje

rozkaz odczytania strony

z dysku

Czy

pamięć jest

zapełniona

?

Wymiana

strony

Przeniesienie strony

z dysku do pamięci

Aktualizacja tablicy

stron

Program obsługi
błędu strony

Powrót do rozkazu
przy którym wystąpił
błąd strony

Tak

Tak

Tak

Nie

Nie

Nie

background image

Segmentacja

Pamięć wirtualną dzielimy na segmenty.

Segmenty mogą mieć zmienny rozmiar.

Każdy segment może mieć przypisane
prawa dostępu.

Zalety:

uproszczone operowanie dużymi strukturami

danych

możliwość dzielenia danych między procesami

przez odpowiednie ustawienie uprawnień

możliwa ochrona danych lub kodu

background image

Przestrzenie adresowe

Pentium

Niesegmentowana pamięć
niestronicowana.

Adresy wirtualne są równe fizycznym.

Niesegmentowana pamięć stronicowana.

Liniowa przestrzeń adresowa.

Segmentowana pamięć niestronicowana.

Cały segment jest w pamięci lub na dysku.

Segmentowana pamięć stronicowana.

Segmentowanie definiuje kontrolę dostępu.

Stronicowanie zarządza przydzielaniem

pamięci.

background image

Segmentacja

Gdy stosowana jest segmentacja każdy adres wirtualny

składa się z 16 bitowego odniesienia segmentu i 32

bitowego adresu względnego. 2 bity z odniesienia do

segmentu służą mechanizmowi ochrony.

Z każdym segmentem związane są dwie formy ochrony:

poziom uprzywilejowania i atrybut dostępu.

Występują cztery poziomy uprzywilejowania od 0 –

najbardziej chronionego, do 3 – najmniej chronionego.

Program ma dostęp tylko do segmentów o poziomie

uprzywilejowania równym lub wyższym poziomowi

programu.

Niektóre rozkazy maszynowe mogą być wykonywane

tylko przez najbardziej uprzywilejowane programy.

Atrybut dostępu określa, czy dane mogą być dostępne

do zapisu, czy tylko do odczytu. W przypadku programów

atrybut informuje, czy dozwolone jest wykonywanie.

background image

Stronicowanie

Dwa poziomy:

katalog stron z maksymalnie 1024 wpisami

do 1024 tablic stron z 1024 odnośnikami do

stron każda.

Każda strona ma 4KB, co pozwala
zaadresować 4GB.

Procesor zawiera bufor translacji
adresów tablic stron z 32 wpisami.

background image

Translacja adresu Pentium

Segment Wyrównanie

Tablica

segmentów

+

Katalog

Wyrównanie

Strona

+

Katalog

stron

Tablica

stron

Pamięć

główna

Adres

fizyczny

Adres logiczny

Adres liniowy


Wyszukiwarka

Podobne podstrony:
12 - Sieciowe Systemy Operacyjne II, ARS
8 Systemy Operacyjne 21 12 2010 Zarządzanie Pamięcią Operacyjną
Konfiguracja pamięci wirtualnej w Win 2003 serwer, Szkoła, Systemy Operacyjnie i sieci komputerowe,
Pamięć Wirtualna, Systemy operacyjne
Pamięci dynamiczne RAM, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
dobrucki,systemy operacyjne, Rodzaje pamięci
Organizacja pamięci komputerów, szkola, systemy operacyjne, klasa 1
Przenoszenie plików systemowych do pamięci operacyjnej
Systemy Komputerow- pamięć podręczna, TZN, Systemy Operacyjne i Sieci
9 Systemy Operacyjne 04 01 2011 Zarządzanie Pamięcią Operacyjną2
7 Systemy Operacyjne 07 12 2010 Kontekst i jego połączenie
Pamięć wirtualna, Notatki z systemów
Pamięci półprzewodnikowe, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
dobrucki,systemy operacyjne, Rodzaje pamięci
2006 08 Zarządzanie pamięcią w systemach operacyjnych [Inzynieria Oprogramowania]

więcej podobnych podstron