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