| HPFS |
|
|
|
| 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. 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. 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ę:
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ł |
|---|