utk 037 struktura logiczna dysku fat


Urządzenia techniki komputerowej. 1
______________________________________________________________________
URZDZENIA 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ądz 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ądz 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
znalezć 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ądz, 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).
______________________________________________________________________


Wyszukiwarka