SO S1 W5

background image

1

1

ZARZĄDZANIE ZASOBAMI PAMIĘCI

PAMIĘĆ WIRTUALNA

„

Wiadomości wstępne

„

Stronicowanie na żądanie

„

Algorytmy realizacji

„

Segmentacja na żądanie

„

Podsumowanie

2

PAMIĘĆ WIRTUALNA

Dlaczego?

Klasyczne podejście polegające na umieszczeniu całej

logicznej przestrzeni adresowej w pamięci fizycznej jest

często niepotrzebne:

„

Programy najczęściej posiadają fragmenty do obsługi błędów lub

wyjątków – wykonywane bardzo rzadko.

„

Dla tablic, list czy wykazów często przydziela się więcej pamięci,

niż w rzeczywistości potrzebują

„

Pewne możliwości lub moduły programów mogą być

wykorzystywane w wyjątkowych przypadkach

background image

2

3

PAMIĘĆ WIRTUALNA

Dlaczego?

Zdolność wykonania programu, który tylko częściowo

znajduje się w pamięci ma następujące korzyści:

„

Program nie jest ograniczany wielkością dostępnej

pamięci fizycznej

„

Można w tym samym czasie wykonywać więcej

programów w tym samym czasie

„

Zmniejsza się liczba operacji we-wy koniecznych do

załadowania lub wymiany programu w pamięci

4

PAMIĘĆ WIRTUALNA

Pamięć wirtualna polega na odseparowaniu pamięci logicznej

użytkownika od pamięci fizycznej oraz umożliwia kilku

różnym procesom dzielenie plików i pamięci operacyjnej

Odseparowanie pamięci logicznej o fizycznej umożliwia programistom

posługiwanie się olbrzymią pamięcią wirtualną nawet wtedy, gdy w

pamięci fizycznej jest mało miejsca. Pamięć wirtualna znacznie ułatwia

proces programowania, gdyż programista nie musi kontrolować

zasobów pamięci fizycznej

background image

3

5

PAMIĘĆ WIRTUALNA

Zalety stosowania

„

Umożliwia wykonywanie procesów, pomimo że nie są

one w całości przechowywane w pamięci

„

Programy mogą być większe niż pamięć fizyczna

„

Logiczna przestrzeń adresowa może być dużo większa

niż fizyczna przestrzeń adresowa

„

Tworzy iluzję dużej, jednorodnej i szybkiej pamięci

„

Umożliwia procesom łatwe dzielenie przestrzeni

adresowych

„

Udostępnia wydajny mechanizm tworzenia procesów

„

Podniesienie stopnia wieloprogramowości

6

PAMIĘĆ WIRTUALNA

Wady stosowania

„

Trudności w realizacji pamięci wirtualnej

„

Konieczność opracowania złożonych algorytmów

„

Konieczność realizacji na poziomie sprzętowym

„

Może wystąpić znaczne obniżenie wydajności programów

„

Występowanie niekorzystnych zjawisk (np. szamotanie)

background image

4

7

PAMIĘĆ WIRTUALNA

Realizacja

Techniki realizacji pamięci wirtualnej:

„

Stronicowanie na żądanie

„

Segmentacja na żądanie

8

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.

background image

5

9

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.

10

MECHANIZM STRONICOWANIA

NA ŻĄDANIE

„

Z każdą pozycją w tablicy stron jest związany tzw.

bit poprawności odwołania

(1 – strona w pamięci, 0 – strona poza pamięcią)

„

Odwołanie do strony z bitem poprawności równym 0 powoduje

błąd braku strony (ang. page fault)

„

W tym wypadku system operacyjny:

„

Znajduje wolną ramkę

„

Sprowadza stronę z dysku do pamięci

„

Uaktualnia bit poprawności odwołania (na 1)

„

Restartuje instrukcję, która spowodowała błąd

„

Gdy nie ma wolnej ramki w pamięci fizycznej SO dokonuje

wymiany stron (ang. page replacement)

SO znajduje w pamięci stronę (np. najmniej używaną) i zapisuje ją na

dysk a w miejsce zwolnionej ramki ładuje nową stronę

background image

6

11

OBSŁUGA BŁĘDU BRAKU STRONY

12

POWTÓRNE WYKONANIE ROZKAZU

background image

7

13

ZASTĘPOWANIE STRON

„

Problem zastępowania (wymiany) stron pojawia się, gdy w

pamięci fizycznej brakuje wolnych ramek i konieczne jest

zwolnienie jakieś ramki poprzez usunięcie z niej strony.

„

Jeśli strona była modyfikowana

w pamięci, konieczne jest zapisanie

jej na dysku. Aby stwierdzić

konieczność zapisu wprowadzono

bitu modyfikacji (ang. Modify bit),

zwanego też bitem zabrudzenia

(ang. dirty bit).

14

PROBLEMY ZASTĘPOWANIA STRON

„

Problem wyboru ofiary — niewłaściwy wybór ramki ofiary

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.

background image

8

15

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ą

.

16

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

background image

9

17

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 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.

18

ALGORYTMY

WYMIANY STRON

„

Zastępowanie lokalne (ang. local replacement) —

algorytm wymiany zastępuje tylko strony w ramkach

przydzielonych procesowi, który spowodował błąd strony
stronicowanie statyczne.

„

Zastępowanie globalne (ang. global replacement) —

algorytm wymiany zastępuje strony znajdujące się w

dostępnej puli ramek w całym systemie (w szczególności

zatem usuwa strony innych procesów)
stronicowanie dynamiczne.

background image

10

19

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)

„

Algorytm LFU (ang. Least Frequently Used) —

zastępowana jest najrzadziej używana strona

„

Algorytm MFU (ang. Most Frequently Used) —

zastępowana jest najczęściej używana strona

20

PRZYKŁADY DZIAŁANIA

ALGORYTMÓW WYMIANY STRON

„

W systemie pamięci wirtualnej są 4 ramki.

„

Wszystkie ramki są początkowo puste

„

W systemie pojawiają się następujące odniesień

(odwołań) do stron: 1, 2, 3, 4, 1, 4, 3, 4, 5, 2, 1, 4, 3, 4

background image

11

21

PRZYKŁADY DZIAŁANIA

ALGORYTMÓW WYMIANY STRON

22

SEGMENTACJA W SYSTEMIE

Z PAMIĘCIĄ WIRTUALNĄ

„

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.

background image

12

23

MECHANIZM SEGMENTACJI

NA ŻĄDANIE - PROBLEMY

„

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

24


Wyszukiwarka

Podobne podstrony:
SO S1 W0
SO S1 W3
SO S1 W2
SO S1 W1
SO S1 W4
so w5
W5 Zawiesia
W5 sII PCR i sekwencjonowanie cz 2
so c4
W5 s33 Inżynieria finanansowa
S1 Choroby zakaz¦üne wieku dziecie¦Ęcego b
W5 Temperatura powietrza WWSTiZ
so c3
W5 Rozpoznawanie 2010
so w3

więcej podobnych podstron