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).
______________________________________________________________________