Next: Reiser Filesystem
Up: Najpopularniejsze systemy plików dostępne
Previous: Wstęp
Spis rzeczy
Subsections
Korzenie Extended Filesystem 3 (Ext3) sięgają początków Linuxa,
a właściwie nawet wcześniej i są związane z systemem operacyjnym
MINIX. Dla MINIXa został opracowany specjalny system plików o
tej samej nazwie. Wraz z pojawieniem się Linuxa zaadoptowano ten
system na jego potrzeby. W ten sposób MINIX stał się pierwszym
systemem plików przeznaczonym Linuxa.
System MINIX posiadał wiele ograniczeń, które odziedziczyła po
nim jego Linuxowa wersja. Jednym z nich było ograniczenie długości
nazwy pliku do 14 znaków (wkrótce rozluźniono je do 30 znaków).
Poza tym wielkość partycji nie mogła przekraczać 64Mb.
Mimo tych niedogodności system MINIX pozostawał w użyciu przez
bardzo długi czas zyskując sobie miano najbardziej godnego
zaufania systemu plików dla Linuxa.
Następca MINIXa stał się system ExtFS (Extended Filesystem).
Pozwalał on na stosowanie nazw plików o długości nie większej niż
255 oraz plików i partycji do 4Gb. Nie zyskał on sobie wielkiego
uznania ze względu na sposób spamiętywania wolnych bloków i
i-węzłów (stosowane w tym celu były listy), który to prowadził,
przy dłuższym użytkowaniu, do znacznej fragmentacji dysku i
poważnego spadku wydajności.
Po Ext pojawił się, dość nieoczekiwanie, system Ext2, bazujący
poza Ext także na FFS (BSD Fast Filesystem). Z systemu FFS
zaczerpnięto między innymi podział partycji na bloki alokacji
oraz ich strukturę.
Ext2 zyskał sobie znacznie większe uznanie od Ext i wkrótce
stał się podstawowym systemem plików dla Linuxa.
Dość szybko zaczęły się pojawiać różnego rodzaju nakładki
(patches) na Ext2. Po pewnym czasie zostały one zebrane
tworząc w ten sposób system Ext3.
Ze względu na fakt, że system Ext2 był bardzo dokładnie omówiony
na wykładzie z Systemów Operacyjnych, nie będę tu podawał szczegółów
jego budowy. Wspomnę jedynie o cechach, które zostały dodane do niego
w wersji 3:
- księgowanie (journaling) operacji dyskowych zapewniające
szybkie odzyskanie spójności danych w razie załamania się systemu,
z możliwością wyboru jednego z trzech poziomów bezpieczeństwa (od
najbardziej do najmniej bezpiecznego):
- journal - zapisuje do dziennika wszystkie operacje dyskowe
(zarówno na danych jak i metadanych systemu plików)
- ordered - zapisuje wszystkie zmiany metadanych systemu plików
dopiero po dokonaniu zapisu samych danych (tryb domyślny)
- writeback - zapisuje asynchronicznie wszystkie zmiany
metadanych systemu plików
- fragmentacja bloków (podział bloku dyskowego na mniejsze
jednostki równej wielkości, umożliwiające zapis w jednym bloku
kilku małych plików)
- opcjonalna obsługa skompresowanych i zaszyfrowanych plików
- opcjonalna obsługa list kontroli dostępu (ACL - Access
Control List) do pliku
- opcjonalna obsługa zamazywania zawartości bloków dyskowych,
przy usuwaniu plików do których te bloki przynależały
Ext3 nie jest być może systemem bardzo innowacyjnym w porównaniu z
chociażby ReiserFS, XFS czy JFS, lecz mimo to zapewnia wciąż w
porównaniu z konkurentami dobrą wydajność, wystarczająca do
większości zastosowań.
Next: Reiser Filesystem
Up: Najpopularniejsze systemy plików dostępne
Previous: Wstęp
Spis rzeczy
Elżbieta Krępska
2004-01-19