You are on page 1of 31

Wykład 7

Zarządzanie pamięcią zewnętrzną (pomocniczą)

1
Informacja o wolnych obszarach jest
przechowywana w tworzonej przez S.O. liście
wolnych obszarów.

Przykłady implementacji listy:


 wektor bitowy (mapa bitowa),
 lista powiązana,
 grupowanie,
 zliczanie.
2
 Podstawową jednostką zapisu informacji na
dysku jest sektor. Ogólnie określa się go też
mianem bloku.
 Jeśli stosujemy metodę wektora bitowego,
każdy blok reprezentowany jest przez 1 bit.
 Gdy blok jest wolny bit=0, gdy zajęty wynosi 1.
 Wektor bitowy ma zatem postać
100101011100001111….

3
 Lista powiązana to powiązanie wszystkich
wolnych bloków dyskowych i
przechowywanie wskaźnika do pierwszego
wolnego bloku.

 Metoda nie jest wydajna. Aby przejrzeć listę,


należy odczytać każdy blok, co wymaga dużej
ilości czasu.

4
5
 Grupowanie - przechowywanie adresów n
wolnych bloków w pierwszym wolnym bloku
(pierwsze n-1 adresów wskazuje na wolne
bloki, ostatni adres jest adresem dyskowym
innego bloku zawierającego adresy
następnych n wolnych bloków…).
 Zaletą jest to, że łatwo odnaleźć adresy
wielkiej liczby wolnych bloków.

6
 Zliczanie - przechowywany jest adres
pierwszego wolnego bloku i liczba n wolnych
bloków następujących nieprzerwanie po
pierwszym bloku.
 W tym rozwiązaniu korzysta się z faktu, że
kilka przylegających do siebie bloków można
przydzielać i zwalniać równocześnie.

7
 Wybór odpowiedniej metody przydziału ma
na celu efektywne zagospodarowanie miejsca
na dysku i szybki dostęp do plików.

8
 Każdy plik musi zajmować ciąg kolejnych
adresów na dysku.
 Dostęp do plików w tym przydziale jest dość
łatwy.

9
licznik
0 1 2 3 Katalog
f
Plik Początek Długość
4 5 6 7
licznik 0 2
tr 14 3
8 9 10 11 poczta 19 6
tr lista 28 4
12 13 14 15 f 6 2
16 17 18 19
po czta
20 21 22 23

24 25 26 27
lista
28 29 30 31

10
 Wada: trudno znaleźć miejsce na nowy plik, ponadto
trzeba dla tworzonego pliku z góry określić wielkość
potrzebnego dla niego obszaru.
 Problem ciągłego przydziału przestrzeni dyskowej
można porównać do problemu dynamicznego
przydziału pamięci operacyjnej, polegającego na
spełnieniu zamówienia na pamięć o rozmiarze n
według listy wolnych dziur.

11
 Stosuje się strategie pierwszego
dopasowania, najlepszego dopasowania i
najgorszego dopasowania.
 Algorytmy te powodują fragmentację
zewnętrzną pamięci. Chociaż na dysku jest
dużo miejsca, to nie można znaleźć spójnego
obszaru odpowiedniej wielkości.

12
 W przydziale listowym każdy plik stanowi
listę powiązanych ze sobą bloków
dyskowych.
 Bloki te mogą znajdować się gdziekolwiek na
dysku.
 Katalog zawiera wskaźnik do pierwszego i
ostatniego bloku pliku.
 Każdy blok zawiera wskaźnik do następnego
bloku. Wskaźniki te nie są dostępne dla
użytkownika.
13
0 1 10 2 3 Katalog

4 5 6 7 Plik Początek Koniec


dane 9 25
8 9 16 10 25 11

12 13 14 15

16 1 17 18 19

20 21 22 23

24 25 -1 26 27

28 29 30 31

Rys. Przydział listowy miejsca na dysku.

14
 Tworzenie pliku jest łatwe i polega na
tworzeniu nowej pozycji w katalogu
urządzenia dyskowego.
 Operacja pisania do pliku usuwa pierwszy
wolny blok z listy wolnych obszarów i
wypełnia go zapisywaną informacją. Ten
nowy blok zostaje następnie dowiązany do
końca pliku.

15
 Zaleta: w przydziale listowym nie ma
zewnętrznej fragmentacji pamięci. Nie ma
też konieczności deklarowania długości pliku
w chwili jego tworzenia.

16
 Wada: przydział listowy daje efekty przy
zastosowaniu do plików o dostępie
sekwencyjnym. Realizacja dostępu
bezpośredniego w plikach o przydziale
listowym jest niewydajna. Ponadto dużo
miejsca na dysku zajmują wskaźniki.

17
 Niezawodność: Gdyby jakiś wskaźnik uległ
uszkodzeniu, to oprogramowanie S.O.
mogłoby pobrać zły wskaźnik i nieprawidłowo
dowiązać do nieodpowiedniej listy.
 Rozwiązuje się to częściowo przez
podwojenie list powiązań lub
zapamiętywanie w każdym bloku nazwy pliku
i względnego numeru bloku. To jednak
zwiększa nakłady ponoszone na plik.
18
FAT
 Odmianą metody przydziału listowego jest tablica
przydziału plików (File Alocation Table).
 Na dysku wydziela się sekcję, która będzie zawierała
tablicę.
 Tablica ma po jednej pozycji dla każdego bloku
dyskowego i jest indeksowana za pomocą numerów
bloków. Tablicy tej używa się podobnie jak listy
powiązań.
 Katalog zawiera numer pierwszego bloku pliku.
 Pozycja w tablicy indeksowana przez numer tego
bloku zawiera numer następnego bloku w pliku.
(Przykład - S.O. DOS)
19
Pozycja w katalogu
0
test ... 217
nazwa blok początkowy

217 618

symbol
339 końca pliku

618 339

Liczba bloków dyskowych -1

20
FAT
 Bloki nieużywane są wskazywane za pomocą
liczby 0 umieszczonej na ich pozycji w tablicy.
 Przydzielenie nowego bloku do pliku polega
na znalezieniu pierwszej zerowej pozycji w
tablicy i zastąpieniu poprzedniej wartości
symbolizującej koniec pliku adresem nowego
bloku.

21
 Każdy plik ma własny blok indeksowy, będący tablicą
adresów bloków dyskowych. Pozycja o numerze i w
bloku indeksowym wskazuje na blok i danego pliku.
 Katalog zawiera adres bloku indeksowego. Aby
przeczytać blok i używa się wskaźnika z pozycji o
numerze i w bloku indeksowym, za pomocą którego
znajduje się odpowiedni blok do czytania.
 Przydział indeksowy umożliwia dostęp bezpośredni
bez powodowania zewnętrznej fragmentacji pamięci.

22
23
 Wada: Przydział indeksowy powoduje
marnowanie miejsca na dysku. Nakład na
wskaźniki bloku indeksowego jest na ogół
większy niż nakład na wskaźniki przy
przydziale listowym.

24
a) schemat listowy - blok indeksowy znajduje się w
jednym bloku dyskowym, a dla wielkich plików -
stosuje się połączenie kilku bloków indeksowych.
b) indeks wielopoziomowy - oddzielny blok indeksowy
służy do wskazywania bloków indeksowych, których
wskaźniki wskazują na bloki pliku.
Aby dojść do bloku S.O. posługuje się indeksem
pierwszego poziomu w celu znalezienia indeksu
drugiego poziomu, za którego pomocą odnajdzie
potrzebny blok danych.

25
c) schemat kombinowany (BSD Unix)
W katalogu urządzenia przechowuje się pierwsze 15
wskaźników bloku indeksowego. Pierwsze 12 wskazuje
na bloki bezpośrednie tzn. zawierające wprost adresy
bloków z danymi pliku. Dla małych plików jest to
wystarczające.
Następne trzy wskaźniki wskazują bloki pośrednie.
Pierwszy wskaźnik bloku pośredniego jest adresem
bloku jednokrotnie pośredniego. Kolejnym jest wskaźnik
bloku dwukrotnie pośredniego (który zawiera adres
bloku zawierającego adresy bloków, które zawierają
wskaźniki do faktycznych bloków danych). Ostatni
wskaźnik będzie zawierać adres bloku trzykrotnie
pośredniego.

26
27
Planowanie wykonywania zamówień na dostęp do
dysku ma na celu uzyskanie szybkich usług
dyskowych.
Łączny czas obsługi zamówienia dyskowego jest
sumą czasów:
 przeszukiwania (dotarcie do odpowiedniej
ścieżki na dysku),
 oczekiwania (dotarcie do odpowiedniego bloku
na ścieżce),
 przesyłania (właściwe przesyłanie danych
między dyskiem a pamięcią główną).

28
Metody planowania dostępu do dysku:
 FCFS - pierwszy nadszedł-pierwszy obsłużony (długi średni czas
obsługi).
 SSTF - najpierw najkrótszy czas przeszukiwania (shortest seek-
time-first). Wybieranie zamówienia z minimalnym czasem
przeszukiwania względem bieżącej pozycji głowicy.
 SCAN - głowica startuje od jednego końca dysku do
przeciwległego i z powrotem, obsługując po drodze zamówienia.
 C-SCAN - jw. z natychmiastowym powrotem na początek.
 LOOK i C-LOOK - modyfikacje SCAN i C-SCAN. Gdy brak
zamówień w bieżącym kierunku, głowica zaczyna przesuwać się w
przeciwnym.
Najpowszechniej stosowane SSTF.
29
 Dyski SSD (Solid State Drive) nie poruszają
się wcale. Dane gromadzone są w
specjalnych blokach. Kiedy trzeba uzyskać
dostęp do części tych danych, wtedy pamięć
SSD po prostu wysyła informację, w którym
bloku i w jakim jego obszarze znajduje się
informacja.

30
 Dzięki temu dyski SSD są wydajniejsze i
pozwalają szybciej uzyskać dostęp do
danych. Niezaprzeczalnie jest to jedna z ich
największych zalet, dzięki której coraz silniej
wypierają standardowe HDD.

31

You might also like