UNIX Systém souborů © Milan Keršláger 11.09.2017 http://www.pslib.cz/ke/slajdy http://creativecommons.org/licenses/by-nc-nd/3.0/
Systém souborů – FS též souborový systém, anglicky filesystem data organizovaná do souborů a adresářů uloženo na vhodném typu paměti přístupné přímo v počítači nebo přes síť obsahuje data a metadata metadata popisují organizaci dat uloženo ve vhodném formátu FAT, ext4, NTFS, ... v jádře OS ovladač souborového systému
Paměť pro FS typicky nevolatilní RWM (Read-Write Memory) data lze zapisovat (přepisovat) a číst data jsou zachována i při odpojení napájení pevný disk, flash výjimky: FS v RAM (rychlost, export dat z jádra, ...) možné typy pamětí magnetické – pevný disk (sekvenční a přímý přístup) optické – CD, DVD, Blu-ray polovodičové – RAM, Flash samozřejmě i jiné typy
Organizace FS soubory a adresáře metadata popisují organizaci dat a další informace umístění dat, přístupová oprávnění, čas změny, ... data souvislý blok dat ideální stav, ale jak budeme doplňovat a mazat data? jednotlivé alokační jednotky klasický přístup
Magnetická páska předek disket i pevných disků souvislý pás s magnetickou vrstvou vynalezeno 1935 firmy AEG a BASF pro data 1951 – UNIVAC I v 2. polovině 20. století symbolizovala „počítač“ data zaznamenána souvisle lineární zápis (páska je vždy znovu celá přepsána) „soubory“ a mezi nimi speciální značky magnetickopásková jednotka umí značky vyhledat relativně pomalé přesuny → sekvenční přístup
Disketa – FDD evoluční krok od magnetické pásky blokové zařízení (512 bajt) – podle mg. pásky médium naneseno na kotoučku floppy disk – disketa (pružný disk) 1971 – 8 palců, 1976 – 5,25“, 1984 – 3,5“ ale i jiné (např. ZIP) snadný transport, rozumná kapacita relativně robusní 160, 360, 720 kiB, 1,2 MiB, 1,44 MiB a 2,88 MiB
Pevný disk – HDD evoluční krok od diskety 1956 – IBM plovoucí hlava bezkontaktní čtení/zápis typicky pevně vestavěn specifická rozhraní 1986 – SCSI, 1986 – ATA (max. 128 GB) 2002 – ATA/100, 2003 – SATA, 2005 – SAS SSD disk používá flash paměť → bez mechanických částí
Organizace dat – HDD kvůli větší kapacitě zaveden MBR Master Boot Record logické členění disku na oddíly (partition) umístěn v prvních 512 bajtů (první blok) různé formáty DOS MBR → limit 2 GiB GPT → nástupce (součást EFI standardu) v rámci oddílu už stejná organizace jako u FDD boot sektor (512 bajtů) následuje oblast s vlastním FS (struktura dle typu)
Adresace dat na disku C-H-S Cylinder-Head-Sector cylindr, hlava, sektor používal se dříve LBA Logical Block Addresing lineární číslování současná metoda ATA/100 → 48 bitů → 128 PiB
Sektor a cluster sektor nejmenší fyzicky adresovatelný blok (disku) typicky 512 bajtů CD/DVD → 2048 bajtů (2 kiB) nové pevné disky → 4096 bajtů (4 kiB) cluster česky alokační jednotka nejmenší úsek dat adresovatelný na úrovni FS 512 bajtů, 1024, 2048, 4096, ... 64 kiB, ...
FAT File Allocation Table 1986 použit v 86-DOS, koupil Microsoft → MS-DOS ECMA a ISO/IEC standard dlouhé názvy částečně patentovány Microsoftem využívá lineární seznam struktura: boot sektor FAT1, FAT2 kořenový adresář datová oblast adresář: položka 32 bajtů jméno, přípona atributy, čas první sektor
ext4 (1) Extended Filesystem čtvrtá generace FS pro Linux vychází z UFS (Unix File system) struktura: boot blok skupina (opakuje se) superblok – metadata popisující celý FS bitmapa použitých i-nodů a datových bloků i-nody (i-uzly) – metadata jednotlivých souborů datové bloky – datové části souborů, adresáře
ext4 (2) data a metadata ve skupinách umožňuje rychlejší přístup při čtení/zápisu rozprostírá metadata po celém disku (havárie) metadata o souboru v i-uzlu i-uzel není součástí adresáře lze vytvářet pevné a symbolické odkazy adresář: název + číslo i-uzlu
Superblok metadata o celém souborovém systému opakuje se na začátku skupiny sparse-super → jen u některých (zrychlení) struktura: stav souborového systému (clean, dirty) při připojení test (+fsck) a nastavení na dirty při odpojení nastavení na clean počet připojení, poslední fsck (automatické fsck) velikosti a umístění jednotlivých částí
I-uzel metadata o souboru struktura: typ souboru vlastník, skupina časové značky poslední přístup (atime), změna dat (mtime), změna metadat (ctime) velikost počet odkazů (pro pevné linky, ale i adresáře) přímé odkazy na datové bloky nepřímé odkazy na datové bloky první úrovně nepřímé odkazy na datové bloky druhé úrovně
Nepřímé odkazy v I-uzlu