System plików FAT jest pierwszym system plików powszechnie zastosowany w komputerach osobistych. Początkowo do adresowania jednostki alokacji (najmniejszej jednostki organizacji logicznej dysku) projektanci tego systemu przewidzieli zaledwie 12 bitów. Spowodowało to ograniczenie maksymalnego rozmiaru partycji dysku obsługiwanego przez system operacyjny korzystający z FAT zaledwie do 32MB. W późniejszych wersjach systemu DOS poprawiono ten mankament rozszerzając maksymalną wielkość obsługiwanych partycji do 2GB.

 

Budowa FAT

System plików FAT zbudowany jest z 

Tablicy alokacji plików (ang. File Allocation Table)

Rysunek 2. Struktura systemu FAT

- zawiera informacje o fizycznym położeniu każdego pliku zapisanego na dysku. Pierwsze dwa rekordy tej tablicy, to dane na temat samego FAT-u, a wszystkie pozostałe podają informacje o położeniu plików. Każdy rekord FAT-u opisuje położenie jednego klastra z danymi. W wypadku, gdy plik nie mieści się w całości w jednym klastrze, to w tablicy FAT zapisywana jest informacja o położeniu następnego klastra z danymi tego pliku.

 

Rysunek 3. Tablica alokacji plików

Boot sektor

- jest pierwszym sektorem dysku I jest wykorzystywany podczas inicjalizacji ładowania systemu operacyjnego

Tablica partycji

- przechowuje informacje o partycjach zainstalowanych w systemie

Katalog główny

- przechowuje dane o zbiorach znajdujących się w poszczególnych katalogach. Każde pole opisujące plik ma 32 bajty i zapisuje się w nim informacje o nazwie pliku, jego atrybutach, dacie modyfikacji, rozmiar i adres pierwszego klastra. Wielkość katalogu głównego jest najczęściej ograniczona. Na przykład dla dyskietki 3,5” sformatowanej w systemie FAT na katalog główny przeznaczone jest 14 sektorów.

 

Rysunek 4. Fragmentacja dysku

Każdy plik zajmuje na dysku całkowitą liczbę klastrów bez względu na jego wielkość. Przy małych plikach (kilka bajtów) następuje więc znaczna strata miejsca na dysku. Wielkość klastra w systemie FAT16 jest ustalana automatycznie w czasie instalacji systemu i zależy od wielkości partycji, na której jest zakładany. Zależność ta została pokazana w tabeli. Należy zaznaczyć, że komputery z systemem FAT16 pracujące pod kontrolą systemu operacyjnego DOS nie obsługują partycji większych od 2GB.

Wielkość partycji

Liczba sektorów na klaster

Wielkość klastra

0 MB–32 MB

1

512 bajtów

33 MB–64 MB

2

1 KB

65 MB–128 MB

4

2 KB

129 MB–255 MB

8

4 KB

256 MB–511 MB

16

8 KB

512 MB–1,023 GB

32

16 KB

1,024 GB–2,047 GB

64

32 KB

2,048 GB–4,095 GB

128

64 KB

Tabela 2. Wielkość klastra w systemie FAT16

 

FAT32

Zasadnicza różnica w stosunku do systemu FAT polegała na tym, że rozszerza on wielkość partycji, którą można wykorzystać, z 2 GB do prawie 127 GB. Dzieję się tak dzięki zastosowaniu do przechowywania rekordów i numerów sektorów bloków o wielkości 32 bitów.

Wielkość klastra w systemie FAT32 pokazano w tabeli

Wielkość partycji

Rozmiar klasra

Poniżej 8 GB

4 KB

Od 8 GB do16 GB

8 KB

Od 16 GB do 32 GB

16 KB

od32 GB

32 KB

Tabela 3. Wielkość klastra w systemie FAT32

Dodatkowo system plików FAT32 pozwala na stosowanie długich nazw plików oraz wykorzystanie w ich nazwach znaków regionalnych (w tym polskich znaków diakrytycznych) dzięki zastosowaniu standardu Unicode.

Rysunek 5. Struktura systemu HTFS

System HPFS (ang. High Performance File System) stosowany jest w systemie operacyjnym OS/2. System HPFS zapisuje na dysku boot block, super block i spare block. Struktury te są wykorzystywane do startu systemu oraz zarządzania systemem plików. Ponadto system rezerwuje obszar tzw. Bitmapy (2KB), które są rozmieszczane w odstępach co 8MB. Każda bitmapa zawiera jeden bit dla każdej jednostki alokacji w paśmie. System operacyjny zapisuje odpowiednie bitmapy i zaznacza, które sektory są wolne, a które zajęte. HPFS planuje rozmieszczenie plików na dysku w ten sposób, aby jego ewentualne powiększenie nie powodowało defragmentacji dysku. Dodatkowo nazwy plików i katalogów są przechowywane w postaci struktury b-tree. 
Struktura b-tree jest strukturą, której organizacja zbliżona jest do struktury drzewa. W wypadku organizacji danych w strukturę drzewiastą nie trzeba przeszukiwać całej zawartości magazynu informacji, a tylko odpowiednią ścieżkę drzewa. Tego typu rozwiązanie
zwiększa znakomicie wydajność wyszukiwania plików na dysku.

System NTFS został zaprojektowany w ten sposób, aby umożliwiać obsługę bardzo dużych dysków, zapewnić wysoki poziom bezpieczeństwa i dużą szybkość dostępu do danych.

NTFS wykorzystuje 64 bitów do numerowania klastrów. Wielkość klastra w systemie NTFS nie jest stała i może być definiowana przez użytkownika.

Wielkość partycji

Liczba sektorów na klaster

Wielkość klastra

Do 512 MB

1

512 bajtów

513 MB–1024 MB

2

1 KB

1025 MB–2048 MB

4

2 KB

2049 MB–4096 MB

8

4 KB

4097 MB–8192 MB

16

8 KB

8193 MB–16 384 MB

32

16 KB

16 385 MB–32 768 MB

64

32 KB

>32 768 MB

128

64 KB

Tabela 4. Wielkość klastra w systemie NTFS

 System ten jako standard kodowania znaków stosuje standard Unicode. Pozwala to na używanie w nazwach plików narodowych znaków diakrytycznych, których długość może mieć 255 znaków (w tym spacje i kropki).

Po sformatowaniu nośnika w systemie NTFS tworzone są specjalne pliki zwane plikami metadaty, a wśród nich Master File Table. MFT zawiera rekordy o wielkości 1KB, w których umieszczana jest informacja o rozmieszczeniu na dysku poszczególnych plików. W zależności od rozmiaru zbioru jest mu przyporządkowana różna liczba rekordów. Pierwszych 17 rekordów MFT ma specjalne znaczenie dla systemu, gdyż w nich zapisane są informacje bezpośrednio związane z samym systemem plików. Wszystkie pozostałe zawierają już informacje o plikach i katalogach.

System NTFS 5.0 wykorzystany w Windows 2000 posiada kilka interesujących cech. Do najważniejszych należy niewątpliwie możliwość zabezpieczania pojedynczego pliku lub katalogu dzięki zapisywaniu informacji o uprawnieniach dostępu w specjalnej bazie zwanej ACL.
Do nowego systemu plików dodano możliwość określania rozmiaru katalogu, wolumenu lub dysku wykorzystywanego przez danego użytkownika lub grupę.
Innym udoskonaleniem jest mechanizm tzw. Sparse File, polegający na alokowaniu takiej ilości miejsca na dysku, jaka jest rzeczywiści potrzebna konkretnemu plikowi. Jeżeli aplikacja żąda od systemu np. 5 MB miejsca na dysku celem zapisania pliku, to system sprawdzi, czy faktycznie taka ilość miejsca jest niezbędna i jeśli okaże się to możliwe zostanie przydzielony mniejszy obszar (tylko taki, jaki jest potrzebny do przechowania pliku).

NTFS 5.0 posiada także mechanizm śledzący i zapamiętujący zmiany w plikach nie tylko podczas pracy komputera. Po jego restarcie zmiany na dyskach są nadal pamiętane. Ma to ułatwić odzyskiwanie przypadkowo utraconych danych.

Nowy NTFS może również montować do dowolnego pustego katalogu inny katalog znajdujący się na dysku lokalnym lub zdalnym. (Mechanizm ten znany jest od dawna m.in. w systemach unixowych.)

Partycje NTFS 5.0 (inne nie) mogą również być obsługiwane przez mechanizm EFS (Encryption File System) pozwalający na szyfrowanie danych na partycji i dostęp do zaszyfrowanych danych na podstawie identyfikatora elektronicznego. Przy tym dane (oraz ich ewentualne kopie zapasowe i pliki pomocnicze) pozostają zakodowane podczas całego czasu pracy z szyfrowanymi zbiorami.

NASTĘPNA