Przedstaw strukturę zapisu danych na dysku twardym dla systemu plików NTFS i FAT32.

Odpowiedź :

FAT32

FAT32 jest kolejną odmianą systemu plików FAT, z którego mogą korzystać systemy operacyjne Windows 95 OSR 2, Windows 98 oraz ich nowsze wersje. FAT32 może rozpoznać 232 (czyli 4 294 967 296) adresów jednostek alokacji, dzięki czemu obsługuje dyski twarde do wielkości dwóch terabajtów (dwóch tysięcy gigabajtów). Dla partycji o rozmiarach poniżej 8 GB jednostka alokacji ma wielkość tylko 4 kB, dzięki czemu nie ma dużych strat pojemności. FAT32 wymaga partycji o minimalnych rozmiarach 512 MB. Jednak FAT32 ma też wady – na razie nie można kompresować dysków z takim systemem plików, a także wiele systemów operacyjnych nie rozpoznaje FAT32 (np. Windows NT czy MS-DOS) – przez co nie może go stosować ani odczytać danych na nim zapisanych.
Poza standardowymi systemami plików jest również wykorzystywany wirtualny system plików działający w systemach Windows 9x oraz w Windows NT. W jego określeniu używana jest nazwa wirtualny, ponieważ VFAT jest tylko rozszerzeniem systemu plików FAT (Virtual FAT – wirtualny FAT). Jego dodatkowe możliwości to: obsługa długich nazw plików, wykorzystywanie VCACHE
i lepsza wydajność (szybkość).

NTFS

Budowa wewnętrzna: podstawową jednostką systemu NTFS jest wolumin. Wolumin jest tworzony przez program administrowania dyskiem systemu NT; u jego podstaw leży logiczny podział dysku. Wolumin może zajmować część dysku lub cały dysk, może też rozciągać się na kilka dysków. System NTFS nie ma do czynienia z poszczególnymi sektorami dysku. Zamiast nich używa klastrów. System NTFS używa w charakterze adresów dyskowych logicznych numerów klastrów (LCN). Przypisuje je poprzez ponumerowanie klastrów od począdku dysku do jego końca. Za pomocą tego schematu system może wyliczyć fizyczną odległość na dysku (w bajtach), mnożąc numer LCN przez wielkość klastra. Plik w systemie NTFS nie jest zwyczajnym strumieniem bajtów, lecz jest obiektem strukturalnym złożonym z atrybutów. Każdy atrybut jest niezależnym strumieniem bajtów, który podlega tworzeniu , usuwaniu, itp.. Niektóre atrybuty są standardowe dla wszystkich plików, wliczając w to nazwę pliku, czas jego utworzenia, itp. Większość tradycyjnych plików danych ma beznazwowy atrybut danych, mieszczący wszystkie dane pliku. Każdy plik w systemie NTFS jest opisany przez jeden lub więcej rekordów przechowywanych w specjalnym pliku o nazwie główna tablica plików (master file table - MFT). Rozmiar rekordu jest określony podczas tworzenia systemu plików i waha się w granicach od 1 do 4 KB. Małe atrybuty przechowuje się w samym rekordzie MFT i nazywa rezydentnymi. Wielkie atrybuty, takie jak nienazwana masa danych - określone mianem nierezydentnych - są przechowywane w jednym lub większej liczbie ciągłych rozszerzeń na dysku, do których wskaźniki przechowuje się w rekordzie MFT. W przypadku małych plików w rekordzie MFT może się zmieścić nawet atrybut danych. Jeżeli plik ma wiele atrybutów lub jeśli jest on mocno pofragmentowany i wymaga zapamiętania wielu wskaźników pokazujących wszystkie jej części, to jeden rekord w tablicy MFT może okazać się za mały. W tym przypadku plik jest opisany przez rekord o nazwie: podstawowy rekord pliku (base file record), który zawiera wskaźniki do rekordów nadmiarowych, przechowujących pozostałe wskaźniki i atrybuty. Każdy plik w woluminie systemu NTFS ma niepowtarzalny identyfikator zwany odsyłaczem do pliku. Odsyłacz do pliku jest wielkością 64-bitową, składającą się z 48-bitowego numeru pliku i 16-bitowego numeru kolejnego. Numer pliku jest numerem rekordu w strukturze MFT opisującej plik. Numer kolejny jest zwiększany za każdym razem, gdy następuje powtórne użycie w tablicy MFT. Zwiększenie to umożliwia systemowi NTFS wykonywanie wewnętrznej kontroli spójności - na przykład wyłapywanie nieaktualnych odwołań do usuniętego pliku po użyciu wpisu MFT na nowy plik. Każdy katalog stosuje strukturę danych zwaną B+-drzewem, w którym zapamiętuje indeks swoich nazw plików. Każdy wpis w katalogu zawiera nazwę pliku i odsyłacz do niego oraz kopię znacznika czasu uaktualnienia i rozmiaru pliku - pobranej z atrybutów pliku rezydujących w tablicy MFT. Kopie tych informacji są przechowywane w katalogu, co przyspiesza wyprowadzanie jego zawartości - nazwy wszystkich plików , i ich rozmiary i czasy uaktualnień są obecne w samym katalogu, więc nie potrzeba ich zbierać na podstawie wpisów w tablicy MFT każdego z plików. Wszystkie metadane woluminu systemu NTFS są przechowywane w plikach. Pierwszym z takich plików jest jest tablica MFT. Drugi plik, używany do działań naprawczych w przypadku uszkodzenia tablicy MFT, zawiera kopię pierwszych szesnastu pozycji tablicy MFT. Oprócz tego istnieje jeszcze kilka innych specjalnych plików.