Skip to content

Dyski twarde od A do Z | Forum - Dysk twardy i nie tylko

Increase font size Decrease font size Default font size
Jesteś: News arrow Fat arrow HPFS
HPFS Utwórz PDF Drukuj Poleć znajomemu
07.11.2008.

HPFS (High Performance File System) system plików OS/2

HPFS został zaprojektowany przez IBM i Microsoft pod koniec lat osiemdziesiątych, dla potrzeb nowoczesnego systemu operacyjnego, realizowanego podówczas wspólnie przez obydwie firmy – OS/2. W przeciwieństwie do FAT – wymyślonego w 1977 r. do obsługi dyskietek – HPFS był od początku przeznaczony od efektywnej obsługi dysków twardych, i to dużych – teoretyczna granica wielkości woluminu (nb. ostatnio dodatkowo podniesiona) już wówczas wynosiła 2199 GB, czyli 2^32 sektorów (á 512 B), będących również jednostką alokacji.
 
Dysk podzielony jest na tzw. pasma po 8 MB (16384 sektory) zawierające bitową mapę zajętości sektorów w paśmie (32 sektory). Dzięki naprzemiennemu ułożeniu map w kolejnych pasmach tworzone są ciągłe odcinki po 16 MB, rozdzielone mapami dwu kolejnych pasm. Jedno pasmo, położone możliwie blisko geometrycznego środka dysku, zarezerwowane jest do przechowywania opisów katalogów, w tym katalogu głównego – po jego wypełnieniu katalogi mogą być zakładane również w innych miejscach dysku.

Kluczową dla HPFS strukturą danych jest tzw. Fnode, czyli położony możliwie blisko samego pliku rekord opisujący parametry i położenie pliku (lub katalogu). Jeżeli jest on nie wystarczający do opisu położenia lub tzw. atrybutów rozszerzonych, na dysku tworzone są dodatkowe struktury pomocnicze.

Zawartość katalogów jest posortowana, zapisywana w blokach o wielkości  2 KB, tworzących strukturę tzw. sterty (posortowanego, binarnego drzewa zrównoważonego). Znacznie przyspiesza to wyszukiwanie i dostęp do pliku, ale spowalnia tworzenie, kasowanie i zmianę nazwy – wymuszają one reorganizację struktury katalogu. HPFS umożliwia operowanie długimi nazwami (do 256 znaków), kompletem dat (utworzenia, ostatniej modyfikacji i ostatniego dostępu), prawami dostępu oraz tzw. atrybutami rozszerzonymi, mogącymi przechowywać dowolne informacje wykorzystywane przez system plików lub aplikację – takie jak np. ikona pliku czy położenie okna na ekranie. Gromadzone są też informacje statystyczne pozwalające na zoptymalizowanie pracy cache'a dyskowego.

W przeciwieństwie do FAT, HPFS definiuje nie tylko ułożenie danych na dysku, ale także sposób korzystania z niego – wbudowany cache, mechanizmy minimalizowania fragmentacji itp. Zdefiniowane są też mechanizmy ochrony przed uszkodzeniem: weryfikacja zapisu, hotfix (przenoszenie „na gorąco” zawartości uszkodzonych sektorów do obszaru rezerwowego), wbudowany CHKDSK, automatyczna kontrola struktury dysku w przypadku wykrycia nieprawidłowego zakończenia pracy systemu.

Specjalne identyfikatory kluczowych wewnętrznych struktur danych oraz dublowanie niektórych informacji w różnych strukturach (np. początkowych fragmentów nazw plików w katalogu i Fnode) umożliwiają natomiast automatyczne odtworzenie struktury dysku nawet w przypadkach ciężkich awarii.
 
NTFS (NT File System) - Windows NT
 
Ten system plików należy do podstawowych składników bezpieczeństwa Windows NT. Partycja NTFS rozpoczyna się klasycznym sektorem inicjującym. Nie jest to, jakby sugerowała nazwa, pojedynczy sektor, ale może być to nawet 16 pierwszych sektorów (zależnie od potrzeb systemu).

Po sektorze inicjującym występuje tzw. nadrzędna tabela plików (MFT – Master File Table), czyli po prostu indeks plików systemowych (ich nazwy zaczynają się od znaku "$"). W aktualnej wersji systemu NT na pliki systemowe wymienione w MFT składają się:

  • kopia MFT;
  • plik logów;
  • informacje o wolumenie (w tym etykieta wolumenu i numer wersji NTFS);
  • tablica definicji atrybutów (nazwy, numery identyfikacyjne, objaśnienia);
  • katalog główny;
  • mapa bitowa klastrów (opis zajętości partycji);
  • kopia boot sektora partycji;
  • tabela uszkodzonych klastrów; 
  • tabela konwersji małych liter na duże odpowiedniki Unicode.  

Poza tym tabela MFT zawiera 6 wolnych pozycji (zapisów), które mogą zostać wykorzystane w przyszłości. Jak można wywnioskować na podstawie budowy MFT system NTFS podobnie jak FAT opiera się na klastrach. Jednak rozmiar klastra ustalamy tutaj dość swobodnie – od 0,5 KB do 64 KB. W podanym przy FAT przykładzie (partycja 2 GB) domyślny rozmiar klastra wynosi 4 KB – czyli 8 razy mniej niż w poprzednim przypadku FAT.

Oprócz zaawansowanego, elastycznego systemu bezpieczeństwa jedną z bardziej interesujących cech NTFS jest mechanizm kompresji „w locie”. Jednak w odróżnieniu od rozwiązań typu DriveSpace (dla VFAT) możemy kompresować nie tylko całe wolumeny, ale nawet w standardowo niekompresowanym wolumenie pojedyncze pliki lub katalogi.

To, czy dany element ma być kompresowany ustala się za pomocą klasycznego ustalania atrybutów (w ten sam sposób jak ustala się atrybut „tylko – do – odczytu” czy też „ukryty”). Jedynym ograniczeniem kompresji NTFS jest to, że rozmiar klastra nie może być większy niż 4 KB.

 
« poprzedni artykuł