 - Abstrakční vrstva(vrstva abstraktního API) mezi OS a konkrétním souborovým systémem. 

- Na jedné straně je univerzální rozhraní pro operační systém a na druhé straně konkrétní ovladače pro všechny podporované souborové systémy 

- Lze jednoduše přidávat podporu pro různé FS jenom novým ovladačem pro VFS bez potřeby upravovat jádro. 

- Umožňuje zajistit dopřednou kompatibilitu OS s novými FS 

- rozhraní stejné pro všechny FS – aplikace nemusí znát podrobnosti o FS, jen využívá poskytnuté rozhraní

 struktura obsahující informace o otevřeném souboru (procesem)

 ukazatel na dentry = otevřený soubor (spojuje i-node – jeho číslo se jménem souboru)

 mód otevření, pozice v souboru, operace (read/write/seek)

 počet procesů sdílejících File (příkazem dup)

položka hierarchické struktury, umožňuje vytvářet stromy v moderních FS

rodič (root nemá, je jen jeden)

potomci (adresáře + soubory)

sdružený inode objekt se samotnými daty a informacemi

využití hash tabulky pro urychlení přístupu k položkám

obsahuje veškeré informace pro VFS o souboru (souborem je i adresář, blokové zařízení)

 velikost souboru, data přidání, modifikace, mazání

 počet odkazů (soft/hard link)

 odkazy na i-uzly (jeho číslo) – přímé/nepřímé

 pro prohledávání je inode ve zřetězených seznamech: nepoužívané, používané, dirty

 kořenový adresář, typ FS, seznamy i-uzlů

 všechny superbloky jsou ve spojovém seznamu

Přípojení FS

= registrace + připojení (začlenění do souborového systému)

 registrace zavedením modulu – OS má k dispozici funkce a informace pro připojení FS → body připojení = adresář, kde je FS připojen 

 kořenový souborový systém = kořen souborového systému OS

 OS přečte superblock z disku a připojí kořenový adresář do cílového bodu připojení → původní adresář je zakrytý novým FS

 přidá do seznamu připojených souborových systémů

nelze odpojit kořenový FS

 nelze odpojit používaný FS (jeho soubory)

 odpojení způsobí flush na disk (zápis dirty souborů)

 Vychází z UFS, navržen a vytvořen pro Linux

 EXT, EXT2 až EXT4

 Různé typy souborů: obyčený soubor, blokové a znakové zařízení

 žurnálovací (3 způsoby žurnálování)

 aktivně předchází fragemntaci (nelze jej defragmentovat když je připojený)

 bezpečnější mazání (složitější obnova smazaných souborů)

 zpětně kompatibilní s ext2

 Zpětně kompatibilní s ext3 (fork a přidání funkčnosti) krom extentů

 Extent: nahrazení tradičního blokového rozdělení, zmenšuje fragmentaci a zlepšuje výkon při práci s velkými soubory (alokační jednotka o velikosti až 128 MB) – při použití nelze                      mountnout jako ext3

Delayed allocation – alokování až při zápisu (zmenšuje fragmentaci)

 Rychlejší kontrola (přeskakování nealokovaného místa)

Viz Kapitola/Záložka Bakalář
