Architektura komputerów 2
Prof. PWr dr hab. inż. Janusz Biernat
Wykład 07
PAMIĆ WIRTUALNA CIG DALSZY
Sposób odwzorowania przestrzeni wirtualnej w pamięci operacyjnej (fizycznej, RAM), funkcja
dyskretna typu w
a) liczba argumentów rozmiar przestrzeni wirtualnej (potencjalny)
b) liczba wartości rozmiar pamięci operacyjnej
a) >> b), dlatego funkcja typu w
Wniosek:
" nie wszystkie przypisania wartości argumentów są zdefiniowane w danej chwili (oczywiście
podczas działania procesu mogą być zrealizowane wszystkie, ale nie jednocześnie)
" do bieżącej realizacji procesu wystarczy znać odwzorowania aktualnie potrzebne.
Sposoby wyboru potrzebnych odwzorowań:
1. uporządkowana selekcja odwzorowań
...->nadkatalog->katalog->opis
2. według zapotrzebowania opis tylko
potrzebnych (aktualnie) elementów
odwzorowania (zasada) lokalności
odwołań (realizowane w architekturze von
Neumana), uporządkowana struktura
programu i danych, tzn. jeżeli jest na coś
zapotrzebowanie to może, ale nie musi, się powtórzyć, zakładamy, że tak, ale możemy się
pomylić, realizowane za pomocą BUFORA TLB (translation lookaside buffer).
3. według możliwości (odwrócenie funkcji dyskretnej, do wartości przypisywane są
argumenty), realizowane za pomocą odwróconej tablicy stron.
4. pierwszy sposób nie wyklucza drugiego i trzeciego.
Co w takim odwzorowaniu musi być?
Zawartość pojedynczego opisu odwzorowania przestrzeni wirtualnej (VM) na przestrzeń fizyczną
(PM).
P znacznik aktualności odwzorowania
RWX prawa dostępu, to musi być niezależnie od sposobu dostępu,
aby zapewnić ochronę pamięci
VMA adres wirtualny, indeks tablicy w pełnej tablicy
stron/segmentów (niepotrzebny, bo tablica jest uporządkowana.
RA adres rzeczywisty
TLB musi być VMA, bo to jest identyfikator opisu, jeżeli jest długi
to wyszukiwanie w zbiorze będzie długie, czas wyszukiwania zależy
(logarytmicznie) od długości adresu wirtualnego.
skrót funkcje haszujące/funkcje skrótu (xorowanie pierwszej połowy z
drugą połówką najpopularniejsze).
#VMA skrót VMA
Żeby przyspieszyć wyszukiwanie porównujemy skróty, a pózniej się upewniamy i porównujemy
pełne adresy, jeżeli zgodne to dobrze, jeżeli nie to szukamy dalej aż do znalezienia lub do końca,
wtedy należy stworzyć odwzorowanie.
IPT (odwrócona tablica stron) (tylko w stronicowaniu), nie ma RA
link wskazanie innego potencjalnego miejsca odwzorowania, jeżeli skróty nie byłby używane to
link byłby niepotrzebny, nie ma potrzeby przeszukiwać całą tablicę, można posłużyć się skrótem.
VPA nr strony
Na rysunku nie ma P, ale powinno być. Jeżeli nie ma odwzorowania, to sprawdzamy, czy cały bufor
jest zajęty, jeżeli nie to szukamy pierwszego wolnego, jeżeli cały zajęty to usuwamy te z P=0.
Oprócz fizycznej realokacji musimy zmienić też opisy, bo są inne adresy.
Strategie zarządzania pamięcią
" strategie pobierania (fetch policy) decyzje, kiedy załadować informację do pamięci
głównej
" strategie przydziału (placement policy) reguły i algorytmy wpasowania bloków informacji
w wolne obszary pamięci głównej
" strategie wymiany (relocation policy) reguły i algorytmy usuwania informacji z pamięci
głównej.
Strategie pobierania
" pobranie wymuszone (demand fetching) na skutek błędu braku obiektu (missing item fault)
" pobranie antycypowane (prefetching) na podstawie prognozy zapotrzebowania procesu na
dane (zasady lokalności).
Strategie przydziału
" w pamięci stronicowanej trywialne, rozmiar strony ustalony problem wewnętrzna
fragmentacja pamięci
" w pamięci segmentowanej wpasowanie segmentów o ró\nych rozmiarach problem
zewnętrzna fragmentacja pamięci (dziury)
Przydział pamięci segmentowanej
segment umieszczany w pierwszej dziurze o wystarczającym rozmiarze
Metody:
" BF najlepsze wpasowanie (best fit) lista uporządkowana według rosnących adresów
" WF najgorsze wpasowanie (worst fit) lista uporządkowana według malejących adresów
" FF pierwsze wpasowanie (first fit) lista uporządkowana według rosnących adresów,
przeszukiwanie może być cykliczne (wznawialne)
" BB wpasowanie binarne (binary buddy) są tworzone listy dziur o rozmiarach [2ip, 2(i+1)p],
wpasowanie segmentu metodą FF w obrębie listy, kolejność adresów na listach jest liniowa.
Problemy
" aktualizacja listy dziur
" defragmentacja pamięci (komasacja dziur)
Zewnętrzna fragmentacja partycji spójnych
Partycje
Procesowi jest przydzielana część adresowalnego obszaru pamięci głównej.
intensyfikacja błędu braku bloku
Strategie przydziału obszaru pamięci procesom (memory allocation)
" partycja stała (fixed size partition) rozmiar obszaru pamięci przydzielonej procesowi jest
stały w czasie życia procesu
" partycja zmienna (variable size partition) dynamiczny przydział pamięci, odpowiednio do
aktualnych potrzeb procesu.
Strategie wymian dla stałych partycji:
" losowa (random replacement) wyłącznie w środowisku programowym, w którym
lokalność jest niewielka (np. bazy danych)
" FIFO (first in, first out) kolejka bloków do wymiany jest ustawiana zgodnie z kolejnością
ich umieszczania w pamięci; uwzględniana jest lokalność bloków, nie uwzględnia się
intensywności ich używania
" FINUFO (first in, not used, first out) każde wejście do kolejki ma znacznik używalności,
kolejka przesuwa się cyklicznie
" LRU (least recently used) wymienia się blok najdawniej używany. (najczęściej używany
sposób)
Anomalia Belady ego częstość błędu braku strony nie jest monotoniczną funkcją rozmiaru
przydzielonego obszaru (liczby stron) i osiąga lokalne minimum dla pewnej niewielkiej liczby
stron.
sekwencje odwołań 1,2,3,4,5,1,2,3,6,1,2,3,4,5,6,4 oraz 1,2,3,4,1,2,5,1,2,3,4,5,4
Strategia optymalna (MIN) wymiana bloku, który będzie użyty najpózniej teoretyczna, wymaga
antycypacji kolejności wymian.
Strategie wymian dla partycji zmiennych (przy stronicowaniu):
" WS wymiana całego zbioru roboczego (working set replacement)
" PFF wymiana stosownie do częstości występowania błędu braku strony (page fault
frequency) ustala się wartość progową PFF i jeżeli częstość błędu braku strony pff < PFF,
to wymieniane są wszystkie strony nieużywane od ostatniej wymiany, jeśli zaś pff > PFF, to
nie jest dokonywana wymiana, lecz zwiększany jest rozmiar partycji.
Strategia optymalna VMIN wymiana bloku, który będzie użyty najpózniej, lecz z możliwością
zmiany rozmiaru partycji. teoretyczna, wymaga antycypacji kolejności wymian.
Wyszukiwarka
Podobne podstrony:
W08 AK2 BiernatW06 AK2 BiernatW05 AK2 BiernatW02 AK2 BiernatW01 AK2 BiernatW09 AK2 BiernatW03 AK2 BiernatW07 W08 SCRStrona biernaW07 08 WYKLADY TIORB 2007 MECHANIZACJA CALOSC z rysunkamiW02 AK1 Biernat0708z sk zlm w07Fund w07Gazownictwo w07ti w07PKM II w07 Czolowe przekladnie walcowe o zebach srubowychwięcej podobnych podstron