Charakterystyka systemu plików fat. gruby system plików. Opis systemu plików FAT16

Przed pojawieniem się systemu operacyjnego Microsoft Windows Użytkownicy komputerów osobistych z systemem NT rzadko mieli problem z wyborem systemu plików. Wszyscy właściciele systemów operacyjnych (OS) MS-DOS i Microsoft Windows używali jednej z odmian systemu plików o nazwie FAT (FAT-12, FAT-16 lub FAT-32).

Teraz sytuacja się zmieniła. Podczas instalacji systemu operacyjnego Microsoft Windows NT/2000/XP podczas formatowania dysku należy wybrać pomiędzy trzema systemami plików - FAT-16, FAT-32 lub NTFS.

W tym artykule porozmawiamy o układ wewnętrzny wymienionych systemów plików, rozważ ich nieodłączne wady i zalety. Uzbrojony w tę wiedzę, będziesz mógł dokonać świadomego wyboru na rzecz określonego systemu plików dla Microsoft Windows.

Krótko o systemie plików FAT

System plików FAT pojawił się u zarania rozwoju komputerów osobistych i pierwotnie był przeznaczony do przechowywania plików na dyskietkach.

Informacje są przechowywane na dyskach i dyskietkach w porcjach, w sektorach po 512 bajtów. Cała przestrzeń dyskietki została podzielona na regiony o stałej długości, zwane klastrami. Klaster może zawierać jeden lub więcej sektorów.

Każdy plik zajmuje jeden lub więcej klastrów, prawdopodobnie nieciągłych. Nazwy plików i inne informacje o plikach, takie jak rozmiar i data utworzenia, znajdują się w początkowym obszarze dyskietki przeznaczonym na katalog główny.

Oprócz katalogu głównego w systemie plików FAT można tworzyć inne katalogi. Razem z katalogiem głównym tworzą drzewo katalogów zawierające informacje o plikach i katalogach. Jeśli chodzi o lokalizację klastrów plików na dysku, informacje te są przechowywane w początkowym obszarze dyskietki, zwanym tabelą alokacji plików (File Allocation Table, FAT).

Dla każdego klastra tabela FAT ma swoją własną komórkę, w której przechowywane są informacje o sposobie wykorzystania tego klastra. Zatem tablica alokacji plików jest tablicą zawierającą informacje o klastrach. Rozmiar tej tablicy jest określony przez całkowitą liczbę klastrów na dysku.

Katalog przechowuje numer pierwszego klastra przydzielonego do pliku lub podkatalogu. Liczby pozostałych klastrów można znaleźć za pomocą tabeli alokacji plików FAT.

Podczas opracowywania formatu tabeli FAT zadaniem było zaoszczędzenie miejsca, ponieważ Dyskietka ma bardzo mały rozmiar (od 180 KB do 2,44 MB). Dlatego do przechowywania numerów klastrów przydzielono tylko 12 cyfr binarnych. W rezultacie tablica FAT była upakowana tak ciasno, że zajmowała tylko jeden sektor dyskietki.

Tabela FAT zawiera krytyczne informacje o lokalizacji katalogów i plików. Jeśli tablica FAT ulegnie uszkodzeniu w wyniku awarii sprzętu, oprogramowania lub złośliwego oprogramowania, dostęp do plików i katalogów zostanie utracony. Dlatego dla bezpieczeństwa na dysku tworzone są zazwyczaj dwie kopie tablicy FAT.

Różne wersje FAT

Po pojawieniu się dysków twardych o dużej pojemności (w tamtych czasach dyski o rozmiarze 10-20 MB uważano za duże) liczba klastrów wzrosła, a 12 bitów nie wystarczało do przechowywania ich numerów. Opracowano nowy 16-bitowy format tablicy alokacji plików, w którym przydzielono dwa bajty do przechowywania numeru jednego klastra. Stary system plików przeznaczony dla dyskietek stał się znany jako FAT-12, a nowy stał się FAT-16.

Powiększona tabela FAT-16 nie mieści się już w jednym sektorze, jednak przy dużych woluminach dysku ta wada nie odgrywała znaczącej roli. Tak jak poprzednio, dla ubezpieczenia, na dysku przechowywano dwie kopie tabeli FAT.

Kiedy jednak objętość dysku zaczęto mierzyć w setkach MB, a nawet w gigabajtach, system plików FAT-16 ponownie stał się niewydajny. Aby numery klastrów mieściły się w 16 cyfrach, podczas formatowania dużych dysków należy zwiększyć rozmiar klastra do 16 KB lub nawet więcej. Powodowało to problemy, gdy potrzebna była pamięć dyskowa duża liczba małe pliki. Ponieważ miejsce do przechowywania plików jest przydzielane w klastrach, nawet bardzo mały plik musi zajmować zbyt dużo miejsca na dysku.

W rezultacie podjęto kolejną, jak się wydaje, ostatnią próbę ulepszenia systemu plików FAT - zwiększono rozmiar komórek tabeli alokacji plików do 32. Umożliwiło to formatowanie dysków o pojemności setek MB i jednostek GB przy użyciu stosunkowo mały rozmiar klastra. Nowy system plików stał się znany jako FAT-32.

Norma 8.3

Przed pojawieniem się systemu Microsoft Windows 95 użytkownicy komputerów osobistych byli zmuszeni używać bardzo niewygodnego „standardu 8.3” do nazywania plików, w którym nazwa pliku musiała składać się z 8 znaków plus 3 znaki rozszerzenia. Ograniczenie to zostało narzucone nie tylko przez interfejs programistyczny systemu operacyjnego MS-DOS, ale także przez strukturę wpisów katalogów systemu plików FAT.

Po zmodyfikowaniu struktury wpisów w katalogu praktycznie zniesiono ograniczenie liczby znaków w nazwie pliku. Nazwa pliku może mieć teraz do 255 znaków, co w większości przypadków jest oczywiście wystarczające. Jednak ten zmodyfikowany system plików FAT stał się niekompatybilny z systemem operacyjnym MS-DOS, a także z działającą w jego środowisku powłoką Microsoft Windows w wersji 3.1 i 3.11.

Możesz przeczytać więcej o formatach wewnętrznych struktur FAT w naszym artykule „Odzyskiwanie danych w partycjach FAT” opublikowanym na tej stronie.

Ograniczenia systemu plików FAT

Decydując się na użycie systemu plików FAT do sformatowania dysku, należy zdawać sobie sprawę z jego nieodłącznych ograniczeń. Ograniczenia te dotyczą przede wszystkim maksymalnego rozmiaru dysku FAT, a także maksymalnego rozmiaru pliku znajdującego się na tym dysku.

Maksymalny rozmiar dysku logicznego FAT-16 to 4 GB, co według współczesnych standardów jest bardzo małe. Microsoft jednak nie zaleca tworzenia dysków FAT-16 większych niż 200 MB, ponieważ w ten sposób miejsce na dysku będzie wykorzystywane bardzo nieefektywnie.

Teoretycznie maksymalny rozmiar dysku FAT-32 może wynosić 8 TB, co powinno wystarczyć do wdrożenia dowolnych nowoczesnych aplikacji. Ta wartość jest uzyskiwana przez pomnożenie maksymalnej liczby klastrów (268 435 445) przez maksymalny rozmiar klastra dozwolony w FAT-32 (32 KB).

Jednak w praktyce sytuacja wygląda trochę inaczej.

Ze względu na ograniczenia wewnętrzne narzędzie ScanDisk w systemie Microsoft 95/98 nie może pracować z dyskami większymi niż 127,53 GB. Rok temu takie ograniczenie nie sprawiałoby problemów, ale dziś na rynku pojawiły się już niedrogie dyski 160 GB, a wkrótce ich wolumen będzie jeszcze większy.

Jeśli chodzi o nowe systemy operacyjne Microsoft Windows 2000/XP, nie mogą one tworzyć partycji FAT-32 większych niż 32 GB. Jeśli potrzebujesz partycji o takim lub większym rozmiarze, firma Microsoft zasugeruje użycie systemu plików NTFS.

Kolejnym istotnym ograniczeniem FAT-32 jest rozmiar plików - nie może on przekraczać 4 GB. To ograniczenie będzie miało wpływ na przykład podczas nagrywania klipów wideo na dysk lub podczas tworzenia dużych plików bazy danych.

W katalogu FAT-32 można przechowywać maksymalnie 65534 plików.

Wady FAT

Oprócz ograniczeń omówionych powyżej, system plików FAT ma inne wady. Najważniejszy wydaje się być kompletna nieobecnośćśrodki kontroli dostępu, a także możliwość utraty informacji o lokalizacji wszystkich plików po zniszczeniu dość zwartej tablicy FAT i jej kopii.

Uruchamiając komputer z dyskietki systemowej, osoba atakująca może łatwo uzyskać dostęp do dowolnych plików przechowywanych na dyskach z systemem plików FAT. Nie będzie mu wtedy trudno skopiować te pliki na urządzenie ZIP lub inny zewnętrzny nośnik pamięci.

W przypadku stosowania FAT na dyskach serwera niemożliwe jest zapewnienie niezawodnego i elastycznego zróżnicowania dostępu użytkowników do katalogów. Z tego powodu, a także ze względu na niską tolerancję na uszkodzenia, FAT nie jest powszechnie stosowany na serwerach.

Obecność kompaktowych tablic alokacji plików FAT czyni ten system plików podatnym na ataki wirusów komputerowych - wystarczy zniszczyć początkowy fragment dysku FAT, a prawie wszystkie dane zostaną utracone.

System plików NTFS

Nowoczesny system plików NTFS, opracowany przez firmę Microsoft dla systemu operacyjnego Microsoft Windows NT, jest pozbawiony ograniczeń i wad FAT. Od samego początku powstający system plików NTFS przeszedł kilka ulepszeń, z których najnowsze (w chwili pisania tego tekstu) zostało wprowadzone w systemie Microsoft Windows XP.

W systemie plików NTFS wszystkie atrybuty plików (nazwa, rozmiar, położenie zakresu plików na dysku itp.) są przechowywane w ukrytym pliku systemowym $MFT. Do przechowywania informacji o każdym pliku (i katalogu) w $MFT przydzielono od jednego do kilku KB. Przy dużej liczbie plików przechowywanych na dysku rozmiar pliku $MFT może sięgać dziesiątek, a nawet setek MB.

Małe pliki (rzędu setek bajtów) są przechowywane bezpośrednio w $MFT, co znacznie przyspiesza dostęp do nich.

Należy jednak zauważyć, że narzut NTFS do przechowywania informacji systemowych, chociaż przekracza narzut FAT, nadal nie jest bardzo duży w porównaniu z objętością nowoczesnych dysków. Ze względu na to, że plik $MFT zazwyczaj znajduje się bliżej środka dysku, zniszczenie pierwszych ścieżek Dysk NTFS nie prowadzi do tak fatalnych konsekwencji, jak zniszczenie początkowych obszarów dysku FAT.

System plików NTFS ma wiele funkcji, których nie ma w FAT. Pozwalają osiągnąć znacznie większą elastyczność, niezawodność i bezpieczeństwo w porównaniu do FAT.

Wymieńmy niektóre z najciekawszych funkcji NTFS w nowoczesnych wersjach.

Narzędzia kontroli dostępu

Środki różnicowania dostęp NTFS są dość elastyczne i pozwalają zarządzać dostępem na poziomie poszczególnych plików i katalogów, przyznając (lub blokując) dostęp do nich poszczególnym użytkownikom lub grupom użytkowników.

Choć na pierwszy rzut oka może się wydawać, że narzędzia kontroli dostępu są potrzebne tylko serwerom plików, będą one również potrzebne, jeśli dostęp do komputera ma kilku użytkowników.

Szyfrowanie plików

Wspomniane powyżej narzędzia kontroli dostępu będą bezużyteczne, jeśli fizyczny dysk NTFS wpadnie w ręce atakującego. Korzystając z nowoczesnych narzędzi, zawartość takiego dysku można łatwo odczytać w dowolnym środowisku systemu operacyjnego - DOS, Microsoft Windows lub Linux.

W celu ochrony plików użytkownika przed nieautoryzowanym dostępem, systemy operacyjne Microsoft Windows 2000/XP zapewniają dodatkowe szyfrowanie plików przechowywanych na partycjach NTFS. I choć siła takiego szyfrowania może nie być bardzo wysoka, to w większości przypadków jest wystarczająca.

Oprogramowanie RAID

Za pomocą NTFS można utworzyć tak zwaną macierz programową RAID 1 (zestaw lustrzany). Ta tablica, składająca się z dwóch fizycznych lub dyski logiczne tego samego woluminu, umożliwia duplikowanie (lub, jak to się mówi, „lustrzane”) plików.

Taka macierz może uratować Twoje pliki w przypadku fizycznej awarii jednego z dysków tworzących macierz, dlatego często jest wykorzystywana do zwiększenia niezawodności systemu dyskowego.

Zestawy głośności

System plików NTFS umożliwia łączenie kilku partycji znajdujących się na jednym lub kilku dyskach fizycznych w jeden wolumin logiczny. Może to być konieczne na przykład do przechowywania dużych plików bazy danych, które nie mieszczą się na jednym dysku fizycznym, lub do utworzenia katalogu zawierającego łączną liczbę plików przekraczającą rozmiar dysku fizycznego.

Zestawy utworzone z kilku partycji lub dysków fizycznych nazywane są zestawami woluminów (w terminologii Microsoft Windows NT) lub woluminami łączonymi (w terminologii Windows 2000/XP).

Pakowanie plików

Aby zaoszczędzić miejsce na dysku, możesz użyć możliwości NTFS do spakowania (kompresowania) plików. Ponadto NTFS umożliwia tworzenie tak zwanych rzadkich (rzadkich) plików, które zawierają obszary pustych danych. Takie pliki mogą być duże, ale zajmują mało miejsca na dysku, ponieważ w rzeczywistości przechowywane są tylko znaczące bajty pliku.

Pamiętaj, że spakowanie plików spowoduje pewne spowolnienie. Okoliczność ta jednak nie zawsze będzie miała znaczenie. Na przykład dokumenty biurowe można pakować bez zauważalnego spadku szybkości, ale nie można tego powiedzieć o plikach baz danych, do których dostęp ma duża liczba użytkowników w tym samym czasie. Przy stosunkowo niedrogich dyskach o dużej pojemności dostępnych na rynku nośniki opakowaniowe powinny być używane tylko wtedy, gdy są naprawdę potrzebne. Dotyczy to jednak również innych funkcji NTFS.

Pliki wielowątkowe

W razie potrzeby kilka strumieni informacji można zapisać w jednym pliku zapisanym na dysku NTFS. Umożliwia to w szczególności uzupełnianie plików dokumentów o dodatkowe informacje, przechowywanie kilku wersji dokumentów w jednym pliku (np. w różnych językach), przechowywanie kodu programu i danych w oddzielnych strumieniach jednego pliku itp.

twarde więzi

Dowiązania twarde (dowiązania twarde) umożliwiają przypisanie kilku różnych nazw jednemu fizycznemu plikowi poprzez umieszczenie tych nazw (tj. dowiązań do pliku) w różnych katalogach. Usunięcie łącza nie powoduje usunięcia samego pliku. Tylko wtedy, gdy wszystkie łącza pliku zostaną zniszczone, sam plik zostanie usunięty.

Należy zauważyć, że takie funkcje są typowe dla systemów plików używanych w systemach operacyjnych typu Unix, na przykład w systemie Linux, FreeBSD itp.

Zastąp punkty

Obiekty systemu NTFS, takie jak punkty ponownej analizy, umożliwiają zastąpienie dowolnego pliku lub katalogu. W takim przypadku, na przykład, rzadko używane nadpisane pliki lub katalogi mogą być faktycznie przechowywane na taśmie magnetycznej i ładowane na dysk tylko wtedy, gdy jest to konieczne.

Przejścia

Korzystając z przejść NTFS, możesz zamontować inny dysk twardy lub dysk CD w katalogu napędu. Ta funkcja pierwotnie istniała w systemach plików systemów operacyjnych typu Unix.

Limit miejsca na dysku

System plików NTFS używany w systemach Microsoft Windows 2000/XP umożliwia cytowanie lub ograniczanie miejsca na dysku dostępnego dla użytkowników. Ta funkcja jest szczególnie przydatna podczas tworzenia serwerów plików.

Rejestrowanie zmian

W trakcie swojej pracy system operacyjny wykonuje różne akcje na plikach (tworzenie, modyfikacja, usuwanie). Wszystkie takie zmiany są przechowywane w specjalnym dzienniku tworzonym na woluminie NTFS i mogą być wykorzystywane przez programy do tworzenia kopii zapasowych, systemy indeksujące itp. Rejestrowanie zmian zwiększa niezawodność systemu plików, pozwalając w niektórych przypadkach na kontynuację pracy po niekrytycznych awariach systemu operacyjnego i sprzętu. Choć oczywiście najpoważniejsze awarie skutkują koniecznością odzyskania danych kopia zapasowa lub za pomocą specjalnych narzędzi do odzyskiwania danych.

Ograniczenia NTFS

Pomimo obfitości funkcji system plików NTFS ma również pewne ograniczenia. Jednak w większości przypadków nie odgrywają one znaczącej roli.

Maksymalny rozmiar dysku logicznego NTFS to około 18 446 744 TB, co oczywiście wystarczy dla wszystkich nowoczesnych aplikacji, jak również aplikacji, które pojawią się w niedalekiej przyszłości. Maksymalny rozmiar pliku jest jeszcze większy, więc to ograniczenie również nie jest znaczące.

Nie ma ograniczeń co do liczby plików przechowywanych w jednym katalogu NTFS, więc ma to również przewagę nad FAT.

Porównanie NTFS i FAT pod kątem szybkości dostępu do plików

Pod względem przyszłości, funkcjonalności, bezpieczeństwa i niezawodności NTFS znacznie wyprzedza FAT. Jednak porównanie wydajności tych systemów plików nie daje jednoznacznego wyniku, ponieważ wydajność zależy od wielu różnych czynników.

Ponieważ FAT jest znacznie prostszy w działaniu i wewnętrznej strukturze niż NTFS, prawdopodobnie będzie szybszy w przypadku małych katalogów. Jeśli jednak zawartość katalogu jest tak mała, że ​​mieści się w całości w jednym lub kilku wpisach pliku $ MFT lub odwrotnie, jeśli katalog jest bardzo duży, NTFS „wygra”.

Dłoń najprawdopodobniej trafi do NTFS podczas wyszukiwania nieistniejących plików lub katalogów (bo nie wymaga pełnego skanowania zawartości katalogu), podczas dostępu do małych plików (rzędu setek bajtów), a także w przypadku poważnej fragmentacji dysku.

Aby zwiększyć wydajność systemu NTFS, można zwiększyć rozmiar klastra, ale może to prowadzić do marnotrawstwa miejsca na dysku podczas przechowywania dużej liczby plików, które są większe niż 1-2 KB i wynoszą dziesiątki KB. Zwiększając rozmiar klastra do 64 KB, można uzyskać maksymalną poprawę wydajności, ale trzeba będzie zrezygnować z pakowania plików i korzystania z narzędzi do defragmentacji.

Pakowanie plików znajdujących się na małych dyskach (około 4 GB) może zwiększyć wydajność, podczas gdy kompresja dużych dysków może obniżyć wydajność. W każdym razie opakowanie spowoduje dodatkowe obciążenie procesora.

Więc co wybrać - FAT czy NTFS?

Jak widać, NTFS ma wiele zalet w porównaniu z FAT, a jego ograniczenia są w większości przypadków znikome. Jeśli masz do czynienia z wyborem systemu plików, rozważ najpierw użycie NTFS, a następnie FAT.

Jakie mogą być przeszkody w zamianie FAT na NTFS?

Najpoważniejszą przeszkodą jest konieczność korzystania z systemu Microsoft Windows NT/2000/XP. Ten system operacyjny wymaga co najmniej 64 MB do prawidłowego działania. pamięć o swobodnym dostępie oraz procesor o częstotliwości taktowania co najmniej 200-300 MHz. Wymagania te spełniają jednak nie tylko bardzo stare komputery, na których nie działają nowoczesne wersje Microsoft Windows.

Jeśli Twój komputer może działać pod kontrolą systemu Microsoft Windows 2000/XP, a nie masz ani jednej aplikacji przeznaczonej wyłącznie dla systemu Microsoft Windows 95/98/ME, zalecamy jak najszybsze przejście na nowy system operacyjny, zastępując ten FAT na NTFS.

Jednocześnie uzyskasz również zauważalny wzrost niezawodności pracy, ponieważ. po zainstalowaniu wszystkich niezbędnych dodatków Service Pack oraz poprawnych wersji sterowników urządzeń peryferyjnych system Microsoft Windows 2000/XP będzie działał bardzo stabilnie.

W niektórych przypadkach konieczne jest połączenie kilku systemów plików na jednym dysku fizycznym. Na przykład, jeśli twój komputer ma trzy systemy operacyjne Microsoft Windows ME, Microsoft Windows XP i Linux, możesz utworzyć trzy systemy plików - FAT, NTFS i Ext2FS. Pierwszy z nich będzie „widoczny” podczas pracy w systemach Microsoft Windows ME i Linux, drugi – tylko w systemie Microsoft Windows XP, a trzeci – tylko w systemie Linux (zwróć uwagę, że w systemie LINUX istnieje również możliwość dostępu do partycji NTFS).

Ale jeśli tworzysz serwer (plik, bazę danych lub WWW) oparty na Microsoft Window NT/2000/XP, to NTFS jest jedynym rozsądnym wyborem. Tylko w takim przypadku możliwe będzie osiągnięcie niezbędnej stabilności, niezawodności i bezpieczeństwa serwera.

Istnieje również powszechnie przyjęta (i naszym zdaniem błędna) opinia, że ​​użytkownikom komputerów domowych nie jest potrzebny ani system operacyjny Microsoft Windows NT/2000/XP, ani system plików NTFS.

Oczywiście, jeśli komputer jest używany wyłącznie do gier, ze względu na kompatybilność najlepiej jest zainstalować system Microsoft Windows 98/ME i sformatować dyski w FAT. Jeśli jednak pracujesz nie tylko w biurze, ale także w domu, lepiej skorzystać z nowoczesnych, profesjonalnych i niezawodnych rozwiązań. Pozwoli to w szczególności na zorganizowanie ochrony przed włamaniami na Twój komputer przez Internet, ograniczenie dostępu do katalogów i plików z krytycznymi danymi, a także zwiększy szanse na pomyślne odzyskanie informacji w przypadku różnego rodzaju awarii.

Wstęp

2.1 System FAT16

2.2 System FAT32

2.3 Porównanie FAT16 i FAT32

3.1 System NTFS

3.2 Porównanie NTFS i FAT32

Wniosek

Bibliografia

Wstęp

Obecnie na jednym dysku zapisywanych jest średnio kilkadziesiąt tysięcy plików. Jak zrozumieć całą tę różnorodność, aby dokładnie zaadresować plik? Celem systemu plików jest skuteczne rozwiązanie tego problemu.

System plików, z punktu widzenia użytkownika, to „przestrzeń”, w której umieszczane są pliki. A jako termin naukowy to sposób przechowywania i organizowania dostępu do danych na nośniku informacji lub jego sekcji. Obecność systemu plików pozwala określić nazwę pliku, w którym się znajduje. Ponieważ informacje są przechowywane głównie na dyskach na komputerach kompatybilnych z IBM PC, używane na nich systemy plików określają organizację danych na dyskach (dokładniej na dyskach logicznych). Przyjrzymy się systemowi plików FAT.

gruby system plików ntfs

1. Historia stworzenia i ogólna charakterystyka system plików FAT

System plików FAT (File Allocation Table) został opracowany przez Billa Gatesa i Marka McDonalda w 1977 roku i był pierwotnie używany w systemie operacyjnym 86-DOS. Aby zapewnić przenośność programów z systemu operacyjnego CP / M do 86-DOS, zachowano wcześniejsze ograniczenia dotyczące nazw plików. 86-DOS został później przejęty przez Microsoft i stał się podstawą dla MS-DOS 1.0, wydanego w sierpniu 1981 roku. FAT został zaprojektowany do pracy z dyskietkami mniejszymi niż 1 MB i początkowo nie obsługiwał dysków twardych. FAT obecnie obsługuje pliki i partycje o rozmiarze do 2 GB.

FAT używa następujących konwencji nazewnictwa plików:

nazwa musi zaczynać się od litery lub cyfry i może zawierać dowolny znak ASCII oprócz spacji i "/\ :; |=,^*?

Nazwa może mieć do 8 znaków, po których następuje kropka i opcjonalne rozszerzenie o długości do 3 znaków.

wielkość liter w nazwach plików nie jest rozróżniana i nie jest zachowywana.

Strukturę partycji FAT przedstawiono w tabeli 1.1 w bloku Ustawienia BIOS-u zawiera niezbędne informacje BIOS dotyczące właściwości fizycznych twardy dysk. System plików FAT nie może kontrolować każdego sektora osobno, więc łączy sąsiednie sektory w klastry. Zmniejsza to całkowitą liczbę jednostek pamięci, które musi śledzić system plików. Rozmiar klastra w systemie FAT jest potęgą dwójki i jest określany na podstawie rozmiaru woluminu podczas formatowania dysku (Tabela 1.2). Klaster to minimalna przestrzeń, jaką może zajmować plik. Powoduje to marnowanie miejsca na dysku. System operacyjny zawiera różne narzędzia (DoubleSpace, DriveSpace) przeznaczone do kompaktowania danych na dysku.

Patka. 1.1 - Struktura partycji FAT

Sektor rozruchowy Blok parametrów systemu BIOS (BPB) FATFAT (kopia) Obszar plików katalogu głównego

FAT ma swoją nazwę od tablicy alokacji plików o tej samej nazwie. Tabela alokacji plików przechowuje informacje o klastrach dysków logicznych. Każdy klaster w FAT ma osobny wpis, który pokazuje, czy jest wolny, zajęty plikami danych, czy też oznaczony jako zły (uszkodzony). Jeżeli klaster jest zajęty przez plik, to adres klastra zawierającego następną część pliku jest wskazany w odpowiednim wpisie w tablicy alokacji plików. Z tego powodu FAT jest nazywany systemem plików listy połączonej. Oryginalna wersja FAT, opracowana dla DOS 1.00, wykorzystywała 12-bitową tablicę alokacji plików i obsługiwała partycje o rozmiarze do 16 MB (w DOS można utworzyć maksymalnie dwie partycje FAT). Aby obsługiwać dyski twarde większe niż 32 MB, głębia bitowa FAT została zwiększona do 16 bitów, a rozmiar klastra do 64 sektorów (32 KB). Ponieważ każdemu klastrowi można przypisać unikalny 16-bitowy numer, FAT obsługuje maksymalnie 216, czyli 65536 klastrów na wolumin.

Tabela 1.2 — Rozmiary klastrów

Rozmiar partycjiRozmiar klastraTyp FAT< 16 Мб4 КбFAT1216 Мб - 127 Мб2 КбFAT16128 Мб - 255 Мб4 КбFAT16256 Мб - 511 Мб8 КбFAT16512 Мб - 1023 Мб16 КбFAT161 Гб - 2 Гб32 КбFAT16

Ponieważ rekord rozruchowy jest zbyt mały, aby zapisać algorytm wyszukiwania plików systemowych na dysku, pliki systemowe muszą znajdować się w określonej lokalizacji, aby rekord rozruchowy mógł je znaleźć. Stała pozycja plików systemowych na początku obszaru danych nakłada twarde ograniczenie na rozmiar katalogu głównego i tablicy alokacji plików. W rezultacie całkowita liczba plików i podkatalogów w katalogu głównym na dysku FAT jest ograniczona do 512.

Każdy plik i podkatalog w FAT ma 32-bajtowy wpis w katalogu, który zawiera nazwę pliku, jego atrybuty (archiwalny, ukryty, systemowy i tylko do odczytu). ), data i godzina utworzenia (lub dodania ostatnie zmiany), a także inne informacje (tab. 1.3).

Tabela 1.3 — Elementy katalogu

System plików FAT zawsze wypełnia wolne miejsce na dysku sekwencyjnie od początku do końca. Podczas tworzenia nowego pliku lub rozszerzania istniejącego szuka pierwszego wolnego klastra w tabeli alokacji plików. Jeśli w trakcie pracy niektóre pliki zostały usunięte, a inne zmieniły rozmiar, to powstałe puste klastry zostaną rozrzucone po całym dysku. Jeśli klastry zawierające dane pliku nie znajdują się w jednym rzędzie, oznacza to, że plik jest pofragmentowany. Mocno pofragmentowane pliki znacznie zmniejszają wydajność pracy, ponieważ głowice odczytu / zapisu podczas wyszukiwania następnego rekordu pliku będą musiały przemieszczać się z jednego obszaru dysku do drugiego. Systemy operacyjne obsługujące system FAT zwykle zawierają specjalne narzędzia do defragmentacji dysku zaprojektowane w celu poprawy wydajności operacji na plikach.

Inną wadą systemu FAT jest to, że jego wydajność w dużym stopniu zależy od liczby plików przechowywanych w jednym katalogu. Przy dużej ilości plików (około tysiąca) operacja odczytu listy plików w katalogu może zająć kilka minut. Wynika to z faktu, że w FAT katalog ma liniową nieuporządkowaną strukturę, a nazwy plików w katalogach są ułożone w kolejności ich tworzenia. W rezultacie im więcej wpisów w katalogu, tym wolniej działają programy, ponieważ podczas wyszukiwania pliku konieczne jest sekwencyjne przeglądanie wszystkich wpisów w katalogu. Ponieważ FAT został pierwotnie zaprojektowany dla systemu operacyjnego DOS dla jednego użytkownika, nie zapewnia przechowywania informacji, takich jak informacje o właścicielu lub uprawnienia dostępu do plików / katalogów.Jest to najpopularniejszy system plików i większość nowoczesnych systemów operacyjnych obsługuje go w pewnym stopniu lub inny. Ze względu na swoją wszechstronność, FAT może być używany na woluminach, które działają z różnymi systemami operacyjnymi.

Chociaż nie ma żadnych przeszkód w używaniu innego systemu plików podczas formatowania dyskietek, większość systemów operacyjnych używa FAT w celu zachowania zgodności. Można to częściowo wytłumaczyć faktem, że prosta struktura FAT wymaga mniej miejsca do przechowywania danych serwisowych niż inne systemy. Zalety innych systemów plików stają się zauważalne dopiero, gdy są używane na nośnikach większych niż 100 MB.

Należy zauważyć, że FAT to prosty system plików, który nie zapobiega uszkodzeniu plików w wyniku nieprawidłowego wyłączenia komputera. Systemy operacyjne obsługujące FAT zawierają specjalne narzędzia, które sprawdzają strukturę i korygują niespójności w systemie plików.

2. Charakterystyka systemów plików FAT16 i FAT32 oraz ich porównanie

.1 System FAT16

System plików FAT 16, który jest głównym systemem plików dla systemów operacyjnych DOS, Windows 95/98/Me, Windows NT/2000/XP i jest również obsługiwany przez większość innych systemów. FAT 16 to prosty system plików przeznaczony dla małych dysków i prostych struktur katalogów. Nazwa pochodzi od nazwy metody organizacji plików - File Allocation Table. Ta tabela jest umieszczona na początku dysku. Liczba 16 oznacza, że ​​ten system plików jest 16-bitowy - 16 bitów jest używanych do adresowania klastrów. System operacyjny korzysta z tabeli alokacji plików, aby znaleźć plik i określić klastry, które ten plik zajmuje na dysku twardym. Dodatkowo Tabela zawiera informacje o wolnych i wadliwych klastrach. Aby ułatwić zrozumienie systemu plików FAT16, wyobraź sobie spis treści książki i sposób pracy z tym spisem treści, dokładnie tak działa system operacyjny z FAT 16.

Aby odczytać plik, system operacyjny musi znaleźć wpis w folderze po nazwie pliku i odczytać numer pierwszego klastra pliku. Pierwszy klaster reprezentuje początek pliku. Następnie należy odczytać element FAT odpowiadający pierwszemu klasterowi pliku. Jeśli element zawiera etykietę - ostatnią w łańcuchu, to nie ma potrzeby szukać dalej: cały plik mieści się w jednym klastrze. Jeżeli klaster nie jest ostatnim, to element tabeli zawiera numer kolejnego klastra. Zawartość następnego klastra należy odczytać po pierwszym. Gdy zostanie znaleziony ostatni klaster w łańcuchu, to jeśli plik nie zajmuje całego klastra, konieczne jest odcięcie dodatkowych bajtów klastra. Nadmiarowe bajty są przycinane zgodnie z długością pliku zapisanego we wpisie folderu.

Aby zapisać plik, system operacyjny musi wykonać następującą sekwencję działań. W wolnym elemencie folderu tworzony jest opis pliku, następnie wyszukiwany jest wolny element FAT i we wpisie folderu umieszczany jest link do niego. Pierwszy klaster opisany przez znaleziony element FAT jest zajęty. Ten element FAT jest wypełniony numerem następnego klastra lub znakiem ostatniego klastra w łańcuchu.

System operacyjny działa w taki sposób, że zbiera łańcuchy z sąsiednich klastrów w porządku rosnącym. Oczywiste jest, że dostęp do kolejnych klastrów będzie znacznie szybszy niż do klastrów losowo rozrzuconych po dysku. W tym przypadku klastry już zajęte i oznaczone w FAT jako uszkodzone są ignorowane.

W systemie plików FAT16 na numer klastra zarezerwowanych jest 16 bitów. Dlatego maksymalna ilość klastrów to 65525, a maksymalny rozmiar klastra to 128 sektorów. W takim przypadku maksymalny rozmiar partycji lub dysków w FAT16 wynosi 4,2 gigabajta. Podczas logicznego formatowania dysku lub partycji system operacyjny próbuje użyć minimalnego rozmiaru klastra, który daje maksymalnie 65525. Oczywiście im większy rozmiar partycji, tym większy powinien być rozmiar klastra. Wiele systemów operacyjnych nie działa poprawnie z klastrem 128 sektorów. W rezultacie maksymalny rozmiar partycji FAT16 zmniejsza się do 2 gigabajtów. Zwykle im większy rozmiar klastra, tym większe marnowanie miejsca na dysku. Dzieje się tak, ponieważ ostatni klaster zajmowany przez plik jest tylko częściowo wypełniony. Na przykład, jeśli plik o rozmiarze 17 KB zostanie zapisany na partycji o rozmiarze klastra 16 KB, plik zajmie dwa klastry, przy czym pierwszy klaster będzie pełny, drugi zapisze tylko 1 KB danych, a pozostałe 15 KB miejsca w drugim klastrze pozostaje niewykorzystane. Pełne i nie będzie możliwe zapisywanie przez inne pliki. Jeśli na duże dyski Jeśli zapiszesz dużą liczbę małych plików, utrata miejsca na dysku będzie znacząca. Poniższa tabela 2.1 zawiera informacje o możliwym zmarnowanym miejscu na dysku dla różnych rozmiarów partycji.

Patka. 2.1.1 - Utrata miejsca na dysku

Rozmiar partycjiRozmiar klastraZmarnowane miejsce na dysku127MB2Kb2%128-255MB4Kb4%256-511MB8Kb10%512-1023MB16Kb25%1024-2047MB32Kb40%2048-4096MB64Kb50%

Istnieją dwa sposoby zmniejszenia marnowanej przestrzeni dyskowej. Pierwszym z nich jest partycjonowanie miejsca na dysku na małe partycje o małym rozmiarze klastra. Drugi to system plików FAT32<#"center">2.2 System FAT32

System plików FAT32 jest nowszym systemem plików opartym na formacie FAT i jest obsługiwany przez systemy Windows 95 OSR2, Windows 98 i Windows Millennium Edition. FAT32 używa 32-bitowych identyfikatorów klastra, ale rezerwuje górne 4 bity, więc efektywny rozmiar identyfikatora klastra wynosi 28 bitów. Ponieważ maksymalny rozmiar klastrów FAT32 wynosi 32 KB, FAT32 teoretycznie może obsługiwać woluminy o wielkości 8 terabajtów. System Windows 2000 ogranicza rozmiar nowych woluminów FAT32 do 32 GB, chociaż obsługuje istniejące większe woluminy FAT32 (utworzone w innych systemach operacyjnych). Większa liczba klastrów obsługiwanych przez system FAT32 pozwala na wydajniejsze zarządzanie dyskami niż system FAT 16. FAT32 może używać klastrów 512-bajtowych dla woluminów do 128 MB.

Domyślnie używany jest system plików FAT 32 w systemie Windows 98. Ten system operacyjny jest dostarczany ze specjalnym programem do konwersji dysku z FAT 16 na FAT 32. Windows NT i Windows 2000 mogą również korzystać z systemu plików FAT, dzięki czemu można uruchomić komputer z dysku DOS i mieć pełny dostęp do wszystkich plików. Jednak niektóre z najbardziej zaawansowanych funkcji systemów Windows NT i Windows 2000 są zapewniane przez własny system plików NTFS (NT File System). NTFS umożliwia tworzenie partycji do 2 TB na dysku (jak FAT 32), ale dodatkowo posiada wbudowane funkcje kompresji plików, bezpieczeństwa i audytu, które są niezbędne podczas pracy w środowisku sieciowym. W systemie Windows 2000 zaimplementowano obsługę systemu plików FAT 32. Instalacja systemu operacyjnego Windows NT rozpoczyna się na dysku FAT, ale pod koniec instalacji dane na dysku można przekonwertować do formatu NTFS na koniec instalacji.

Możesz to również zrobić później, korzystając z narzędzia Konwertuj. exe, który jest dostarczany z systemem operacyjnym. Partycja dysku przekonwertowana na NTFS staje się niedostępna dla innych systemów operacyjnych. Aby powrócić do systemu DOS, Windows 3.1 lub Windows 9x, należy usunąć partycję NTFS i zamiast niej utworzyć partycję FAT. Windows 2000 można zainstalować na dysku z systemem plików FAT 32 i NTFS.

Możliwości systemów plików FAT32 są znacznie szersze niż FAT16. Jego najważniejszą cechą jest to, że obsługuje dyski do 2047 GB i współpracuje z mniejszymi klastrami, dzięki czemu znacząco zmniejsza ilość marnowanej przestrzeni dyskowej. Na przykład dysk twardy o pojemności 2 GB w systemie FAT16 wykorzystuje klastry o rozmiarze 32 KB, podczas gdy system FAT32 korzysta z klastrów o rozmiarze 4 KB. Aby zachować kompatybilność z istniejącymi programami, sieciami i sterownikami urządzeń tam, gdzie to możliwe, system FAT32 został zaimplementowany przy minimalnych zmianach w architekturze, interfejsach API, wewnętrznych strukturach danych i formacie dysku. Ponieważ jednak rozmiar elementów tabeli FAT32 wynosi obecnie cztery bajty, wiele wewnętrznych i dyskowych struktur danych, a także interfejsów API, musiało zostać poprawionych lub rozszerzonych. Niektóre interfejsy API na dyskach FAT32 są blokowane, aby uniemożliwić starszym narzędziom dyskowym uszkodzenie zawartości dysków FAT32. Zmiany te nie będą miały wpływu na większość programów. Istniejący narzędzia a sterowniki będą działać również na dyskach FAT32. Jednak sterowniki urządzeń blokowych MS-DOS (takie jak Aspidisk.sys) i narzędzia dyskowe muszą zostać zmodyfikowane, aby obsługiwały FAT32. Wszystkie narzędzia dyskowe dostarczane przez firmę Microsoft (Format, Fdisk, Defrag i ScanDisk dla trybu rzeczywistego i chronionego) zostały przeprojektowane, aby w pełni obsługiwać FAT32. Ponadto firma Microsoft pomaga czołowym dostawcom narzędzi dyskowych i sterowników urządzeń modyfikować ich produkty tak, aby obsługiwały system FAT32. FAT32 jest bardziej wydajny niż FAT16 podczas pracy z większymi dyskami i nie wymaga ich podziału na partycje o wielkości 2 GB. Windows 98 koniecznie obsługuje FAT16, ponieważ to ten system plików jest kompatybilny z innymi systemami operacyjnymi, w tym firmami zewnętrznymi. W trybie rzeczywistym MS-DOS iw tryb bezpieczeństwa Windows 98, system plików FAT32 jest znacznie wolniejszy niż FAT16. Dlatego podczas uruchamiania programów w trybie MS DOS pożądane jest włączenie Autoexec. bat lub polecenie pliku PIF, aby pobrać Smartdrv. exe, co przyspieszy operacje na dysku. Niektóre starsze programy FAT16 mogą zgłaszać nieprawidłowe informacje o ilości wolnego lub całkowitego miejsca na dysku, jeśli jest ono większe niż 2 GB. System Windows 98 udostępnia nowe interfejsy API dla systemów MS-DOS i Win32, które umożliwiają prawidłowe określenie tych metryk.

.3 Porównanie FAT16 i FAT32

Tabela 2.3.1 — Porównanie systemów plików FAT16 i FAT32

FAT16FAT32 Zaimplementowany i używany przez większość systemów operacyjnych (MS-DOS, Windows 98, Windows NT, OS/2, UNIX). Obecnie obsługiwane tylko w systemach Windows 95 OSR2 i Windows 98. Bardzo skuteczne w przypadku dysków logicznych mniejszych niż 256 MB. Nie działa z dyskami mniejszymi niż 512 MB. Obsługuje kompresję dysku, taką jak algorytm DriveSpace. Nie obsługuje kompresji dysku. Obsługuje maksymalnie 65 525 klastrów, których rozmiar zależy od rozmiaru dysku logicznego. Ponieważ maksymalny rozmiar klastra wynosi 32 KB, FAT16 może obsługiwać dyski logiczne tylko do 2 GB. Możliwość pracy z dyskami logicznymi do 2047 GB przy maksymalnym rozmiarze klastra 32 KB.

Maksymalna możliwa długość pliku w FAT32 wynosi 4 GB minus 2 bajty. Aplikacje Win32 mogą otwierać pliki o tej długości bez specjalnego przetwarzania. Inne aplikacje powinny używać przerwania Int 21h, funkcji 716C (FAT32) z otwartą flagą równą EXTEND-SIZE (1000h).

W systemie plików FAT32 na każdy klaster w tablicy alokacji plików przydzielane są 4 bajty, w FAT16 - 2 bajty, aw FAT12 - 1,5 bajta.

Górne 4 bity 32-bitowego wpisu tablicy FAT32 są zarezerwowane i nie biorą udziału w tworzeniu numeru klastra. Programy, które bezpośrednio odczytują tablicę FAT32, muszą maskować te bity i zapobiegać ich zmianie podczas zapisywania nowych wartości.

Tak więc FAT32 ma następujące zalety w porównaniu z poprzednimi implementacjami systemu plików FAT:

obsługuje dyski do 2 TB;

efektywniej organizuje miejsce na dysku. FAT32 używa mniejszych klastrów (4 KB dla dysków do 8 GB), co pozwala zaoszczędzić do 10-15% miejsca na dużych dyskach w porównaniu z FAT;

katalog główny FAT 32, podobnie jak wszystkie inne katalogi, jest teraz nieograniczony, składa się z łańcucha klastrów i może znajdować się w dowolnym miejscu na dysku;

ma większą niezawodność: FAT32 może przenosić katalog główny i pracować z kopią zapasową FAT, ponadto rekord rozruchowy na dyskach FAT32 został rozszerzony o kopię zapasową krytycznych struktur danych, co oznacza, że ​​dyski FAT32 są mniej wrażliwe na występowanie oddzielnych złych poprawek niż istniejące woluminy FAT;

programy ładują się o 50% szybciej.

Tabela 2.3.2 — Porównanie rozmiarów klastrów

Rozmiar dyskuFAT16 Rozmiar klastra KBFAT32 Rozmiar klastra KB256MB-511MB8Nieobsługiwany512MB-1023MB1641024MB-2GB3242GB-8GBNieobsługiwany48GB-16GBNieobsługiwany816GB-32GBNieobsługiwany16Ponad 32GBNieobsługiwany32

3. Alternatywny system plików NTFS i jego porównanie z FAT32

3.1 System NTFS

(New Technology File System) jest najbardziej preferowanym systemem plików podczas pracy z Windows NT, ponieważ został specjalnie zaprojektowany dla tego systemu. System Windows NT zawiera narzędzie do konwersji, które konwertuje woluminy FAT i HPFS na woluminy NTFS. W systemie NTFS znacznie rozszerzono możliwości zarządzania dostępem do poszczególnych plików i katalogów, wprowadzono dużą liczbę atrybutów, zaimplementowano odporność na uszkodzenia, zaimplementowano narzędzia do dynamicznej kompresji plików oraz obsługę wymagań standardu POSIX. NTFS zezwala na nazwy plików o długości do 255 znaków i używa tego samego algorytmu generowania krótkich nazw, co VFAT. NTFS samonaprawia się w przypadku awarii systemu operacyjnego lub sprzętu, dzięki czemu wolumin dysku pozostaje dostępny, a struktura katalogów pozostaje nienaruszona.

Każdy plik na woluminie NTFS jest reprezentowany przez wpis w specjalnym pliku, MFT (Master File Table). NTFS rezerwuje pierwsze 16 wpisów tabeli, o rozmiarze około 1 MB, na specjalne informacje. Pierwszy wpis w tabeli opisuje bezpośrednio samą główną tabelę plików. Po nim następuje lustrzany wpis MFT. Jeśli pierwszy wpis MFT jest uszkodzony, system NTFS odczytuje drugi wpis w celu znalezienia lustrzanego pliku MFT, którego pierwszy wpis jest identyczny z pierwszym wpisem MFT. Lokalizacja segmentów danych MFT i pliku lustrzanego MFT jest przechowywana w sektorze ładowania początkowego. Kopia sektora ładowania początkowego znajduje się w logicznym środku dysku. Trzeci wpis MFT zawiera plik dziennika używany do przywracania plików. Siedemnasty i kolejne wpisy w głównej tabeli plików są używane przez rzeczywiste pliki i katalogi na woluminie.

Dziennik transakcji (plik dziennika) rejestruje wszystkie operacje mające wpływ na strukturę woluminu, w tym tworzenie pliku i wszelkie polecenia zmieniające strukturę katalogów. Dziennik transakcji służy do odzyskiwania woluminu NTFS po awarii systemu. Wpis dotyczący katalogu głównego zawiera listę plików i katalogów przechowywanych w katalogu głównym.

Schemat alokacji miejsca na woluminie jest przechowywany w pliku mapy bitowej. Atrybut data tego pliku zawiera bitmapę, z której każdy bit reprezentuje jeden klaster woluminu i wskazuje czy dany klaster jest wolny czy zajęty przez jakiś plik.Obsługuje również zły plik klastra do rejestrowania złych obszarów na woluminie i pliku woluminu A zawierający nazwę woluminu, wersję NTFS i bit ustawiany, gdy wolumin jest uszkodzony. Wreszcie istnieje plik zawierający tabelę definicji atrybutów, która definiuje typy atrybutów obsługiwanych na woluminie oraz czy mogą być indeksowane, przywracane przez przywracanie systemu itp. przydziela miejsce w klastrach i wykorzystuje 64 bity do ich numerowania, co sprawia, że możliwe jest posiadanie 264 klastrów, każdy o rozmiarze do 64 KB. Podobnie jak w FAT, rozmiar klastra może się zmieniać, ale niekoniecznie zwiększa się proporcjonalnie do rozmiaru dysku. Rozmiary klastrów ustawione domyślnie podczas formatowania partycji przedstawiono w tabeli 3.1.

Rozmiar partycji Rozmiar klastra< 512 Мб512 байт513 Мб - 1024 Мб (1 Гб) 1 Кб1 Гб - 2 Гб2 Кб2 Гб - 4 Гб4 Кб4 Гб - 8 Гб8 Кб8 Гб - 16 Гб16 Кб16 Гб - 32 Гб32 Кб>32 GB64 KB pozwala przechowywać pliki do 16 eksabajtów (264 bajtów) i ma wbudowaną funkcję kompaktowania plików w czasie rzeczywistym. Kompresja jest jednym z atrybutów pliku lub katalogu i, jak każdy atrybut, można ją usunąć lub ustawić w dowolnym momencie (kompresja jest możliwa na partycjach o rozmiarze klastra nie większym niż 4 KB). Podczas kompaktowania pliku, w przeciwieństwie do schematów kompresji stosowanych w FAT, stosuje się kompaktowanie na plik, więc uszkodzenie niewielkiego obszaru dysku nie prowadzi do utraty informacji w innych plikach.

Aby zmniejszyć fragmentację, NTFS zawsze próbuje przechowywać pliki w ciągłych blokach. Ten system wykorzystuje strukturę katalogów B-drzewa podobną do wysokowydajnego systemu plików HPFS, zamiast struktury połączonych list używanej przez FAT. Dzięki temu wyszukiwanie plików w katalogu jest szybsze, ponieważ nazwy plików są przechowywane posortowane w porządku leksykograficznym. został zaprojektowany jako możliwy do odzyskania system plików, który wykorzystuje model przetwarzania transakcji. Każda operacja wejścia-wyjścia, która zmienia plik na woluminie NTFS, jest traktowana przez system jako transakcja i może być wykonana jako niepodzielny blok. Gdy plik jest modyfikowany przez użytkownika, usługa pliku dziennika przechwytuje wszystkie informacje potrzebne do ponowienia lub wycofania transakcji. Jeśli transakcja zakończy się pomyślnie, plik zostanie zmodyfikowany. Jeśli nie, NTFS wycofuje transakcję.

Pomimo obecności ochrony przed nieautoryzowanym dostępem do danych, NTFS nie zapewnia niezbędnej poufności przechowywanych informacji. Aby uzyskać dostęp do plików, wystarczy uruchomić komputer w systemie DOS z dyskietki i użyć sterownika NTFS innej firmy dla tego systemu.

Począwszy od Wersje Windowsa NT 5.0 (nowy Nazwa Windowsa 2000) Firma Microsoft obsługuje nowy system plików NTFS 5.0. Nowa wersja NTFS wprowadziła dodatkowe atrybuty plików; wraz z prawem dostępu wprowadzono pojęcie zakazu dostępu, który pozwala np. w przypadku dziedziczenia przez użytkownika praw grupowych do pliku, zabronić mu zmiany jego zawartości. Nowy system umożliwia również:

nakładać ograniczenia (kwota) na ilość miejsca na dysku udostępnianego użytkownikom;

projektować dowolny katalog (zarówno lokalny, jak i komputer zdalny) do podkatalogu na dysku lokalnym.

Ciekawą funkcją nowej wersji systemu Windows NT jest dynamiczne szyfrowanie plików i katalogów, co zwiększa niezawodność przechowywania informacji. System Windows NT 5.0 zawiera system szyfrowania plików (EFS), który wykorzystuje algorytmy szyfrowania z kluczem współużytkowanym. Jeśli atrybut szyfrowania jest ustawiony dla pliku, to kiedy program użytkownika uzyskuje dostęp do pliku w celu zapisu lub odczytu, plik jest szyfrowany i dekodowany w sposób przezroczysty dla programu.

.2 Porównanie NTFS i FAT32

Zalety:

Szybki dostęp do małych plików;

Rozmiar miejsca na dysku jest dziś praktycznie nieograniczony;

Fragmentacja plików nie wpływa na sam system plików;

Wysoka niezawodność zapisywania danych i samej struktury plików;

Wysoka wydajność podczas pracy z dużymi plikami;

Wady:

Wyższe wymagania dotyczące pamięci w porównaniu z FAT 32;

Praca z katalogami średniej wielkości jest trudna ze względu na ich fragmentację;

Niższa prędkość robocza w porównaniu do FAT 3232

Zalety:

Wysoka prędkość pracy;

Niskie wymagania dotyczące pamięci RAM;

Wydajna praca z plikami średniej i małej wielkości;

Mniejsze zużycie dysku dzięki mniejszym ruchom głowicy odczytu/zapisu.

Wady:

Niska ochrona przed awariami systemu;

Nieefektywna praca z dużymi plikami;

Ograniczenie maksymalnego rozmiaru sekcji i pliku;

Zmniejszona wydajność podczas fragmentacji;

Zmniejszona wydajność podczas pracy z katalogami zawierającymi dużą liczbę plików;

Tak więc oba systemy plików przechowują dane w klastrach, których minimalny rozmiar to 512 b. Zwykle rozmiar klastra to 4 Kb. Na tym chyba kończą się podobieństwa. Coś o fragmentacji: prędkość NTFS dramatycznie spada, gdy dysk jest zapełniony w 80 - 90%. Wynika to z fragmentacji plików serwisowych i roboczych. Im więcej pracujesz z tak obciążonym dyskiem, tym większa fragmentacja i niższa wydajność. W FAT 32 fragmentacja obszaru roboczego dysku występuje również na wcześniejszych etapach. Chodzi tutaj o to, jak często zapisujesz / usuwasz dane. Podobnie jak w przypadku NTFS, fragmentacja znacznie zmniejsza wydajność. Teraz o pamięci RAM. Sama objętość arkusz FAT 32 może zająć kilka megabajtów pamięci RAM. Ale buforowanie przychodzi na ratunek. Co jest buforowane:

Najczęściej używane katalogi;

Dane o wszystkich aktualnie używanych plikach;

Dane o wolna przestrzeń dysk;

Ale co z NTFS? Buforowanie jest trudne w przypadku dużych katalogów, które mogą osiągnąć rozmiar kilkudziesięciu megabajtów. Plus MFT, plus informacja o wolnym miejscu na dysku. Chociaż należy zauważyć, że NTFS nadal dość ekonomicznie zużywa zasoby pamięci RAM. W obecności skutecznego systemu przechowywania danych, w MFT każdy wpis jest w przybliżeniu równy 1 Kb. Ale nadal wymagania dotyczące pamięci RAM są wyższe niż w przypadku FAT 32. Krótko mówiąc, jeśli twoja pamięć jest mniejsza lub równa 64 Mb, wówczas FAT 32 będzie bardziej wydajny pod względem szybkości.Jeśli więcej, różnica w szybkości będzie małe, a często wcale. Teraz o samym dysku twardym. Aby korzystać z NTFS, pożądane jest Bus Mastering. Co to jest? Jest to specjalny tryb pracy sterownika i sterownika. W przypadku korzystania z BM wymiana odbywa się bez udziału procesora. Brak maszyny wirtualnej wpłynie na wydajność systemu. Dodatkowo, dzięki zastosowaniu bardziej złożonego systemu plików, zwiększa się ilość ruchów głowicy odczytu/zapisu, co również wpływa na szybkość. Obecność pamięci podręcznej dysku ma równie pozytywny wpływ zarówno na NTFS, jak i FAT 32.

Wniosek

Zaletą FAT jest niski koszt przechowywania danych i całkowita kompatybilność z ogromną liczbą systemów operacyjnych i platform sprzętowych. Ten system plików jest nadal używany do formatowania dyskietek, gdzie duży wolumen partycji obsługiwany przez inne systemy plików nie gra roli, a niski narzut pozwala na ekonomiczne wykorzystanie małej przestrzeni dyskowej (NTFS wymaga więcej miejsca do przechowywania danych, co jest całkowicie nie do przyjęcia dla dyskietek).

Zakres FAT32 jest w rzeczywistości znacznie węższy - ten system plików jest wart użycia, jeśli zamierzasz uzyskać dostęp do partycji zarówno z Windows 9x, jak i Windows 2000/XP. Ponieważ jednak znaczenie dzisiejszego systemu Windows 9x praktycznie zniknęło, korzystanie z tego systemu plików nie jest szczególnie interesujące.

Bibliografia

1. http://yura. pusłapie. lt/archiv/per/fat.html

Systemy plików FAT

FAT16

System plików FAT16 jest starszy niż MS-DOS i jest obsługiwany przez wszystkie systemy operacyjne firmy Microsoft w celu zachowania zgodności. Jego nazwa File Allocation Table (tabela lokalizacji plików) doskonale oddaje fizyczną organizację systemu plików, którego główną cechą jest to, że maksymalny rozmiar obsługiwanego woluminu (dysku twardego lub partycji na dysku twardym) nie przekracza 4095 MB. W czasach MS-DOS 4 GB dyski twarde wydawały się nierealnym marzeniem (dyski 20-40 MB były luksusem), więc taka rezerwa była jak najbardziej uzasadniona.

Wolumin sformatowany w systemie FAT16 jest podzielony na klastry. Domyślny rozmiar klastra zależy od rozmiaru woluminu i może wynosić od 512 bajtów do 64 KB. w tabeli. Rysunek 2 pokazuje, jak rozmiar klastra zależy od rozmiaru woluminu. Należy pamiętać, że rozmiar klastra może różnić się od wartości domyślnej, ale musi mieć jedną z wartości określonych w tabeli 1. 2.

Nie zaleca się używania systemu plików FAT16 na woluminach większych niż 511 MB, ponieważ miejsce na dysku będzie wykorzystywane wyjątkowo nieefektywnie w przypadku stosunkowo małych plików (plik 1-bajtowy zajmie 64 KB). Niezależnie od rozmiaru klastra system plików FAT16 nie jest obsługiwany w przypadku woluminów większych niż 4 GB.

FAT32

Począwszy od systemu Microsoft Windows 95 OEM Service Release 2 (OSR2), system Windows wprowadził obsługę 32-bitowego systemu plików FAT. W systemach opartych na systemie Windows NT ten system plików był po raz pierwszy obsługiwany w systemie Microsoft Windows 2000. Podczas gdy FAT16 może obsługiwać woluminy do 4 GB, FAT32 może obsługiwać woluminy do 2 TB. Rozmiar klastra w FAT32 może wahać się od 1 (512 bajtów) do 64 sektorów (32 KB). Wartości klastra FAT32 wymagają do przechowywania 4 bajtów (32 bity, a nie 16 jak w FAT16). Oznacza to w szczególności, że niektóre narzędzia plikowe zaprojektowane dla FAT16 nie mogą działać z FAT32.

Główna różnica między FAT32 a FAT16 polega na tym, że zmienił się rozmiar partycji logicznej dysku. FAT32 obsługuje woluminy do 127 GB. Jednocześnie, jeśli przy użyciu FAT16 z dyskami 2 GB wymagany był klaster 32 KB, to w FAT32 klaster 4 KB jest odpowiedni dla dysków od 512 MB do 8 GB (tabela 4).

Oznacza to odpowiednio efektywniejsze wykorzystanie miejsca na dysku — im mniejszy klaster, tym mniej miejsca potrzeba do przechowywania pliku, aw rezultacie dysk staje się mniej pofragmentowany.

W przypadku korzystania z FAT32 maksymalny rozmiar pliku może wynosić do 4 GB minus 2 bajty. Jeśli podczas korzystania z FAT16 maksymalna liczba wpisów w katalogu głównym została ograniczona do 512, to FAT32 pozwala zwiększyć tę liczbę do 65 535.

FAT32 nakłada ograniczenia na minimalny rozmiar wolumenu - musi to być co najmniej 65 527 klastrów. Jednocześnie rozmiar klastra nie może być taki, aby FAT zajmował więcej niż 16 MB - 64 KB / 4 lub 4 miliony klastrów.

Podczas używania długich nazw plików dane wymagane do uzyskania dostępu z FAT16 i FAT32 nie nakładają się. Podczas tworzenia pliku z long Nazwa Windowsa tworzy odpowiednią nazwę formatu 8.3 i jedną lub więcej pozycji katalogu do przechowywania długiej nazwy (13 znaków z długiej nazwy pliku na pozycję). Każde kolejne wystąpienie przechowuje odpowiednią część nazwy pliku w formacie Unicode. Takie wpisy mają atrybuty „identyfikator woluminu”, „tylko do odczytu”, „systemowy” i „ukryty”, zestaw, który jest ignorowany przez MS-DOS; w tym systemie operacyjnym dostęp do pliku uzyskuje się za pomocą jego „aliasu” w formacie 8.3.

System plików NTFS

Microsoft Windows 2000 zawiera obsługę nowej wersji systemu plików NTFS, która w szczególności zapewnia pracę z usługami katalogowymi Active Directory, punkty ponownej analizy, narzędzia bezpieczeństwa informacji, kontrolę dostępu i szereg innych funkcji.

Podobnie jak w przypadku FAT, podstawową jednostką informacji w NTFS jest klaster. w tabeli. Rysunek 5 przedstawia domyślne rozmiary klastrów dla woluminów o różnych pojemnościach.

Podczas tworzenia systemu plików NTFS program formatujący tworzy plik Master File Table (MTF) i inne obszary do przechowywania metadanych. Metadane są używane przez NTFS do implementacji struktury plików. Pierwsze 16 wpisów w MFT jest zarezerwowanych przez sam NTFS. Lokalizacja plików metadanych $Mft i $MftMirr jest zapisywana w sektorze startowym dysku. Jeśli pierwszy wpis w tabeli MFT jest uszkodzony, system NTFS odczytuje drugi wpis w celu odnalezienia kopii pierwszego. Kompletna kopia sektora rozruchowego znajduje się na końcu woluminu. w tabeli. 6 zawiera listę głównych metadanych przechowywanych w MFT.

Pozostałe wpisy MFT zawierają wpisy dla każdego pliku i katalogu znajdującego się na woluminie.

Zazwyczaj jeden plik używa jednego wpisu w MFT, ale jeśli plik ma duży zestaw atrybutów lub jest zbyt pofragmentowany, mogą być wymagane dodatkowe wpisy do przechowywania informacji o nim. W tym przypadku pierwszy rekord dotyczący pliku, zwany rekordem podstawowym, przechowuje lokalizację pozostałych rekordów. Dane o plikach i katalogach o niewielkich rozmiarach (do 1500 bajtów) są w całości zawarte w pierwszym wpisie.

Atrybuty plików w systemie plików NTFS

Każdy zajęty sektor na woluminie NTFS należy do określonego pliku. Nawet metadane systemu plików są częścią pliku. NTFS traktuje każdy plik (lub katalog) jako zestaw atrybutów plików. Elementy takie jak nazwa pliku, informacje o jego ochronie, a nawet zawarte w nim dane są atrybutami pliku. Każdy atrybut jest identyfikowany przez określony kod typu i opcjonalnie przez nazwę atrybutu.

Jeśli atrybuty pliku mieszczą się w rekordzie pliku, nazywane są atrybutami rezydentnymi. Te atrybuty to zawsze nazwa pliku i data jego utworzenia. W przypadkach, gdy informacje o pliku są zbyt duże, aby zmieściły się w pojedynczym rekordzie MFT, niektóre atrybuty pliku stają się nierezydentne. Atrybuty rezydentne są przechowywane w jednym lub kilku klastrach i reprezentują strumień alternatywnych danych dla bieżącego woluminu (więcej na ten temat poniżej). Aby opisać położenie atrybutów rezydentnych i nierezydentnych, system NTFS tworzy atrybut Listy atrybutów.

w tabeli. 7 pokazuje główne atrybuty plików zdefiniowane w NTFS. Ta lista może zostać w przyszłości rozszerzona.

System plików CDFS

System Windows 2000 zapewnia obsługę systemu plików CDFS, który jest zgodny ze standardem ISO'9660 opisującym lokalizację informacji na dysku CD-ROM. Długie nazwy plików są obsługiwane zgodnie z ISO'9660 poziom 2.

Na tworzenie CD-ROMu do użytku pod Sterowanie Windowsem 2000, pamiętaj, że:

  • wszystkie nazwy katalogów i plików muszą być krótsze niż 32 znaki;
  • wszystkie nazwy katalogów i plików muszą zawierać tylko wielkie litery;
  • głębokość katalogów nie powinna przekraczać 8 poziomów od korzenia;
  • użycie rozszerzeń nazw plików jest opcjonalne.

Porównanie systemów plików

W Microsoft Windows 2000 można używać FAT16, FAT32, NTFS lub kombinacji tych systemów plików. Wybór systemu operacyjnego zależy od następujących kryteriów:

  • jak używany jest komputer;
  • platforma sprzętowa;
  • rozmiar i liczba dysków twardych;
  • bezpieczeństwo informacji

Systemy plików FAT

Jak być może zauważyłeś, liczby w nazwach systemów plików - FAT16 i FAT32 - wskazują liczbę bitów wymaganych do przechowywania informacji o numerach klastrów używanych przez plik. Tak więc FAT16 wykorzystuje adresowanie 16-bitowe, a zatem możliwe jest użycie do 216 adresów. W systemie Windows 2000 pierwsze cztery bity tabeli lokalizacji plików FAT32 są potrzebne do użytku wewnętrznego, więc FAT32 osiąga 228 adresów.

w tabeli. 8 pokazuje rozmiary klastrów dla systemów plików FAT16 i FAT32.

Oprócz znacznych różnic w wielkości klastra, FAT32 umożliwia również rozszerzenie katalogu głównego (w FAT16 liczba wpisów jest ograniczona do 512 i może być jeszcze mniejsza w przypadku używania długich nazw plików).

Korzyści z FAT16

Wśród zalet FAT16 są:

  • system plików jest obsługiwany przez MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000 i niektóre systemy operacyjne UNIX;
  • istnieje duża liczba programów, które pozwalają poprawiać błędy w tym systemie plików i odzyskiwać dane;
  • jeśli występują problemy z uruchomieniem z dysku twardego, system można uruchomić z dyskietki;
  • ten system plików jest dość wydajny dla woluminów mniejszych niż 256 MB.
Wady FAT16

Główne wady FAT16 to:

  • katalog główny nie może zawierać więcej niż 512 pozycji. Używanie długich nazw plików znacznie zmniejsza liczbę tych elementów;
  • FAT16 obsługuje maksymalnie 65 536 klastrów, a ponieważ niektóre klastry są zarezerwowane przez system operacyjny, liczba dostępnych klastrów wynosi 65 524. Każdy klaster ma stały rozmiar dla danej jednostki LUN. Po osiągnięciu maksymalnej liczby klastrów przy ich maksymalnym rozmiarze (32 KB), maksymalny obsługiwany wolumin jest ograniczony do 4 GB (w systemie Windows 2000). Aby zachować zgodność z systemami MS-DOS, Windows 95 i Windows 98, rozmiar woluminu FAT16 nie może przekraczać 2 GB;
  • FAT16 nie obsługuje wbudowanej ochrony plików i kompresji;
  • na dużych dyskach marnuje się dużo miejsca ze względu na fakt, że używany jest maksymalny rozmiar klastra. Miejsce na plik jest przydzielane na podstawie rozmiaru klastra, a nie pliku.
Korzyści z FAT32

Wśród zalet FAT32 są następujące:

  • alokacja miejsca na dysku odbywa się wydajniej, zwłaszcza w przypadku dużych dysków;
  • katalog główny w FAT32 jest regularnym łańcuchem klastrów i może znajdować się w dowolnym miejscu na dysku. Z tego powodu FAT32 nie nakłada żadnych ograniczeń na liczbę elementów w katalogu głównym;
  • dzięki zastosowaniu mniejszych klastrów (4 KB na dyskach do 8 GB) zajęte miejsce na dysku jest zwykle o 10-15% mniejsze niż pod FAT16;
  • FAT32 jest bezpieczniejszym systemem plików. W szczególności obsługuje możliwość przenoszenia katalogu głównego i korzystania z kopii zapasowej FAT. Ponadto rekord rozruchowy zawiera szereg danych krytycznych dla systemu plików.
Wady FAT32

Główne wady FAT32:

  • rozmiar woluminu podczas korzystania z FAT32 w systemie Windows 2000 jest ograniczony do 32 GB;
  • Woluminy FAT32 nie są dostępne z innych systemów operacyjnych - tylko z Windows 95 OSR2 i Windows 98;
  • kopia zapasowa sektora rozruchowego nie jest obsługiwana;
  • FAT32 nie obsługuje wbudowanej ochrony plików i kompresji.

System plików NTFS

W przypadku korzystania z systemu Windows 2000 firma Microsoft zaleca sformatowanie wszystkich partycji dysku twardego do systemu plików NTFS, z wyjątkiem konfiguracji, w których używanych jest wiele systemów operacyjnych (z wyjątkiem systemów Windows 2000 i Windows NT). Używanie systemu plików NTFS zamiast FAT umożliwia korzystanie z funkcji dostępnych w systemie NTFS. Należą do nich w szczególności:

  • możliwość wyzdrowienia. Ta funkcja jest „wbudowana” w system plików. NTFS gwarantuje bezpieczeństwo danych dzięki zastosowaniu protokołu i niektórych algorytmów odzyskiwania informacji. W przypadku awarii systemu NTFS wykorzystuje protokół i dodatkowe informacje do automatycznego przywrócenia integralności systemu plików;
  • kompresja informacji. W przypadku woluminów NTFS system Windows 2000 obsługuje kompresję pojedynczego pliku. Tak skompresowane pliki mogą być używane przez aplikacje Windows bez uprzedniej dekompresji, która następuje automatycznie podczas odczytu z pliku. Podczas zamykania i zapisywania plik jest ponownie pakowany;
  • Ponadto można wyróżnić następujące zalety NTFS:

Niektóre funkcje systemu operacyjnego wymagają NTFS;

Szybkość dostępu jest znacznie większa - NTFS minimalizuje liczbę dostępów do dysku wymaganych do znalezienia pliku;

Ochrona plików i katalogów. Tylko na woluminach NTFS można ustawić atrybuty dostępu do plików i folderów;

W przypadku korzystania z systemu plików NTFS system Windows 2000 obsługuje woluminy do 2 TB;

System plików przechowuje kopię zapasową sektora rozruchowego - znajduje się on na końcu woluminu;

NTFS obsługuje system szyfrowania Encrypted File System (EFS), który zapewnia ochronę przed nieautoryzowanym dostępem do zawartości plików;

Korzystając z przydziałów, możesz ograniczyć ilość miejsca na dysku używanego przez użytkowników.

Wady NTFS

Mówiąc o wadach systemu plików NTFS, należy zauważyć, że:

  • Woluminy NTFS nie są dostępne w systemach MS-DOS, Windows 95 i Windows 98. Ponadto wiele funkcji dostępnych w systemie NTFS w systemie Windows 2000 jest niedostępnych w systemie Windows 4.0 i wcześniejszych;
  • W przypadku małych woluminów zawierających wiele małych plików może wystąpić spadek wydajności w porównaniu z systemem FAT.

System plików i szybkość

Jak już się dowiedzieliśmy, w przypadku małych woluminów FAT16 lub FAT32 zapewnia szybszy dostęp do plików w porównaniu z NTFS, ponieważ:

  • FAT ma prostszą strukturę;
  • katalogi są mniejsze;
  • FAT nie obsługuje ochrony plików przed nieautoryzowanym dostępem - system nie musi sprawdzać uprawnień do plików.

NTFS minimalizuje liczbę dostępów do dysku i czas potrzebny na znalezienie pliku. Ponadto, jeśli rozmiar katalogu jest wystarczająco mały, aby zmieścił się w jednym wpisie MFT, cały wpis jest czytany za jednym razem.

Jeden wpis w FAT zawiera numer klastra dla pierwszego klastra w katalogu. Przeglądanie pliku FAT wymaga przeszukania całej struktury plików.

Porównując szybkość operacji wykonywanych na katalogach zawierających krótkie i długie nazwy plików należy wziąć pod uwagę, że szybkość operacji dla FAT zależy od samej operacji oraz wielkości katalogu. Jeśli FAT szuka pliku, który nie istnieje, przeszukuje cały katalog, co zajmuje więcej czasu niż przeszukiwanie struktury B-drzewa używanej przez NTFS. Średni czas potrzebny do znalezienia pliku w FAT jest wyrażony jako funkcja N/2, w NTFS jest wyrażony jako log N, gdzie N to liczba plików.

Szereg następujących czynników wpływa na szybkość odczytu i zapisu plików w systemie Windows 2000:

  • fragmentacja plików. Jeśli plik jest bardzo pofragmentowany, NTFS zwykle wymaga mniejszej liczby dostępów do dysku niż FAT, aby znaleźć wszystkie fragmenty;
  • wielkość klastra. W obu systemach plików domyślny rozmiar klastra zależy od rozmiaru woluminu i jest zawsze wyrażany jako potęga liczby 2. Adresy w FAT16 są 16-bitowe, w FAT32 są 32-bitowe, w NTFS są 64-bitowe;
  • domyślny rozmiar klastra w systemie FAT opiera się na fakcie, że tabela lokalizacji plików może zawierać nie więcej niż 65 535 wpisów — rozmiar klastra jest funkcją rozmiaru woluminu podzielonego przez 65 535. Tak więc domyślny rozmiar klastra dla woluminu FAT to zawsze większy niż rozmiar klastra dla woluminu NTFS o tym samym rozmiarze. Należy zauważyć, że większy rozmiar klastra dla woluminów FAT oznacza, że ​​woluminy FAT mogą być mniej pofragmentowane;
  • lokalizacja małych plików. W przypadku korzystania z NTFS małe pliki są zawarte w rekordzie MFT. Rozmiar pliku mieszczącego się w pojedynczym rekordzie MFT zależy od liczby atrybutów w tym pliku.

Maksymalny rozmiar woluminów NTFS

Teoretycznie NTFS obsługuje woluminy z maksymalnie 232 klastrami. Niemniej jednak, oprócz braku dysków twardych tego rozmiaru, istnieją inne ograniczenia dotyczące maksymalnego rozmiaru woluminu.

Jednym z takich ograniczeń jest tablica partycji. Standardy branżowe ograniczają rozmiar tablicy partycji 2 do 32 sektorów. Kolejnym ograniczeniem jest rozmiar sektora, który zwykle wynosi 512 bajtów. Ponieważ rozmiar sektora może się zmienić w przyszłości, obecny rozmiar ogranicza rozmiar pojedynczego woluminu do 2 TB (2 32 x 512 bajtów = 2 41). Zatem 2 TB to praktyczny limit dla fizycznych i logicznych woluminów NTFS.

w tabeli. Rysunek 11 przedstawia główne ograniczenia NTFS.

Zarządzanie dostępem do plików i katalogów

Podczas korzystania z woluminów NTFS można ustawić uprawnienia do plików i katalogów. Te prawa dostępu określają, którzy użytkownicy i grupy mają do nich dostęp oraz jaki poziom dostępu jest dozwolony. Takie uprawnienia dostępu dotyczą zarówno użytkowników pracujących na komputerze, na którym znajdują się pliki, jak i użytkowników uzyskujących dostęp do plików przez sieć, gdy plik znajduje się w katalogu otwartym do zdalnego dostępu.

W systemie NTFS można również ustawić uprawnienia dostępu zdalnego w połączeniu z uprawnieniami do plików i katalogów. Ponadto atrybuty pliku (tylko do odczytu, ukryty, systemowy) również ograniczają dostęp do pliku.

W FAT16 i FAT32 możliwe jest również ustawienie atrybutów plików, ale nie zapewniają one uprawnień do plików.

Wersja NTFS używana w systemie Windows 2000 wprowadziła nowy typ uprawnień dostępu, zwany uprawnieniami dziedziczonymi. Karta Zabezpieczenia zawiera opcję Zezwalaj na propagowanie dziedzicznych uprawnień od elementu nadrzędnego do tego obiektu pliku, który jest domyślnie aktywny. Ta opcja znacznie skraca czas potrzebny do zmiany uprawnień do plików i podkatalogów. Na przykład, aby zmienić uprawnienia drzewa zawierającego setki podkatalogów i plików, wystarczy włączyć tę opcję - w systemie Windows NT 4 należy zmienić atrybuty każdego pliku i podkatalogu z osobna.

na ryc. Rysunek 5 przedstawia okno dialogowe Właściwości i kartę Zabezpieczenia (sekcja Zaawansowane) z listą rozszerzonych uprawnień do plików.

Przypomnijmy, że w przypadku woluminów FAT dostęp można kontrolować tylko na poziomie głośności, a taka kontrola jest możliwa tylko przy zdalnym dostępie.

Kompresowanie plików i katalogów

Windows 2000 obsługuje kompresję plików i katalogów znajdujących się na woluminach NTFS. Skompresowane pliki mogą być odczytywane i zapisywane przez dowolną aplikację systemu Windows. W tym celu nie ma potrzeby ich wstępnego rozpakowywania. Zastosowany algorytm kompresji jest podobny do zastosowanego w DoubleSpace (MS-DOS 6.0) i DriveSpace (MS-DOS 6.22), ale ma jedną istotną różnicę - w systemie MS-DOS kompresowana jest cała partycja podstawowa lub urządzenie logiczne, podczas gdy w systemie NTFS możesz spakować pojedyncze pliki i katalogi.

Algorytm kompresji w systemie NTFS jest przeznaczony do obsługi klastrów o rozmiarze do 4 KB. Jeśli rozmiar klastra jest większy niż 4 KB, funkcje kompresji NTFS stają się niedostępne.

Samonaprawiający się system plików NTFS

System plików NTFS jest samonaprawiający się i może zachować swoją integralność dzięki wykorzystaniu dziennika podjętych działań i szeregu innych mechanizmów.

NTFS traktuje każdą operację modyfikującą pliki systemowe na woluminach NTFS jako transakcję i przechowuje informacje o takiej transakcji w dzienniku. Rozpoczęta transakcja może zostać całkowicie zakończona (commit) lub wycofana (rollback). W tym drugim przypadku wolumin NTFS powraca do stanu sprzed rozpoczęcia transakcji. Aby zarządzać transakcjami, NTFS zapisuje wszystkie operacje związane z transakcją w pliku dziennika, zanim zostanie on zapisany na dysku. Po zakończeniu transakcji wszystkie operacje są wykonywane. Dlatego przy zarządzaniu NTFS nie może być żadnych oczekujących operacji. W przypadku awarii dysku oczekujące operacje są po prostu anulowane.

Pod kontrolą NTFS wykonywane są również operacje pozwalające na bieżąco identyfikować złe klastry i przydzielać nowe klastry do operacji na plikach. Ten mechanizm nazywa się mapowaniem klastrów.

W ta recenzja przyjrzeliśmy się różnym systemom plików obsługiwanym przez system Microsoft Windows 2000, omówiliśmy sposób działania każdego z nich i odnotowaliśmy ich mocne i słabe strony. Najbardziej obiecujący jest system plików NTFS, który ma duży zestaw funkcji niedostępnych w innych systemach plików. Nowa wersja NTFS obsługiwana przez Microsoft Windows 2000 ma jeszcze więcej funkcji i dlatego jest zalecana do użycia podczas instalacji systemu operacyjnego Win 2000.

Prasa komputerowa 7"2000

System plików to tylko sposób uporządkowania danych na nośniku, w tej organizacji nie ma nic skomplikowanego.

Być może myślisz: „że system plików jest złożony i niezrozumiały, ponieważ współpracują z nim systemy operacyjne i wszystko po prostu nie może tam być…”

Po części masz rację, ale wszystkie rodzynki są w sterowniku systemu plików, tj. w programie, który udostępnia interfejs API dla innych aplikacji. Po prostu robi takie rzeczy jak:

  • utwórz plik
  • usunąć plik
  • Przemianować
  • Kopiuj
  • pokaż zawartość katalogu
  • przenieść do innego katalogu itp.

Sama zasada organizacji systemu plików jest prosta.

W tym poście nie będę rozważał, jak działa sterownik i jak tworzy / usuwa pliki, powiem ci o zasadzie organizacji plików systemy FAT16.

(o tym jak napisać sterownik jest osobny)

Dlaczego FAT16?

Uważam, że jest najwygodniejszy do nauki, łatwy do zrozumienia. Znając ideę, nie jest już trudno nauczyć się innych systemów plików - FAT32, NTFS itp.

Dlaczego muszę wiedzieć, jak działa system plików?

Znając zasadę organizacji systemu plików, możesz opracować własny sterownik lub menedżer plików na dowolnym urządzeniu komputerowym.

Opis systemu plików FAT16

Dla Twojej wygody oto lista pytań, na które znajdziesz odpowiedzi:

System plików FAT16 dzieli całą przestrzeń adresową mediów na dwa obszary:

  • obszar systemu
  • obszar danych

Dla jasności przedstawimy całą przestrzeń adresową jako prostokąt. Mała górna część prostokąta (przestrzeń adresowa) to obszar systemowy, dolna masywna to obszar danych.

Wszystkie dane, które przechowujemy na naszych nośnikach, tj. wszystkie pliki i katalogi są przechowywane w obszarze danych. Z kolei obszar systemowy przechowuje parametry tego nośnika oraz charakterystykę plików i katalogów - nazwę pliku, nazwę katalogu, atrybuty pliku itp.

Zacznijmy od prostego, kilku słów o obszarze danych i sposobie ich przechowywania

O obszarze danych...

Aby nie adresować każdego bajtu (chociaż niektóre nośniki pamięci umożliwiają pracę bajt po bajcie), w systemie plików używana jest inna minimalna adresowalna jednostka - sektor. Rozmiar sektory 512 bajtów. Oprócz sektora system plików FAT16 wykorzystuje również taką koncepcję jak grupa. zgrupuj to jeden lub więcej sąsiadujących sektorów.

Ten parametr (liczba sektorów na klaster) jest często zmieniany podczas formatowania nośników pamięci. Ponieważ od tego zależy szybkość pracy i „stopień upakowania danych”. FAT16, podobnie jak wszystkie systemy plików, wykorzystuje pojęcie pliku. Plik to obszar danych, który ma nazwę i pewne atrybuty. Fizycznie w obszarze danych jest to jeden lub więcej zajętych klastrów, a plik zajmuje całkowitą liczbę klastrów. Nawet jeśli zajmuje nieco więcej niż dwa klastry, trzy klastry będą brane pod uwagę dla systemu plików zajmowanego przez plik. Dlatego im mniejszy rozmiar klastra, tym większy „stopień upakowania danych” i tym bardziej ekonomicznie wykorzystywany jest obszar danych. Z drugiej strony odczytanie pliku z dużych fragmentów pamięci, tj. gromadzą się szybciej niż małe. Dlatego wybór wielkości klastra jest kwestią kompromisu.

System plików FAT16 nakłada ograniczenia na rozmiar klastra, nie więcej niż 128 sektorów(tj. nie więcej niż 64 kb) i dalej liczba klastrów nie przekracza 65525 sztuk. Jeśli wykorzystasz wszystko do maksimum, tj. maksymalny rozmiar sektorów i maksymalna liczba klastrów, okazuje się, że FAT16 nie może zaadresować więcej niż 4,2 gigabajta informacji.

Jeżeli formatowanie wykonujemy w trybie automatycznym (kiedy nie określamy rozmiaru klastra), to rozmiar klastra jest wybierany jako minimalny, przy którym wynikowa liczba klastrów nie przekracza 65525.

O obszarze systemu...

Obszar systemowy jest tworzony podczas formatowania nośnika i jest opisowy. Składa się z następujących części:

Przeanalizujmy każdą część bardziej szczegółowo.

1. Sektor rozruchowy

Sektor rozruchowy jest tabela parametrów i program ładujący. Rozmiar sektora rozruchowego to zwykle 512 bajtów, ale mogłoby być więcej.

Rozważ strukturę sektora rozruchowego.

Nie bój się dużej ilości pól w boot sektorze, on jest zbędny. Na przykład przechowuje informacje, które nie są istotne dla dysków flash: liczba sektorów na ścieżce, liczba głowic. Nie wszystkie parametry będą więc dla nas przydatne.

Jeśli spojrzysz kod szesnastkowy, Niektóre nośniki sformatowane w formacie FAT16, wtedy zobaczymy wartość pól. Jako przykład podam kod HEX obrazu w formacie FAT16 utworzonego w WinImage. Dla ułatwienia orientacji w kodzie oznaczyłem kolorami, który fragment kodu HEX należy do którego parametru.

PS Uwzględniana jest wartość dla każdej komórki z prawej do lewej, na przykład, jeśli jest napisane 00 02 h, to faktycznie 02 00 h, tj. 512

PS Sektor startowy zawsze kończy się na 55AAh.

Ważne jest, aby zwrócić uwagę na parametr „ Zarezerwowane sektory» - liczba zarezerwowanych sektorów, według offsetu 0Ech. Na samym początku powiedziałem, że sektor rozruchowy ma zwykle rozmiar 512 bajtów, ale może być większy. Jego rozmiar określa parametr „ Zarezerwowane sektory", w naszym przypadku Zarezerwowane sektory = 01h, więc sektor rozruchowy jest zajęty 1. sektor Lub 512 bajtów.

2. TŁUSZCZ

Po sektorze rozruchowym o rozmiarze 512* zarezerwowanych bajtów sektorów, stół idzie FAT1, jego rozmiar jest określony pole dwubajtowe - SectorPerFat (16h) sektor rozruchowy. W powyższym przykładzie wartość tego pola jest równa 0001 godz Lub 1 , tj. jeden sektor lub 512 bajtów.

Co to jest TŁUSZCZ?

Przede wszystkim jest to skrót - Tabela alokacji plików, co oznacza „tabelę lokalizacji plików”. Ten tabela Z jedna kolumna I 512/2 liczba wierszy(jeśli rozmiar tablicy FAT wynosi 512 bajtów lub SectorPerFat to 0001h, jak w naszym przypadku). Każdy linia Tablice FAT zajmuje 2 bajty pamięci, więc liczba wierszy dla naszego przypadku wynosi 512/2 .

Tabela służy jako mapa klastrów, każdy linia charakteryzuje dowolny klaster, pierwszy wiersz to pierwszy klaster, drugi to drugi i tak dalej dla wszystkich klastrów znajdujących się w obszarze danych. Tabela jest poprzedzona deskryptorem tabeli F8FFh(taka sama wartość jak sektor rozruchowy 15h) i symbol zastępczy FFFFh. Dalej są wiersze tabeli, których wartości mogą być następujące:

  • 0000 godz- wolny klaster;
  • 0002h-FFEFh- numer kolejnego elementu w łańcuchu;
  • FFF0h-FFF6h- skryty;
  • FFF7h- wadliwy;
  • FFF8h-FFFFh- ostatni w łańcuchu;

Podam przykład Kod HEX z wyjaśnieniem.

Niebieski mam w ramce tabela FAT1, czerwona tabela FAT2(kopia tabeli FAT1). zamalowane zielony kwadrat Ten deskryptor tabeli F8FFh i symbol zastępczy FFFFh. Niewypełnione kwadraty to wiersze tabeli. Nie zaznaczyłem wszystkich linii zieloną ramką, zakreśliłem tylko niezerowe.

Jak jest używany i dlaczego FAT jest potrzebny, wyjaśnię nieco później.

3. Katalog główny

Po tabelach FAT nadchodzi „ katalog główny". Jest to obszar pamięci, który zawiera Elementy 32-bajtowe. Każdy element opisuje, dowolny plik lub katalog znajdujący się w katalogu głównym lub inny język „w katalogu głównym” dysku twardego / dysku flash. Okazuje się, że katalog główny opisuje wszystko, co znajduje się w katalogu głównym.

Rozmiar katalogu głównego zależy od ustawienia RootEntry (11h) sektor rozruchowy. To wskazuje maksymalna liczba elementów 32-bajtowych w katalogu głównym. Okazuje się, że rozmiar katalogu to Wpisy główne * 32, w naszym przypadku tak jest 512 * 32 = 16384 bajtów.

Każdy element ma następującą strukturę:

Podam przykład kodu HEX z wyjaśnieniem.

Zielony mam w ramce obszar pamięci odpowiedzialny za katalog główny, niebieskie 32-bajtowe wpisy katalogu głównego. Nie puste 32-bajtowe elementy zamalowałem na niebiesko.

Oto dwa niepuste elementy 32-bajtowe, oznacza w katalogu głównym przechowywać dwa „coś”, to może być zarówno pliki, jak i inne katalogi. W tym przypadku, dla uproszczenia przykładu, dwa pliki są przechowywane w katalogu głównym „ 1.txt" I " test.txt».

Przyjrzyjmy się bliżej tym dwóm 32-bajtowym elementom, dla wygody oznaczyłem w tabeli kolorami fragment kodu HEX i odpowiadający mu parametr elementu 32-bajtowego.

PS. Jeśli pierwszy bajt nazwy pliku zostanie zastąpiony przez „E5”, To Eksplorator Windows policzy to jako zdalny. Taki plik można przywrócić, zastępując pierwszy znak E5 w nazwie poprzednią wartością. Nie jestem do końca pewien, ale myślę, że tak działa kosz w systemie Windows. Umieszczając go w koszu, system operacyjny zapisuje gdzieś nazwę pliku i zastępuje pierwszy bajt w nazwie E5, a podczas przywracania przypisuje plikowi jego poprzednią nazwę.

PS. Nazwy plików w systemie FAT16 są przechowywane w formacie 8.3 . Te. 8 -bajty przydzielone na nazwę i 3 bajty przydzielone na rozszerzenie. Nazwy są zakodowane w formacie ASCII, jeden znak to jeden bajt. Dlatego nazwa nie może być dłuższa niż 8 znaków i rozszerzeń więcej niż 3. Jeśli nazwa krótszy niż 8 znaków, To brakujące bajty są uzupełniane w 20h(znak spacji w kodzie ASCII).

PS. Przypomnę, że wartość dla każdej komórki jest brana pod uwagę od prawej do lewej, na przykład, jeśli jest zapisana 00 02 h, to faktycznie 02 00 h, tj. 512 w systemie dziesiętnym.

Najważniejszy dla nas parametr znajduje się na 1 Ah — « niskie słowo pierwszego klastra plików". Przechowuje numer klastra, w którym znajduje się zawartość pliku, co oznacza, że ​​możemy pracować z informacjami tego pliku, tj. czytaj, edytuj itp.

Na przykład " 1.txt» przechowywane w klastrze numer 0x0003 Lub 3 w systemie dziesiętnym. A to oznacza, że ​​jeśli my Przejdźmy dalej Do klaster №3 w obszarze danych (pamiętaj, że obszar danych to tylko kolejne klastry) my dostać się do zawartości tego pliku.

Możesz mieć „praktyczne” pytanie, ale jak znaleźć ten trzeci klaster? Przez jaki to adres?

Jak znaleźć adres klastra znając jego numer?

W tym celu musisz wiedzieć ile masz miejsca w systemie I jak duże są klastry(tj. ile sektorów (lub 512 bajtów) zawiera klaster).

Poniższy rysunek pomoże ci określić rozmiar obszaru systemu:

Przykład dla mojego przypadku

Sektor rozruchowy ma objętość 512*Zarezerwowane sektory bajtów w moim przypadku 512 bajtów. Ponadto zajmuje mnie tabela FAT jeden sektor, te. 512 bajtów(ponieważ SectroPerFat wynosi 1). Tabela druga(ponieważ NumberOfFATs jest równy 2), a następnie łącznie dwie tabele 512*2=1024 bajtów. Rozmiar katalogu głównego to 512 32-znakowych elementów, tj. 512*32=16384 bajtów. Wierzymy:

512 (sektor rozruchowy) + 1024 (dwie tablice FAT) + 16384 (katalog główny) = 17920 bajtów Lub 4600 w systemie szesnastkowym.

W rezultacie w naszym przypadku obszar danych zaczyna się od 0x4600, Zobaczymy:

Widzimy zawartość jakiegoś pliku, ale nie naszego. Zapisywane są dane interesującego nas pliku (1.txt). w klastrze nr 3.

Teraz musimy znaleźć rozmiar klastra, parametr sektora rozruchowego pomoże nam w tym - Sektor na klaster(0xD, rozmiar parametru 1 bajt). W naszym przypadku wielkość klastra 4 sektory, tj. 512*4=2048 bajtów Lub 800 w systemie szesnastkowym. Należy zauważyć, że klastry są numerowane od dwóch, a nie od jednego (!).

Obliczamy z czego zaczynają się adresy klaster №3:

0x4600 (obszar systemowy) + 0x800 (drugi klaster) = 0x4E00

Obliczmy co adres kończy klaster numer 3:

0x4E00 (początek klastra nr 3) + 0x800 (512*4 lub rozmiar jednego klastra w HEX) = 0x5600

W rezultacie klaster Nr 3 leży w zakresie adresów 0x4E000x5600.

Zobaczmy kod HEX

niebieska ramka Zaznaczyłem zawartość pliku 1.txt. Wszystko powyżej ramki jest zawartością innego pliku. Puste obszary sektora są wypełnione 0x00.

Dlaczego więc potrzebujemy tabeli FAT?

Jeśli plik zajmuje więcej niż jeden klaster (w naszym przypadku, jeśli plik jest większy niż 2048 bajtów), to z pomocą przychodzi tablica FAT. Jest to coś w rodzaju „mapy” klastrów. Te. kiedy będziemy wiedzieć numer sektora, od którego zaczyna się interesujący nas plik, pierwszą rzeczą, na którą musimy zwrócić uwagę ten sam numer linii w FAT.

Jeśli ciąg ma znaczenie 0xFF8-0xFFFF, to oznacza, że to jest ostatnia gromada dla danego pliku, tj. zajmuje plik tylko jeden klaster.

Jeśli ciąg ma znaczenie 0x0002-0xFFEF, to oznacza, że plik rozciągnięty do innego klastra. Numer oznacza kolejny numer klastra, który zawiera kontynuację pliku. Musimy kontynuować czytanie pliku wg podany numer grupa.

Po odczytaniu nowego klastra należy spojrzeć na wartość wiersza pod tym numerem w FAT. Jeśli wartość wiersza to 0x FF8-0xFFFF, oznacza to, że ten klaster jest ostatnim w pliku. Jeśli 0x0002-0xFFEF, to jest to numer następnego klastra, czytaj dalej i powtórz akcję. Odczyt pliku to pętla warunkowa.

Więc wymyśliliśmy pliki, teraz czas zająć się katalogami.

Co to jest katalog?

Katalog systemu plików FAT16 (i wielu innych) to specjalny plik o zerowym rozmiarze, który przechowuje listę jego zawartości.

Powiedzmy, że dodaliśmy katalog „ TEST_DIR» z plikiem « in_dir.txt". Następnie w katalogu głównym pojawi się nowy element 32-bajtowy, opisuje katalog taki sam jak plik, ale z niewielkimi różnicami.

Na czerwono zaznaczyłem parametry charakterystyczne dla katalogów, są to 0x10- etykieta katalogu i 0x00000000- rozmiar pliku.

Jak widać na niebieskim kwadracie, mamy katalog w klastrze nr 5 zobaczmy, co tam jest.

Zawartość „pliku” TEST_DIR W rzeczywistości, jest to ten sam katalog główny, tj. zestaw elementów 32-bajtowych. Każdy element zaznaczyłem zieloną obwódką.

Elementy opisują nazwę pliku lub katalogu, atrybuty oraz numer klastra, w którym znajdują się jego dane. W dowolnym folderze, zawsze tam dwa katalogi Z imieniem "." I "..".

Pierwsza leży w klastrze №5 , tj. Ten ten sam katalog, A drugi dotyczy klastra o numerze 0. Pod tym liczba oznacza „katalog główny”, tj. to jest wyjście do katalogu głównego.

Opis pliku " in_dir.txt» standardowo, jak dla katalogu głównego (patrz katalog główny). Dla nas najważniejszy jest numer klastra, w którym znajduje się zawartość tego pliku (oznaczony czerwonym kwadratem).

Oglądamy klaster №6 i zobacz zawartość pliku in_dir.txt". Czerwoną linią zaznaczyłem początek gromady.

Będziesz zainteresowany:


W FAT nazwy plików są w formacie 8.3 i składają się wyłącznie ze znaków ASCII. Obsługa długich (do 255 znaków) nazw plików została dodana do VFAT. Długa nazwa pliku, LFN) zakodowane w UTF-16LE, z LFN przechowywanymi w tym samym czasie co nazwy 8.3, określane retrospektywnie jako SFN. Krótka nazwa pliku). Podczas wyszukiwania w górę nazwy LFN nie rozróżniają wielkości liter, jednak w przeciwieństwie do nazw SFN, które są zapisywane wielkimi literami, nazwy LFN zachowują wielkość liter określoną podczas tworzenia pliku.

Struktura systemu FAT

W systemie plików FAT sąsiadujące sektory dysku są łączone w jednostki zwane klastrami. Liczba sektorów w klastrze jest równa potędze dwójki (patrz poniżej). Całkowita liczba klastrów (co najmniej jeden) jest przydzielona do przechowywania danych pliku, więc na przykład, jeśli rozmiar pliku wynosi 40 bajtów, a rozmiar klastra wynosi 4 kbajty, tylko 1% przydzielonej mu przestrzeni będzie faktycznie zajęty przez informacje o pliku. Aby uniknąć takich sytuacji, wskazane jest zmniejszenie rozmiaru klastrów i odwrotnie, zmniejszenie ilości informacji adresowych i zwiększenie szybkości operacji na plikach. W praktyce wybiera się jakiś kompromis. Ponieważ pojemność dysku może nie być wyrażona całkowitą liczbą klastrów, na końcu woluminu znajdują się zwykle tak zwane „jednostki”. sektory nadwyżkowe - „pozostałość” mniejsza niż rozmiar klastra, której system operacyjny nie może przydzielić do przechowywania informacji.

Przestrzeń woluminu FAT32 jest logicznie podzielona na trzy ciągłe obszary:

  • zarezerwowany obszar. Zawiera struktury usług należące do rekordu rozruchowego partycji (Partition Boot Record — PBR, w odróżnieniu od Master Boot Record — głównego rekordu rozruchowego dysku; również PBR jest często błędnie nazywany sektorem rozruchowym) i są używane podczas inicjowania woluminu ;
  • Obszar tabeli FAT zawierający tablicę wskaźników indeksów („komórek”) odpowiadających klastrom obszaru danych. Zwykle na dysku znajdują się dwie kopie tabeli FAT ze względu na niezawodność;
  • Obszar danych, w którym zapisana jest rzeczywista zawartość plików — czyli tekst pliki tekstowe, zakodowany obraz do plików graficznych, dźwięk zdigitalizowany do plików audio itp. – a także tzw. metadane - informacje o nazwach plików i folderów, ich atrybutach, czasach tworzenia i modyfikacji, rozmiarze i lokalizacji na dysku.

FAT12 i FAT16 mają również dedykowany obszar dla katalogu głównego. Ma stałą pozycję (bezpośrednio po ostatnim wpisie w tablicy FAT) i stałą wielkość w sektorach.

Jeżeli klaster należy do pliku, to odpowiadająca mu komórka zawiera numer kolejnego klastra tego samego pliku. Jeśli komórka odpowiada ostatniemu skupieniu pliku, to zawiera specjalną wartość (FFFF 16 dla FAT16). W ten sposób budowany jest łańcuch klastrów plików. Zera odpowiadają nieużywanym klastrom w tabeli. „Złe” klastry (które są wyłączone z przetwarzania np. dlatego, że odpowiedni obszar urządzenia jest nieczytelny) również mają specjalny kod.

Gdy plik jest usuwany, pierwszy znak nazwy jest zastępowany specjalnym kodem E5 16, a łańcuch klastrów plików w tablicy alokacji jest resetowany do zera. Ponieważ informacja o rozmiarze pliku (która znajduje się w katalogu obok nazwy pliku) pozostaje nienaruszona, jeśli klastry plików znajdowały się na dysku sekwencyjnie i nie zostały nadpisane nowymi informacjami, możliwe jest odzyskanie usuniętego pliku .

rekord rozruchowy

Pierwsza struktura woluminu FAT nazywa się BPB. Blok parametrów BIOS ) i znajduje się w obszarze zastrzeżonym, w sektorze zero. Struktura ta zawiera informacje identyfikujące typ systemu plików oraz fizyczne właściwości nośnika (dyskietki lub partycji dysku twardego).

Blok parametrów BIOS

W zasadzie BPB było nieobecne w FAT, który obsługiwał MS-DOS 1.x, ponieważ w tamtym czasie zakładano tylko dwa różne typy woluminów - jedno- i dwustronne pięciocalowe dyskietki 360 kb, a format woluminu był określony przez pierwszy bajt obszaru FAT. BPB został wprowadzony w MS-DOS 2.x na początku 1983 roku jako obowiązkowa struktura sektora rozruchowego, na podstawie której można odtąd określać format woluminu; stary schemat wykrywania pierwszego bajtu FAT nie jest już obsługiwany. Również w MS-DOS 2.0 wprowadzono hierarchię plików i folderów (wcześniej wszystkie pliki były przechowywane w katalogu głównym).

Struktura BPB w MS-DOS 2.x zawierała 16-bitowe pole „całkowita liczba sektorów”, co oznaczało, że ta wersja FAT zasadniczo nie nadawała się do woluminów większych niż 2 16 = 65 536 sektorów, czyli więcej niż 32 MB ze standardowym rozmiarem sektora 512 bajtów. W MS-DOS 4.0 (1988) powyższe pole BPB zostało rozszerzone do 32 bitów, co oznaczało zwiększenie teoretycznego rozmiaru wolumenu do 232 = 4 294 967 296 sektorów, czyli do 2 TB przy sektorze 512-bajtowym.

Kolejna modyfikacja BPB pojawiła się wraz z Windows 95 OSR2, który wprowadził FAT32 (w sierpniu 1996). Usunięto ograniczenie rozmiaru woluminu do dwóch gigabajtów, wolumin FAT32 może teoretycznie mieć rozmiar do 8 TB. Jednak rozmiar każdego pojedynczego pliku nie może przekraczać 4 GB. Blok parametrów systemu BIOS FAT32 powtarza BPB FAT16 do pola BPB_TotSec32 włącznie w celu zapewnienia zgodności z wcześniejszymi wersjami systemu FAT, a następnie z różnicami.

„Sektor rozruchowy” FAT32 to w rzeczywistości trzy 512-bajtowe sektory - sektory 0, 1 i 2. Każdy z nich zawiera podpis 0xAA55 pod adresem 0x1FE, czyli w ostatnich dwóch bajtach, jeśli rozmiar sektora wynosi 512 bajtów. Jeśli rozmiar sektora jest większy niż 512 bajtów, wówczas podpis jest zawarty zarówno pod adresem 0x1FE, jak iw dwóch ostatnich bajtach sektora zerowego, to znaczy jest duplikowany.

Informacje o FS

Rekord rozruchowy partycji FAT32 zawiera strukturę o nazwie Informacje o FS, używany do przechowywania wartości liczby wolnych klastrów na woluminie. FSInfo z reguły zajmuje sektor 1 (patrz pole BPB_FSInfo) i ma następującą strukturę (adresy względem początku sektora):

  • FSI_LeadSig. Czterobajtowy podpis 0x41615252 wskazuje, że sektor jest używany w strukturze FSInfo.
  • FSI_Zarezerwowany1. Interwał od 4 do 483 bajtów sektora włącznie jest resetowany do zera.
  • FSI_StrucSig. Kolejna sygnatura znajduje się pod adresem 0x1E4 i zawiera wartość 0x61417272.
  • FSI_Free_Count. Czterobajtowe pole pod adresem 0x1E8 zawiera ostatnią liczbę wolnych klastrów na woluminie znanym systemowi. Wartość 0xFFFFFFFF oznacza, że ​​liczba wolnych klastrów jest nieznana i należy ją obliczyć.
  • FSI_Nxt_Free. Czterobajtowe pole pod adresem 0x1EC zawiera numer klastra, od którego powinno rozpocząć się wyszukiwanie wolnych klastrów w tablicy wskaźników indeksu. Zwykle pole to zawiera numer ostatniego klastra FAT przypisanego do przechowywania pliku. Wartość 0xFFFFFFFF oznacza, że ​​poszukiwania wolnego klastra należy przeprowadzić od samego początku tablicy FAT, czyli od drugiego klastra.
  • FSI_Zarezerwowany2. Zarezerwowane 12-bajtowe pole pod adresem 0x1F0.
  • FSI_TrailSig. Podpis 0xAA550000 - ostatnie 4 bajty sektora FSInfo.

Celem wprowadzenia FSInfo jest optymalizacja wydajności systemu, ponieważ w FAT32 tablica wskaźników indeksu może być duża, a jej wyszukiwanie bajt po bajcie może zająć znaczną ilość czasu. Jednak wartości pól FSI_Free_Count i FSI_Nxt_Free mogą nie odpowiadać rzeczywistości i należy je sprawdzić pod kątem adekwatności. Ponadto nie są one nawet aktualizowane w kopii zapasowej FSInfo, która zwykle znajduje się w sektorze 7.

Określanie rodzaju woluminu FAT

Określenie typu woluminu FAT (czyli wybór między FAT12, FAT16 i FAT32) jest dokonywane przez system operacyjny na podstawie liczby klastrów w woluminie, która z kolei jest określana na podstawie pól BPB. Przede wszystkim obliczana jest liczba sektorów katalogu głównego:

RootDirSectors = (BPB_RootEntCnt * 32) / BPB_BytsPerSec

DataSec = TotSec - (BPB_ResvdSecCnt + (BPB_NumFATs * FATSz) + RootDirSectors)

Na koniec określana jest liczba klastrów obszaru danych:

Liczba klastrów = DataSec / BPB_SecPerClus

Według liczby klastrów istnieje zgodność jeden do jednego z systemem plików:

  • Liczba klastrów< 4085 - FAT12
  • Liczba klastrów = 4085 ÷ 65524 - FAT16
  • Liczba klastrów > 65524 — FAT32

Zgodnie z oficjalną specyfikacją jest to jedyny prawidłowy sposób określenia typu FAT. Sztuczne utworzenie woluminu, który narusza określone reguły mapowania, spowoduje jego nieprawidłową obsługę przez system Windows. Zaleca się jednak unikanie wartości CountofClusters zbliżonych do wartości krytycznych (4085 i 65525), aby poprawnie określić typ systemu plików przez dowolne, często błędnie napisane, sterowniki.

Z biegiem czasu FAT stał się szeroko stosowany w różnych urządzeniach w celu zapewnienia zgodności między DOS, Windows, OS / 2, Linux. Firma Microsoft nie wykazała zamiaru wymuszania na nich licencji [ sprecyzować] .

W lutym 2009 roku Microsoft pozwał firmę TomTom, producenta samochodowych systemów nawigacji opartych na Linuksie, za naruszenie patentu.

Notatki

  1. http://cd.textfiles.com/megademo2/INFO/OS2_HPFS.TXT
  2. www.microsoft.com/mscorp/ip/tech/fathist.asp pod adresem archive.org
  3. Microsoft Extensible Firmware Initiative Specyfikacja systemu plików FAT32 1.03. Microsoft (6 grudnia 2000). - Forma dokumentu Microsoft Word, 268 Kb. zarchiwizowane
  4. Co z VFATem? . Archiwum TechNetu. Microsoft (15 października 1999). Zarchiwizowane od oryginału w dniu 22 sierpnia 2011 r . Źródło 5 kwietnia 2010 r .
  5. Nie należy mylić rozszerzenia systemu plików VFAT ze sterownikiem systemu plików o tej samej nazwie, który pojawił się w Windows for Workgroups 3.11 i jest przeznaczony do przetwarzania wywołań funkcji MS-DOS (INT 21h) w trybie chronionym (patrz: KB126746: Historia wersji systemu Windows for Workgroups . WERSJA 3.11 → Funkcje niezwiązane z siecią. Microsoft (14 listopada 2003). Zarchiwizowane od oryginału w dniu 22 sierpnia 2011 r . Źródło 5 kwietnia 2010 r .)
  6. Federalny Sąd Patentowy uznaje patent FAT firmy Microsoft za nieważny. heise online. Heise Zeitschriften Verlag (2 marca 2007). zarchiwizowane
  7. Briana Kahina. Microsoft podbija świat patentami FAT. The Huffington Post (10 marca 2009). Zarchiwizowane od oryginału w dniu 22 sierpnia 2011 r . Źródło 10 marca 2009 r .
  8. Ryana Paula. Pozew Microsoftu dotyczący patentów FAT może otworzyć OSS Pandora's Box (angielski) . Ars Technica. Publikacje Condé Nast (25 lutego 2009). zarchiwizowane
  9. Glyn Moody.(Język angielski) . Computerworld w Wielkiej Brytanii. IDG (5 marca 2009). Zarchiwizowane od oryginału w dniu 22 sierpnia 2011 r . Źródło 9 marca 2009 r .
  10. Steven J. Vaughan-Nichols. Firmy linuksowe podpisują pakty ochrony patentowej Microsoftu. Blogi. IDG (5 marca 2009). Zarchiwizowane od oryginału w dniu 22 sierpnia 2011 r . Źródło 9 marca 2009 r .
  11. Eryka Ogg. TomTom kontratakuje Microsoft w sporze patentowym. CNet (19 marca 2009). Zarchiwizowane od oryginału w dniu 22 sierpnia 2011 r . Źródło 20 marca 2009 r .

Spinki do mankietów

  • Standard ECMA-107 FAT