Temat: System plików NTFS. Wady i zalety. Master File Table Klastry na dysku mają przyprządkwane klejne numery pcząwszy d 0 (Lgical Cluster Numbers - LCN). Klastry każdeg strumienia danych są pdbnie pnumerwane (Virtual Cluster Numbers - VCN). Master File Table jest plikiem zawierającym infrmacje atrybutach plików i ich płżeniu (mapwaniu VCN na LCN). MFT składa się z rekrdów p 1 KB - jeden lub więcej na plik. Każdy rekrd zawiera następujące p sbie atrybuty. Atrybut zaczyna się nagłówkiem. Jeśli dane atrybutu są niewielkie, umieszczane są p nagłówku (atrybut jest resident). Gdy danych jest więcej, alkwane są dla nich klastry pza MFT (atrybut nnresident). Atrybuty nnresident mają w nagłówku wypisane klastry, w których zstały umieszczne ich dane: Mapwanie VCN na LCN jest zapisane w seriach. Każda seria t numer klastra na dysku (LCN), dpwiadająceg mu numeru klastra danych (VCN), raz liczba klejnych klastrów należących d serii gdy w rekrdzie pliku w MFT zabraknie miejsca na nagłówki atrybutów, dla pliku zstają przydzielne ddatkwe rekrdy w MFT, a w rekrdzie bazwym zstaje załżny nwy atrybut: $ATTRIBUTE_LIST. Zawiera n listę pzstaych atrybutów pliku raz infrmację ich płżeniu w innych rekrdach MFT. Pnieważ $Mft jest takim samym plikem jak inne, t mże zstać pfragmentwany. Aby temu zapbiec NTFS definiuje MFT-Zne - bszar dysku wkł pliku $Mft, przeznaczny na jeg pwiększenie. Klastry z MFT-Zne mgą zstać zaalkwane na inne pliki tylk wtedy, gdy na dysku zaczyna brakwać miejsca. Pliki skmpreswane Plik pdlegający autmatycznej kmpresji dzielny jest na 16-klastrwe kawałki. Każdy kawałek kmpreswany jest ddzielnie. Jeśli skmpresuje się n d mniej niż 16 klastrów jest zapisywany skmpreswany, wpw. jest zapisany rzkmpreswany. Przykład pliku skmpreswaneg: Pliki rzadkie i małe 1
Pliki w systemie NTFS mgą mieć zaalkwanych mniej klastrów, niż wynikałby t z ich rzmiaru. Niezaalkwane klastry mają swje numery wirtualne (VCN), ale nie mają numerów lgicznych (LCN). Przy dczycie są traktwane jak zawierające same zera. Przy zapisie, w niewidczny dla użytkwnika spsób, alkwane są dla nich klastry lgiczne. Jeśli plik jest dstatecznie mały, żeby jeg atrybut $DATA zmieścił się w rekrdzie w MFT, t nie są dla nieg alkwane żadne ddatkwe klastry. Oszczędza się w ten spsób miejsce i zwiększa szybkść dstępu d pliku. Katalgi Katalgi trzymają infrmacje plikach w nich zawartych w atrybucie $INDEX_ROOT. Oprócz refernecji d rekrdów plików w MFT są tam też częst używane atrybuty plików, zduplikwane z MFT: nazwy plików, czasy utwrzenia, stanieg dstępu i mdyfikacji, wielkść pliku. Referencje d plików w MFT są 64-bitwymi liczbami: 48 bitów t numer rekrdu pliku w MFT, 16 bitów t licznik wykrzystywany d sprawdzania spójnści danych, zwiększany za każdym rzazem, gdy rekrd zstaje użyty na nwy plik. Małe katalgi Małe katalgi, pdbnie jak małe pliki, mgą być zawarte całkwicie w swim rekrdzie w MFT. Duże katalgi Pliki w dużych katalgach są indekswane i srtwane p nazwie. Indeksy są zaimplementwane jak B+ - drzewa, z krzeniem umieszcznym w atrybucie $INDEX_ROOT. Klejne węzły drzewa (index-buffers) są alkwane w razie kniecznści, a ich płżenie jest zapisywane w atrybucie $INDEX_ALLOCATION. Ddatkwy atrybut $BITMAP kreśla które klastry w węzłach drzewa są jeszcze wlne. Jurnal 2
Jedną z najważniejszych cech systemu plików NTFS jest jeg niezawdnść. Jedynym spsbem na rzspójnienie g jest uszkdzenie dysku. Niezawdnść ta jest zapewnina przez zastswanie juralling-u. System NTFS chrania w ten spsób tylk metadane definiujące strukturę wluminu raz prawa dstępu. Dane w plikach nie pdlegają jurnalling-wi i mgą być stracne np. w przypadku utraty zasilania. Transakcje Wszystkie zmiany struktury wluminu, np.: zmiana drzewa katalgów, utwrzenie pliku, zmiana rzmiaru pliku, rganizwane są w transakcje. Transakcje mgą składać się z pewnej liczby pdperacji, a zakńczne są zawsze peracją cmmit. NTFS gwarantuje wyknanie całych transakcji atmw. Zasada działania jurnala Aby jurnal był wiarygdny zapis danych musi się dbywać dpwiedniej klejnści: 1. NTFS zapisuje transakcję w kpii lg'a w pamięci. 2. NTFS mdyfikuje wlumin w pamięci. 3. Cache manager zapisuje lg na dysk. 4. Cache manager zapisuje mdyfikacje wluminu na dysk. Dzięki temu plik jurnalla zawsze wyprzedza faktyczną mdyfikację struktury wluminu. Pnadt driver NTFS c kilka sekund zapisuje d lg'a tablice niedkńcznych transakcji i niezaaplikwanych pdperacji, raz tzw. checkpint recrd zawierający ich płżenie i infrmacje tym, jak dalek w lg'u trzeba się wrócić aby rzpcząć przywracanie spójnści. Uprawnienia d plików W systemie NTFS każdy plik i katalg ma przypisany Deskryptr Uprawnień, pisujący uprawnienia d nieg dla pszczególnych użytkwników. Deskryptry te są zapisane w atrybucie $SDS pliku $Secure. Plik $Secure ma również atrybut $SII zawierający indeks deskryptrów według ich numerów, raz atrybut $SDH zawierający indeks deskryptrów według ich hash'a. 3
Pdczas dstępu d pliku w celu znalezienia dpwiednieg deskryptra używany jest numer deskryptra z atrybutu $STANDARD_INFORMATION pliku w płączeniu z indeksem $SII. Pdczas ustawiania deskryptra dla pliku używany jest indeks $SDH w celu wyeliminwania identycznych deskryptrów w tablicy $SDS. Zalety NTFS w stsunku d FAT32: tzw. quta - czyli graniczenie przestrzeni dyskwej dla daneg użytkwnika; znany standard ze systemów Unix'wych zabezpieczenia dstępu szyfrwanie -d nich ma dstęp jedynie szyfrujący, bądź ktś kt ma dpwiedni klucz prgramwy rzmiar klastra - w przypadku gdy mamy na dysku małe pliki (np. wielkści 1-5 KB) i w skrajnym przypadku gdy mamy np. klaster wielkści 16 KB a pliki zajmują p 1-2 KB t na każdym klastrze tracimy d 14 d 15 KB. Nie jest t duż ale przy 6000 tysiącach plików wyszł mi straty 88 MB. jurnaling - jest t chyba największa zaleta NTFS'a. System dzięki temu na bieżąc zapisuje wszelkie infrmacje kpiwaniu (bądź przenszeniu) i innych peracjach na danych. W mmencie startu systemu sprawdzany jest dziennik jurnal i t czy wszystkie peracje zstały zakńczne. Jeśli nie t wszystkie są pwtarzane lub dkańczane. Dla prównania mają g jedynie najnwsze systemy plików takie jak ext3 czy reiserfs (pd linuxa) raz befs (BeOS). Windws 2000 czy XP czasami się zawiesi, lub jeśli zdarzy się nam że wyłączą nam prąd w elektrwni, lub nam wywali krki. I akurat wtedy gdy pracwaliśmy w jakimś ważnym prgramie. W przypadku NTFS plik zstanie uratwany (i d teg nawet bez naszej wiedzy), natmiast w FAT32 nie dść że będziemy mieli pdczas startu systemu chkdsk t jeszcze nie jest pewne że uda nam się g uratwać. Jest t zdecydwana zaleta teg systemu plików, która pwinna zdecydwanie przeważyć szalę na jeg krzyść, czywiście dla tych dla których bezpieczeństw jest na tyle ważne. ilść bsługiwanych klastrów - standardw partycja na FAT32 mże mieć maksymalnie wielkść 8,4 GB. Jednak nasz dbry Micrsft zrbił rzszerzenie (tzw. bsługa dużych dysków twardych) i dzięki temu mamy FAT32x, który niec naciąga te standardy. dwie kpie MFT - system autmatycznie rbi dwie(lub więcej, w zależnśći d wielkści dysku) kpii tej tablicy w celu zwiększenia bezpieczeństwa hard links - technlgia pzwalająca dwóm różnym nazwm plików, znajdujących się w różnych katalgach, wskazywać na te same dane. Minusy NTFS'a : rzmiar klastra - t c przedtem był plusem (chć małym) teraz jest DUŻYM minusem. Właśnie przez t że NTFS ma standardwy klaster wielkści 512 B lub 1 KB, MFT (Meta File Table) rzrasta się d grmnych rzmiarów, czasami nawet zajmuje 100 MB (jest t skrajny przypadek ale mżliwy). I przez t system musi cache'wać aż tyle danych, c w knsekwencji sprwadza się d wlniejszej pracy. Wynika z teg że najszybszy będzie tutaj FAT16 z 64 KB klasterem, ale jest t już astrnmiczna wielkść, i straty są wtedy grmne. Wynika z teg również że TEORETYCZNIE FAT32 pwinien być szybszy w dczycie dużych plików (później t balę). 4
zabezpieczenia dstępu - też są plusem, ale jak wszyscy wiemy w mmencie żądania dczytu pliku na partycji NTFS system musi sprawdzać zabezpieczenia (c jest jednak pewnym prcesem zajmującym cenny czas) i niec spwalnia system kmpatybilnść - jak wiadm NTFS jest niemżliwy (w standardwy spsób) d dczytania w starszych systemach z rdziny DOS'a. Jest t klejna bariera, d bejścia chć nie dla każdeg. FAT32 wypada tutaj lepiej gdyż mżliwść jeg czytania systemu mają wbudwane pcząwszy d Win95 OS2, (niewiadm tylk dlaczeg NT4.0 nie mógł g czytać, skr zstał wydany mniej więcej w czasie Win98 OS2, chć później w klejnych Service Pack'ach bsługa teg systemu zstała ddana) dwie kpie MFT - znwu plus jak minus, niestety wymaga t znów cenneg miejsca Według danych statystycznych system NTFS jest zalecany dla nśników pjemnści pnad 400 MB. Craz większe dyski nie pwdują bwiem spadku wydajnści. W przypadku niewielkich dysków NTFS nie jest ptymalny, gdyż spr przestrzeni nśnika wykrzystuje się d rganizacji systemu plików. Na przykład na partycji 100 MB będzie d teg celu ptrzebnych 4 MB Prównanie płżenia danych na partycjach. Spsób na uniknięcie fragmentacji MFT: Instalujemy prgramy i gry, których mamy zamiar używać. Uruchamiamy wiersz pleceń (Start - Uruchm - wpisz "cmd") i wpisujemy klejn plecenia: - C: - lub inna litera partycji, którą chcemy zabezpieczyć przed fragmentacją MFT - md s - twrzy katalg s - cd s - twiera katalg s - FOR /L %f in (1,1,20000) d ech Hey > %f - twrzy 20000 plików, które nie zawierają danych, ich jedynym zadaniem jest utwrzenie nwych 20000 rekrdów w MFT. Będzie t ddatkwy grmny bufr, który pwinien uchrnić MFT przed fragmentacją, nawet jeżeli pdzielny zstanie MFT Zne 5
- del *.* /q - kasuje wszystkie utwrzne pliki, spełniły ne już swje zadanie, bufr wewnątrz MFT zstał utwrzny - cd.. - cfamy się jeden pzim w strukturze katalgów - rd s - usuwamy katalg s Plecenie "cnvert c: /fs:ntfs" ma za zadanie w bezblesny spsób pzwlić użytkwnikm Windws zmienić FAT32 na NTFS. Prblem plega na tym, że jest n bardz mał efektywne. Użyte bez ddatkwych parametrów zapisuje MFT nie w ciągu klastrów, ale tam gdzie się zmieści. Z teg pwdu mże pwstać fragmentacja MFT, c bardz negatywnie wpłynie na wydajnść partycji. Pza tym MFT nie jest zapisany p 1/3 pwierzchni partycji, więc mamy d czynienia z klejnym spadkiem wydajnści. Jest t zatem klejny pwód, który spwdwał, że NTFS jest uważany za wlniejszy d FAT32. Najlepszym rzwiązaniem będzie pbranie demnstracyjnej wersji Perfect Disc 7 i użycie "ffline defragmentatin". Opcja ta pzwli na scalenie i umieszczenie MFT, MFT Zne i Metadaty w dpwiednim miejscu na partycji 6