so:pamiec_pomocnicza [mgr Wiki]

[[so:pamiec_pomocnicza]]
mgr Wiki

Pytanie: “Organizacja pamięci pomocniczej - metody przydziału miejsca na dysku; przykłady znanych systemów plikowych”

# Wstęp

Podstawową kwestią przy wyborze metody przydziału miejsca na dysku jest efektywność i szybkość dostępu do plików. Powszechnie używa się 3 metod:

- przydział ciągły,
- przydział listowy,
- przydział indeksowy

Każda z nich ma swoje wady i zalety. W niektórych systemach korzysta się z trzech metod równocześnie, powszechniejsze jest jednak użycie jednej metody dla wszystkich plików w systemie.

# Przydział ciągły

W przydziale ciągłym (ang. contiguous allocation) plik zajmuje ciąg kolejnych bloków (jednostek alokacji). Ponieważ bloki rozmieszczone są blisko siebie, dostęp do plików jest efektywny – niewielkie ruchy głowic dyskowych. Możliwa jest szybka lokalizacja bloków pliku, zarówno przy dostępie swobodnym jak i sekwencyjnym.

Wadą przydziału ciągłego jest problem fragmentacji zewnętrznej – po usuniętych plikach pozostają dziury, które trudno połączyć w jeden, większy blok. Problemy pojawiają się również przy próbie rozszerzenia pliku. Aby to zrobić, zazwyczaj trzeba go przenieść w nowe miejsce (należy znaleźć większą dziurę). Dlatego należy z góry rezerwować dla plików więcej miejsca w przestrzeni dyskowej.

Przykład:

# Przydział listowy

W przydziale listowym (ang. linked allocation) plik jest listą powiązanych bloków, dowolnie rozproszonych w dostępnej przestrzeni adresowej. Zaletą tej metody jest brak problemu fragmentacji zewnętrznej, a także łatwa realizacja dostępu sekwencyjnego. Wadą, problem realizacji dostępu swobodnego – przejście do poprzedniego bloku wymaga rozpoczęcia przeglądania listy bloków od początku. Konieczne jest tu pamiętanie wewnątrz bloku wskaźnika do bloku następnego. Przydział listowy jest zawodny – utrata jednego bloku pociąga za sobą stratę wszystkich następnych.

Przykład:

# Przydział indeksowy

W przydziale indeksowym (ang. indexed allocation) wskaźniki (indeksy) do rozproszonych bloków dyskowych skupione są w jednym miejscu w tzw. bloku indeksowym. Wyróżnia się:

- schemat listowy bloku indeksowego - gdy w ostatnim elemencie bloku indeksowego znajduje się wskaźnik do następnego bloku indeksowego tego pliku,
- indeks wielopoziomowy – gdy blok indeksowy pierwszego poziomu zawiera wskaźnik do bloków drugiego poziomu itd.,
- schemat kombinowany – zastosowanie do pewnej liczny bloków indeksu pierwszego poziomu ,dla następnych bloków indeksowego dwupoziomowego itd.

Przydział indeksowy charakteryzuje się łatwością lokalizacji bloków pliku, zarówno przy dostępie sekwencyjnym, jak i swobodnym. Brak w nim problemu fragmentacji zewnętrznej. Wadą jest konieczność przeznaczenia pewnej części przestrzeni dyskowej na bloki indeksowe.

Przykład:

# Przykładowe systemy plikowe

### FAT

FAT( z ang. File Allocation Table) to system plików powstały pod koniec lat 70-tych, zastosowany w takich systemach operacyjnych jak DOS i Windows Określa on rozmieszczenie plików, katalogów i wolnej przestrzeni na nośnikach danych. Najważniejszym elementem systemu jest tablica informująca o rozmieszczeniu plików na partycji (FAT), od nazwy tej tablicy pochodzi nazwa systemu. Wyróżnia się trzy rodzaje FAT:

- FAT 12,
- FAT 16,
- FAT 32

Podstawowa różnica między nimi polega na różnej ilości bitów, na których koduje się numery jednostek alokacji plików zwane klastrami (określone w nazwie systemu FAT).

### EXT2

Ext2 ( z ang. second extended filesystem) to drugi, rozszerzony system plików dla systemu operacyjnego Linux. Jest to rozwinięta wersja systemu plików ext. W ext2 rozpoznanie uszkodzenia systemu plików (np. po załamaniu się systemu) następuje przy starcie systemu, co pozwala na automatyczne naprawianie szkód za pomocą oddzielnego programu e2fsck. System plików ext2 zawiera mechanizm zapobiegający znacznej fragmentacji dysku. Dzięki wolnym polom w strukturach danych możliwa jest konwersja “w locie” do systemu ext3.

### EXT3

Ext3 to nowoczesny system plików oparty na ext2. Jest to domyślny system plików w większości dystrybucji systemu GNU/Linux opartych na jądrze 2.4 oraz nowszych. Główną cechą systemu odróżniająca go od ext2 jest księgowanie. Dane nie są bezpośrednio zapisywane na dysk, ale w dzienniku/kronice. Dzięki temu zmniejsza się prawdopodobieństwo utraty danych.

Ext3 dodaje dokładny zapis zmian na dysku co w razie nagłego wyłączenia systemu umożliwia szybkie przywrócenie spójności systemu plików. Zaletą tego systemu plików oprócz dużego bezpieczeństwa danych jest fakt, iż bardzo łatwo przekonwertować do niego system plików ext2.

### NTFS

NTFS (z ang. New Technology File System) to standardowy system plików dla systemów operacyjnych Microsoftu (Windows NT, Windows 2000, Windows XP). Pochodzi od HPFS, który został opracowany przez Microsoft i IBM dla systemu OS/2 na miejsce systemu FAT. Występuje w wersjach:

- NTFSv4,
- NTFSv5,
- NTFSv6

System NTFS posiada kilka ulepszeń w porównaniu do systemu FAT, takich jak wsparcie dla metadanych, użycie zaawansowanych struktur w celu polepszenia, wiarygodności i wydajności (zarówno w odniesieniu do szybkości jak i wymaganej pojemności dyskowej), listy kontroli dostępu (ACL) , dziennik operacji dyskowych.

/*

Najwazniejsze cechy systemu NTFS w stosunku do FAT

1. Dostosowanie do systemu z wieloma uzytkownikami

2. Rozbudowany system praw dostepu do plików(listy kontroli dostępu (ACL))

3. Rozbudowany system odzyskiwania miejsca i organizacji dysku

4. Obsluga dlugich nazw

5. Przechowywanie informacj o ostatnim czasie dostepu

6. Maksymalna wielkosc partycji: 264 bajtów

*/

so/pamiec_pomocnicza.txt · Last modified: 2006/05/20 21:23 by 84.10.163.100