kreśla to, jak informacje są zapisywane i

Transkrypt

kreśla to, jak informacje są zapisywane i
kreśla to, jak informacje są zapisywane i odczytywane. System plików definiuje także wielkość
klastrów, możliwe do użycia atrybuty plików oraz schemat poprawnych nazw plików i katalogów ich długość (por. 8.3, długie nazwy plików) i dopuszczalne znaki w nazwach. Najpopularniejsze
systemy plików to FAT16 (stosowany w MS-DOS, Windows 9x i Windows NT), FAT32
(Windows 95 OSR2 i Windows 98) oraz NTFS (Windows NT). Jedynym wspólnym systemem
plików wszystkich wersji Windows i MS-DOS jest FAT16. Inne popularne systemy plików to:
HPFS, CDFS i VFAT.
Wielkości klastrów w różnych systemach plików
Rozmiar partycji
FAT16
0 - 32
MB
0,5 kB
33 - 64
MB
1 kB
65 - 127
MB
2 kB
128 - 255
MB
4 kB
256 - 511
MB
8 kB
512 - 1023
MB
16 kB
1-2
GB
32 kB
2-4
GB
64 kB
4-8
GB
8 - 16
GB
16 - 32
GB
pow 32
GB
-
FAT32
4 kB
4 kB
4 kB
4 kB
8 kB
16 kB
32 kB
NTFS
0,5 kB
0,5 kB
0,5 kB
0,5 kB
0,5 kB
1 kB
2 kB
4 kB
8 kB
16 kB
32 kB
64 kB
FAT
Dysk twardy podzielony jest na niewielkie fragmenty, zwane jednostkami alokacji lub klastrami.
Ponieważ jednostka alokacji jest wartością logiczną, a nie fizyczną (nie znajduje się ona fizycznie
na dysku), jej rozmiar można różnie zdefiniować w zakresie od 512 bajtów do 64 kilobajtów
(Windows NT pozwala tworzyć nietypowe klastry o wielkości 256 kB). Każdy znajdujący się na
dysku twardym plik zajmuje jeden bądź więcej klastrów, ale w jednym klastrze może znajdować się
tylko jeden plik (lub jego część). Gdy rozmiar pliku jest mniejszy niż rozmiar klastra,
niewykorzystane miejsce marnuje się, zatem dlatego im mniejsze jednostki alokacji, tym bardziej
ekonomicznie wykorzystane jest miejsce na dysku. Maksymalna liczba jednostek alokacji na dysku
jest jednak ograniczona przez system plików.
FAT (File Allocation Table – tablica alokacji plików) jest to tablica opisująca, w których klastrach
dysku twardego lub dyskietki magnetycznej system operacyjny ma szukać każdego z zapisanych na
nim plików. FAT jest tworzony podczas formatowania nośnika danych. Podczas zapisu pliku
informacje o nim są automatycznie zachowywane w tablicy FAT. Potocznie przez FAT rozumie się
FAT16 lub FAT32.
FAT16
FAT16 jest odmianą systemu plików FAT, z którego może korzystać MS-DOS i Windows.
Pierwsze pecety pracujące pod systemem DOS miały architekturę 16-bitową. Oznaczało to, że ich
system plików mógł opisać tylko 216, czyli 65 535 klastrów. Początkowo klastry były rozmiarowo
równe fizycznym sektorom dysku twardego (512 bajtów), ale szybko okazało się, że w ten sposób
można opisać pojemność tylko 32 MB. Większy dysk twardy trzeba było dzielić na partycje. W
związku z tym postanowiono zwiększyć rozmiary jednostek alokacji. Problem zaczął się, gdy dyski
przekroczyły rozmiar gigabajta, a jednostki alokacji rozrosły się aż do 32 kilobajtów. Przy tak dużej
jednostce alokacji notatka o wielkości dwóch kilobajtów zmarnuje 30 kilobajtów miejsca. Plików
tej wielkości na dysku może być tysiące, co prowadzi do dużych strat pojemności. FAT16 miał
jeszcze jedno poważne ograniczenie – obsługiwał partycje tylko do wielkości 2,1 gigabajta.
Konieczne stało się opracowanie nowego, lepszego systemu plików – i tak powstał FAT32.
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 48bitowego 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.

Podobne dokumenty