490 likes | 784 Views
Bibliografia: Windows XP. Komendy i polecenia. Praktyczne przykłady , P. Czarny Windows XP. Naprawa i optymalizacja , B. Danowski Windows XP Home Pl , D. Mendrala i M. Szeliga Windows Vista PL. Instalacja i naprawa , B. Danowski www.chip.pl www.howto.pl www.wikipedia.pl. Systemy plików.
E N D
Bibliografia: Windows XP. Komendy i polecenia. Praktyczne przykłady, P. Czarny Windows XP. Naprawa i optymalizacja, B. Danowski Windows XP Home Pl, D. Mendrala i M. Szeliga Windows Vista PL. Instalacja i naprawa, B. Danowski www.chip.pl www.howto.pl www.wikipedia.pl Systemy plików Opracował: Andrzej Nowak
FAT(ang. File Allocation Table) /tablica alokacji (rozmieszczenia) plików/ - jest to system plików powstały pod koniec lat 70-tych, zastosowany w systemach operacyjnych: DOS i Windows. Określa on rozmieszczenie plików, katalogów i wolnej przestrzeni na takich nośnikach danych jak dyskietki i twarde dyski. Najważniejszym elementem systemu jest tablica informująca o rozmieszczeniu plików na dysku (FAT) od nazwy tej tablicy pochodzi nazwa systemu.
Jest to najważniejsza część systemu plików. Na każdej partycji dysku twardego znajdują się dwie takie tablice: FAT #1 i FAT #2. FAT #2 jest dokładną kopią FAT #1. Zabieg taki został zastosowany w celu zminimalizowania możliwości błędu. Najmniejsza pomyłka w tablicy oznacza utratę przynajmniej części pliku.
Poniższa tabela przedstawia strukturę tablicy FAT 0 1 2 3 4 5 6 7 8 9 A B C ... 0 ID FF 3 4 5 FF 0 0 0 0 0 0 0 1 0 0 13 14 15 18 0 0 19 1A FF 0 0 2 F7 0 0 ... 3 ... Adres każdego pola w tabeli jest sumą wartości z wiersza i kolumny. Np. komórka z wartością F7 ma adres 20, komórka z wartością 19 adres 18, a komórka z wartością 4 adres 03 (lub prościej 3). Na początku znajduje się ID. Jest to Media Descriptor .
Definicje: Media Descriptor - Identyfikator tablicy FAT. Ta wartość znajduje się na początku tablicy FAT i jest używana w celu potwierdzenia zgodności danych.
Co oznaczają wartości w komórkach? • Każda komórka reprezentuje jeden klaster dysku. • Klastry obejmują tylko obszar danych. • Plik może, ale nie musi zmieścić się w jednym klastrze. • W Root Directory (struktura opisana dalej) znajdują się dodatkowe informacje o plikach i adres klastra, w którym zaczyna się dany plik. • Jeżeli system chce odwołać się do danego pliku to najpierw sprawdza miejsce jego startu w Root Directory, a następnie odwołuje się do tablicy FAT dzięki której może znaleźć na dysku cały plik.
Popatrzmy jeszcze raz na przykład podany powyżej. • Załóżmy, że chcemy otworzyć plik o nazwie ala.txt. • Z Root Directory dowiedzieliśmy się, że zaczyna się on w komórce o adresie 02. • Patrzymy więc na tablicę FAT i w komórce o adresie 02 mamy wartość 3. • Oznacza to, że plik nie zmieścił się w jednym klastrze, a dalsza jego część znajduje się w klastrze o adresie 03. • Analogicznie z 3 przechodzimy do 4 a potem do 5. • W komórce 5 znaleźliśmy znak FF, co oznacza że w tym klastrze nasz plik się kończy. W ten sposób dotarliśmy do całego pliku.
Oczywiście pliki nie muszą być na dysku zapisane w postaci ciągłej. Jedna część pliku może znajdować się w środku dysku a inna na końcu. Zobacz na plik który zaczyna się w klastrze 12. W komórce 15 jest odnośnik nie do komórki 16 lecz 18, tak więc plik podzielono na dwie części.
Wszystkie adresy i oznaczenia w tabeli są podawane w systemie heksadecymalnym. Dla uproszczenia w tabelce wpisano wartości skrócone. Dla FATu 12 np. FF będzie w rzeczywistości wynosiło FFF, a F7 - FF7. Poniżej opisałem jaką funkcję pełnią wszystkie wartości w komórkach (FAT 12):
000 - klaster dostępny do zapisu od 002 do FEF - nr następnego klastra (dalszy ciąg pliku) od FF0 do FF7 - klaster zarezerwowany przez system FF7 - klaster uszkodzony (szczególny przypadek klastra zarezerwowanego) od FF8 do FFF - koniec łańcucha alokacji (pliku)
Dysk składający się z jednej partycji w systemie FAT podzielony jest na następujące obszary: • Master Boot Record • Disk Partition Table • Hidden • Boot Record • FAT #1 • FAT #2 • Root Directory • Obszar danych • Jeżeli dysk jest podzielony na więcej partycji, to powyższa struktura znajduje się na początku dysku, a na kolejnych partycjach istnieją wszystkie elementy z wyjątkiem MBR, DPT i Hidden. • Obszar danych jest jedynym obszarem widocznym bezpośrednio przez użytkownika.
Master Boot Record (Główny rekord startujący) Jest to pierwszy obszar na dysku, do którego odwołuje się uruchamiany komputer. Znajduje się w nim program pozwalający przejść i poprawnie odczytać informacje zawarte w Disk Partition Table
Disk Partition Table (Tablica Partycji Dysku) Każdy dysk twardy może być podzielony na partycje, określone nazwami C:, D:, E: itd.. W DPT znajdują się rekordy (opisy kolejnych partycji). Można w nich znaleźć podstawowe informacje dotyczące położenia, wielkości i systemu plików użytego na danej partycji.
Poniższa tabela przedstawia strukturę DPT. Pierwsze 2 wiersze przedstawiają 2 rekordy. Trzeci wiersz ma wielkość 2 bajtów i oznacza koniec struktury DPT. Każdy rekord składa się z 16 bajtów. W pierwszym bajcie znajduje się określenie partycji aktywnej (tej z której startuje system operacyjny). Pozostałe 15 bajtów opisuje strukturę i położenie danej partycji.
W tabeli poniżej znajduje się opis funkcji każdego z 16 bajtów.
Boot Record Kiedy komputer startuje, BIOS czyta 1. sektor logiczny czyli MBR i DPT. Na podstawie uzyskanych informacji podejmuje decyzję o starcie z konkretnej partycji. Do pamięci załadowany zostaje Boot Record.
Definicje: offset- Przesunięcie podawane w bajtach. Wartość ta określa odległość od początku Boot rekordu w bajtach długość - Wielkość danego pola w bajtach JMP- Kiedy jest ładowany Boot Record najpierw wykonywane jest polecenie skoku, czyli przejścia do programu BOOT (ostatnie pole). Dzięki programowi BOOT komputer jest w stanie poprawnie odczytać pozostałe informacje w BOOT recordzie. Liczba tablic FAT - z reguły ta wartość wynosi 2 ponieważ właśnie tyle tablic jest na dysku twardym.
Definicje: Maksymalna liczba pozycji w katalogu - Wartość ta określa maksymalną liczbę plików i katalogów jaka może się znaleźć na danej partycji
Root Directory Kiedy otwieramy jakiś katalog i oglądamy w oknie pliki i podkatalogi to jednocześnie przeglądamy zawartość Root Directory. To właśnie w tej strukturze przechowywane są informacje takie jak: nazwa pliku (katalogu), rozszerzenie, czas i data utworzenia, rozmiar, atrybuty i klaster, w którym nasz plik się zaczyna. Root Directory składa się z 512 pozycji zwanych ENTRY.
Opisałem poniżej jedną pozycję, która ma rozmiar 16 bajtów. Pierwszy rząd przedstawia numer bajta, drugi funkcję.
Objaśnienia: • Nazwa pliku może wynosić maksymalnie 8 znaków. • Jest sześć atrybutów: archiwalny, plik czy katalog, czy nazwa woluminu dysku (np. C:), systemowy, ukryty, tylko do odczytu. • Obszar zarezerwowany będzie później wykorzystywany przez Windows do podawania dłuższej nazwy pliku. • Pole start to adres w tabeli FAT, w którym zaczyna się plik. • Skoro Root Directory posiada tylko 512 pozycji, to tyle właśnie powinna wynosić maksymalna liczba plików i katalogów na nośniku.
Obszar Danych (Data Area) jest jedyną strukturą w pełni dostępną użytkownikowi. Obszar danych zajmuje większość naszej powierzchni dyskowej i jest podzielony na klastry. Są one adresowane tak jak miało to miejsce w tablicy FAT.
FAT12- System alokacji plików systemu plików FAT, opracowany przez firmę Microsoft. Wykorzystywany dla prostych systemów operacyjnych jak np. DOS. Ze względu na prawa patentowe i praktyczny monopol firmy Microsoft używany głównie w systemach operacyjnych tej firmy. Obecnie ten system plików nie jest stosowany ze względu na niewielkie możliwości (rozmiar obsługiwanych dysków) oraz słabą metodę ochrony przed błędami (przeplatanie plików, utrata klastrów).
FAT12 pozwala na: obsłużenie 4096 jednostek alokacji. Wielkośćjednostki alokacji waha się: od 512B do 32KB i można jąustalićprzy formatowaniu, dzięki czemu FAT12 pozwala na utworzenie partycji o rozmiarze: od 2MBdo 128 MB.
W systemie FAT12 rekord ładujący znajduje się w pierwszym sektorze dyskietki lub dysku logicznego z danymi: • instrukcją skoku do początku programu ładującego (3 bajty) • nazwą wersji systemu operacyjnego (8 bajtów) • blokiem parametrów BIOS-u (25 bajtów) • rozszerzonym blokiem parametrów BIOS (26 bajtów) • wykonywalnym kodem startowym systemu operacyjnego (448 bajtów) • znacznikiem końca sektora 55AAh (2 bajty)
FAT16- Odmiana systemu plików FAT, z którego mogą korzystać różne systemy operacyjne. Pierwsze komputery klasy PC pracujące pod kontrolą systemu DOS miały architekturę 16-bitową. Oznaczało to, że ich system plików mógł opisać tylko 65536 klastrów. Klastry były rozmiarowo równe fizycznym sektorom dysku twardego (512 bajtów), jednakże ograniczało to pojemnośćdo 32 MB. Większy dysk twardy trzeba było dzielićna partycje.
Zatem postanowiono zwiększyć rozmiar jednostek alokacji. Jednakże gdy wielkość dysków doszła do 1 gigabajta, jednostki alokacji osiągnęły rozmiar 32 kilobajtów. Tak duża wielkość spowodowała duże marnotrawstwo przestrzeni dyskowej (plik zawierający 10 bajtów informacji zajmował na dysku 32 kilobajty miejsca). Drugim mankamentem systemu plików FAT16 było ograniczenie wielkości dysku do 2,1 GB.
Inną cechą systemu FAT16 jest nie rozróżnianie wielkości liter w nazwach plików, oraz ograniczenie długości nazwy plików do 12 znaków. FAT16 jest stosowany w systemach operacyjnych Microsoftu od MS-DOS do Windows 95. W Windows 95 OSR2 wprowadzono po raz pierwszy FAT32, który wraz z NTFS jest stosowany w nowszych systemach tej firmy. System FAT16 jest nadal często stosowany na niewielkich mediach, np. kartach pamięci flash.
FAT32 (który pomimo nazwy sugerującej 32 bity, używa tylko 28 bitów) pozwalając teoretycznie na opisanie 268.435.438 klastrów, co umożliwiałoby użycie go nawet na wieloteraBajtowych dyskach twardych. W rzeczywistości, z powodu ograniczeń wbudowanych w program użytkowy "ScanDisk" firmy Microsoft, który obsługuje maksymalnie 4.177.920 klastrów, wielkość partycji obsługiwanej w tym systemie plików nie może przekroczyć 124,55 gigabajtów, co nie pozwala na jego użycie z nowymi generacjami twardych dysków. Maksymalny rozmiar pliku to 4 GB - 1 B (232 B - 1 B).
MSDOS, WIN 95 oraz system NT4.0 nie rozpoznają partycji FAT32 oraz nie mogą z niej startować. W momencie powstania, był on wyraźnie lepszy od swojego poprzednika FAT16, jednak z powodu swoich ograniczeń nie jest już używany w nowych systemach operacyjnych Microsoftu takich jak Windows XP. Co ciekawe,system operacyjny Windows XP poprawnie obsługuje partycje FAT32 tylko do rozmiaru 32GB. Aby utworzyć partycję o rozmiarze większym niż 32GB, należy posłużyć się alternatywnym narzędziem do partycjonowania, systemem Windows 95OSR2/98 lub używać systemu plików NTFS.
Przykłady implementacji systemu plików • DOS — wpis katalogowy zawiera indeks pierwszej jednostki alokacji, a pozostałe jednostki wynikają z tablicy FAT.
DOS — informacje ogólne • Katalog zawiera 32-bajtowe wpisy, obejmujące podstawowe atrybuty pliku (nazwa, typ, rozmiar itp.) • Katalogi tworzą strukturę wielopoziomową (katalog zawiera wpis specyfikujący inny katalog). • Dane (zawartość pliku) znajdują się w blokach (jednostkach alokacji) o ustalonym rozmiarze. • Bloki identyfikowane są z pośrednictwem tablicy FAT, a indeks pierwszego bloku znajduje się we wpisie katalogowym. • Wolne bloki identyfikowane są poprzez specjalny kod wpisane w odpowiedniej pozycji w tablicy FAT.