Przeglądasz zaktualizowaną wersję artykułu.
wtorek,
Extended File System
System plików to metoda przechowywania i zarządzania danymi. Każdy system posiada swój własny dyskowy system plików. Najbardziej popularnym linuksowym systemem plików jest obecnie ext4 (Extended File System), choć nie jest to jedyne dostępne rozwiązanie. Początkowo (1991) Linux obsługiwał tylko jeden typ systemu plików, bazujący na miniksowym. Jego ograniczenia, m.in. maksymalny rozmiar partycji i pliku wynoszący 64 MiB, spowodowały, że konieczne stało się napisanie systemu plików od podstaw. W 1992 roku francuski programista Rémy Card opracował system plików nazwany rozszerzonym systemem plików (Extended File System), w skrócie ext. Pozwalał on zapisywać pliki o rozmiarze do 64 MiB i tworzyć partycje do 2 GiB.
Już rok później pojawił się system plików ext2. W odróżnieniu od poprzednika m.in. zawierał on mechanizm zapobiegający znacznej fragmentacji danych oraz dopuszczał pliki o wielkości do 2 GiB i partycje o wielkości do 4 TiB. Dla porównania w ówczesnych systemach Windows i systemie plików FAT16 wartości te były równe i wynosiły 2 GiB. System plików ext2 był rozwijany przez wiele lat. W tym okresie powstały także konkurencyjne systemy plików, np. ReiserFS. W 2001 roku wydano oparty na ext2 system plików ext3. Wśród wielu nowości najważniejszą własnością ext3 był dodany mechanizm księgowania, który w razie awarii znacznie zmniejsza ryzyko utraty danych. System ext2 można w prosty sposób przekształcić do systemu ext3, odwrotna operacja również nie stanowi problemu. W ext3 maksymalne limity wielkości wynosiły 2 TiB w przypadku pliku oraz 32 TiB dla partycji.
Kolejnym krokiem w rozwoju był ext4. W 2006 roku developerzy jądra Linux sprzeciwili się dalszemu rozwijaniu ext3 ze względu na stabilność i zaproponowali stworzenie nowej gałęzi nazwanej jako ext4. Pozwoliło to na prowadzenie wprowadzanie usprawnień systemu plików bez wpływu na użytkowników ext3. Testowe wersje ext4 włączono do jądra Linuksa w 2008 roku, stabilna wersja pojawiła się w 2008 roku. Czwarta wersja Extended File System umożliwia obsługę woluminów do 1 EiB oraz pojedynczych plików o rozmiarze do 16 TiB. System plików ext4 jest wstecznie kompatybilny z ext3 i ext2, co oznacza, że pozwala na zamontowanie ext3 oraz ext2 jako ext4. Odwrotna operacja jest bardziej problematyczna, a w niektórych konfiguracjach niemozliwa. W systemie ext3 katalog mógł zawierać maksymalnie 31 998 podkatalogów, jego następca podniósł ten limit do rzędu kilku miliardów, dokładna liczba w tym wypadku zależy od wersji jądra Linux. System ext4 przyniósł wiele innych nowości, np. mechanizm extents, prealokację, opóźnioną alokację, sumę kontrolną dziennika, dodane w jądrze Linux 4.1 transparentne szyfrowanie, ulepszone znaczniki czasu, a także znaczne zwiększenie wydajności w stosunku do poprzednika.