Dynamiczne przydzielanie pamięci metodą stref nieprzesuwalnych


Dynamiczne przydzielanie pamięci
metodą stref nieprzesuwalnych
Daniel Ozminkowski
Metoda stref nieprzesuwalnych:
a) pierwsze dopasowanie (first fit)
b) najgorszego dopasowania (worst fit)
c) najlepszego dopasowania (best fit)
Wstęp

Opis dynamicznego podziału na strefy

Kryterium wyboru strefy do przydzielenia

Algorytm przydzielania

Algorytm zwalniania

Zalety

Wady
Dynamiczny podział na strefy

Informacje o strefach znajdują się w tablicy

Przechowywane informacje to:

Rozmiar

Umiejscowienie

Status (dostępna/niedostępna)
Implementacja tablicy stref
wg  SO Madnick, Donovan

2 tablice statyczne

1. przechowuje informacje o strefach
zajętych

2. przechowuje informacje o strefach
wolnych

Sugerowane ulepszenie  lista dynamiczna
zamiast tablicy statycznej
Kryterium przydziału strefy

Pierwsze dopasowanie - First fit

Pierwszy wolny obszar wg adresu pamięci

Najlepsze dopasowanie - Best fit

Tablicę wolnych stref sortujemy pod względem
rozmiaru rosnąco. Wybieramy obszar którego
rozmiar najmniej różni się od rozmiaru żądania.

Najgorsze dopasowanie - Worst fit

Tablicę wolnych stref sortujemy pod względem
rozmiaru malejąco. Wybieramy największy
obszar i rezerwujemy początek wolnej strefy.
Przydział ciągłego obszaru
pamięci 
pierwsze dopasowanie
blok
kierunek
przeszukiwania
pamięć
Pierwsze dopasowanie

Metoda faworyzuje zajmowanie pamięci o
niższych adresach

Pozostaje obszar wolny o wysokim adresie,
który będzie wykorzystany, gdy przyjdzie
żądanie dużego obszaru pamięci
Przydział ciągłego obszaru
pamięci 
najlepsze dopasowanie
blok
kierunek
przeszukiwania
pamięć
Najlepsze dopasowanie

Może zajść szczęśliwa sytuacja, że istnieje
wolny obszar dokładnie o żądanym
rozmiarze i na pewno on zostanie wybrany

Przeważnie jednak tak się nie dzieje i trzeba
utworzyć mały wycinek

Ten wycinek jest tak mały, że przeważnie do
niczego się nie nadaje (fragmentacja)
Przydział ciągłego obszaru
pamięci 
najgorsze dopasowanie
blok
kierunek
przeszukiwania
pamięć
Najgorsze dopasowanie

Najwolniejsze  trzeba przeszukać wszystkie
dziury (lub odpowiednio segregować tablicę
wolnych miejsc)

Pozwala rozwiązać częściowo problem
fragmentacji wewnętrznej
Algorytm przydzielania
Algorytm zwalniania
Zalety

Podział strefowy zezwala na wiele wątków
wykonywanych  jednocześnie

Nie wymaga kosztownego sprzętu

Stosowane algorytmy są proste i łatwe do
zaimplementowania
Wady

Fragmentacja pamięci

Nawet gdy pamięć nie jest
rozczłonkowana, pojedynczy wolny
obszar może być zbyt mały, żeby
pomieścić strefę

Można uruchomić program o kodzie
mniejszym lub równym rozmiarowi
pamięci
Cel projektu

Która metoda jest najefektywniejsza w jakich
warunkach?

Kryteria:

czas oczekiwania procesu na przydzielenie
pamięci

procent używanej pamięci

Zmienne niezależne:

Zapotrzebowanie na pamięć

Zapotrzebowanie na czas procesora
Literatura

 Systemy operacyjne Madnick Donovan

 Zarządzanie pamięcią operacyjną 
wykłady dr Dariusz Wawrzyniak (AE we
Wrocławiu)


Wyszukiwarka

Podobne podstrony:
10 Dynamiczne przydzielanie pamieci
05 Dynamiczne przydzielanie pamięci
Dynamiczny przydział pasma użytkownika sieci z wykorzystaniem usługi QoS w systemie Linux
W11 dynamiczna alokacja pamieci
Dynamiczny przydział pasma użytkownika sieci z wykorzystaniem usługi QoS w systemie Linux (2)
W08 dynamiczna alokacja pamieci
F2 66 Pamięci dynamiczne
pamiec i mnemotechniki metoda lancuchowa
Metody układania algorytmów rekurencja, metoda dziel i zwyciężaj, programowanie dynamiczne, metoda
Metoda oceny węzłów podatnych na podstawie testów dynamicznych
pamiec dynami
32 Wyznaczanie modułu piezoelektrycznego d metodą statyczną
całkowanie num metoda trapezów

więcej podobnych podstron