Urządzenia techniki komputerowej.

1

______________________________________________________________________

URZĄDZENIA TECHNIKI

KOMPUTEROWEJ

Struktura dysku dla systemu plików

FAT

2

Urządzenia techniki komputerowej.

______________________________________________________________________

I. Struktura dysku dla systemu plików FAT

System plików FAT mimo pewnych wad, jest to bardo popularny system plików.

Obecnie popularność ta wynika między innymi z faktu, Ŝe większość systemów

operacyjnych potrafi go obsługiwać, podczas gdy pliki zapisywane w systemach, takich jak

NTES czy HPFS, są dostępne tylko dla określonych systemów (w tym wypadku Windows

NR i OS/2).

Podział dysku na logiczne struktury przedstawiony jest na rysunku 1. Podana jest na

nim kolejność ich występowania oraz adres fizyczny pierwszej z nich. Nazwy struktur na

rysunku zostały podane w języku angielskim. Uzasadnieniem tego jest fakt, Ŝe w

większości programów narzędziowych właśnie takie nazwy są uŜywane. W tekście podaję

ich polskie odpowiedniki.

Adres CHC

Nazwa struktury

0 0 1

Boot record

FAT #1

FAT #2

Root Directory

Data area

Rysunek 1. Struktura logiczna dysku w systemie FAT

Opis rozpoczynamy od struktury zwanej rekordem ładującym (ang. boot record).

Znajduje się on na ścieŜce zerowej strony zerowej dyskietki i umieszczony jest w

pierwszym sektorze (adres CHS = 001). Takie umiejscowienie tej struktury bierze się stąd,

Ŝe zawiera ona program ładujący określony system operacyjny. Program taki jest

poszukiwany w wyniku wykonania procedury BIOS-u zwanej Bootstrap Loader, dostępnej

takŜe jako przerwanie BIOS-u INT 13h. Procedura ta poszukuje systemu operacyjnego na

dysku twardym, dyskietce bądź CD-ROM-ie. PoniewaŜ ilość ścieŜek i sektorów na ścieŜce

moŜe być róŜna, rekord ładujący umieszczony jest na początku dyskietki, jako Ŝe kaŜda

dyskietka ma stronę zerową i ścieŜkę zerową, a na niej sektor pierwszy. Tak więc

poszukiwany adres jest zawsze taki sam.

Po rekordzie ładującym następują struktury związane ze sposobem zapisu informacji

na dyskietce (czy dysku twardym) zwanym systemem plików FAT. FAT jest skrótem od

angielskiego terminu File Allocation Table oznaczającego tablicę rozmieszczenia (alokacji)

pliku. FAT#1 i FAT#2 to oryginał I kopia tej samej struktury, co oznacza, Ŝe w poprawnej

sytuacji ich zawartość jest identyczna. Root directory jest angielską nazwą katalogu

głównego. Sposób zapisu plików i uŜycie wymienionych struktur wyjaśnione jest na

rysunku 2 i 3.

W celu ułatwienia zarządzania plikami są one grupowane w pewne jednostki zwane

katalogami albo podkatalogami, a w nowszych systemach operacyjnych folderami. Katalogi

(lub foldery) tworzą drzewiastą strukturę, której przykład pokazany jest na rysunku 2.10.

KaŜdy katalog moŜe zawierać pliki oraz inne katalogi zwane wówczas podkatalogami tego

katalogu. RóŜne katalogi mogą zawierać pliki o tej samej nazwie lub wręcz te same.

Katalogiem, od którego rozpoczyna się tworzenie tej struktury, jest katalog główny.

______________________________________________________________________

Urządzenia techniki komputerowej.

3

______________________________________________________________________

Rysunek 2. Struktura plików i katalogów

PoniewaŜ FAT#1 i FAT#2 powinny być jednakowe, na rysunku 2.12 występuje

nazwa FAT. Studiując rysunek naleŜy zwrócić baczną uwagę na nazwy obszarów w

których występuje określona informacja.

Rysunek 3. Zapis plików w systemie FAT

Podstawowym fragmentem dysku z punktu widzenia systemu operacyjnego jest tak

zwany klaster (ang. cluster), zwany czasami jednostką alokacji pliku, w skrócie JAP.

Pojedynczy klaster moŜe się składać z jednego lub kilku sektorów. Dla konkretnego typu

dyskietki jest to wartość stała, natomiast dla dysków twardych moŜe mieć róŜne wartości

(będące jednak potęgami liczby 2), które mogą zaleŜeć od wielkości dysku i jego podziału

na tak zwane partycje i dyski logiczne.

4

Urządzenia techniki komputerowej.

______________________________________________________________________

Klaster jest najmniejszym fragmentem dysku, do którego potrafi odwołać się system

operacyjny (nie potrafi on odwołać się do sektora, ani tym bardziej do bajtu). Pliki

zapisywane na dysku, są zapisywane w klasterach, przy czym jeŜeli ostatni fragment pliku

w ostatnim klasterze, do którego jest zapisywany, zajmie tylko jego część, pozostała część

pozostanie niewykorzystana, bowiem zapis nowego pliku musi zacząć się od nowego

klastera. PoniewaŜ klastery są jednostkami, w których zapisuje się plik, to pojęcie klastera

dotyczy wyłącznie obszaru danych dysku.

Informacja o tym, w których klasterach został zapisany dany plik, znajduje się na

dysku (bądź na dyskietce) w specjalnej tablicy zwanej tablicą rozmieszczenia (alokacji)

plików, w skrócie FAT (wyjątkiem jest tu początkowy, pierwszy klaster danego pliku).

KaŜdy klaster na dysku ma odpowiadającą mu pozycję w tablicy FAT, stąd liczba pozycji

w tablicy FAT nie moŜe być mniejsza od liczby klasterów występujących na dyskietce lub

dysku logicznym (kaŜdy dysk logiczny posiada swoją tablicę FAT). Podstawowe

informacje o pliku zapisanym na dysku znajdują się w (pod)katalogu, w którym został

zapisany plik, w odpowiadającej mu pozycji. Jak widać, podana jest tam jego nazwa,

rozmiar, tak zwane atrybuty i wreszcie informacja o numerze pierwszego klastera, od

którego rozpoczyna się dany plik. Zapis pliku przebiega następująco: P system operacyjny

szuka na dysku pierwszego wolnego klastera i tam zaczyna zapisywać plik, jednocześnie

zapisując numer tego klastera do pozycji w katalogu, która odpowiada danemu plikowi.

Numer ten jest jednocześnie numerem pozycji w tablicy FAT odpowiadającej temu

klasterowi. JeŜeli plik zmieści się w jednym klasterze, t o w pozycji tablicy FAT jemu

odpowiadającej wpisywana jest sygnatura końca pliku oznaczana przez EOF (ang. End Of

File), równa FFFFh. W przeciwnym wypadku system szuka kolejnego, najbliŜszego

wolnego klastera I zapisuje w nim kolejną część pliku. Jednocześnie numer tego klastera

jest zapisywany w tablicy FAT na pozycji odpowiadającej poprzedniemu klasterowi (gdzie

w poprzednim wypadku wpisane zostało EOF). Efekt takiego procesu jest zilustrowany na

rysunku 2.12. Numery łańcucha klasterów, w których zapisany jest dany plik, moŜna

znaleźć w tablicy FAT, przy czym na kolejnych pozycjach odpowiadającym kolejnym

klasterom, w których jest zapisany plik, zapisany zostaje numer następnego klastera. W

ostatnim klasterze informuje sygnatura EOF.

Skasowanie pliku polega na zmianie pierwszej litery nazwy na symbol (kod E5h),

oznaczający dla systemu plik skasowany oraz na wpisaniu zer w tablicy FAT na pozycjach

odpowiadających klasterom, w których został zapisany dany plik. Stąd odzyskanie

przypadkowo skasowanego, pojedynczego pliku nie nastręcza zwykle większych trudności,

pod warunkiem, Ŝe po tym fakcie nie dokonaliśmy na dysku Ŝadnych zapisów (w pewnych

szczególnych przypadkach odzyskanie pliku moŜe być trudne lub wręcz niemoŜliwe).

Krótkiego wyjaśnienia wymaga jeszcze zapis i umiejscowienie informacji o

podkatalogach. Informacja o podkatalogu jest zapisywana tak samo jak plik, czyli

podkatalogowi przydzielany jest oddzielny klaster bądź, w razie potrzeby, klastery.

Jednocześnie numer tego klastera jest wpisany do pozycji odpowiadającej temu

podkatalogowi w jego katalogu nadrzędnym (czyli w katalogu, w którym dany podkatalog

został utworzony). Wynikiem tego jest między innymi fakt, Ŝe ilość podkatalogów danego

podkatalogu jest nieograniczona, a dokładniej, ograniczona jedynie dostępną przestrzenią

na dysku (ilość pozycji w katalogu głównym była ograniczona).

______________________________________________________________________