Virtuální souborový systém, Extended File System.
Thursday, May 30, 2013
8:30 AM
[link]
 - 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 VFS Linux
From <[link]> 
File 
 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)
Dentry
položka hierarchické struktury, umožňuje vytvářet stromy v moderních FS
rodič (root nemá, je jen jeden)
potomci (adresáře + soubory)
pouze virtuální (neexistuje na disku)
sdružený inode objekt se samotnými daty a informacemi
využití hash tabulky pro urychlení přístupu k položkám
Inode
obsahuje veškeré informace pro VFS o souboru (souborem je i adresář, blokové zařízení)
Jen metadata, na datové bloky odkazuje
 typ souboru, vlastník, skupina, práva, ACL
 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é
stav i-uzlu (dirty/clean)
 pro prohledávání je inode ve zřetězených seznamech: nepoužívané, používané, dirty
Superblok
 globální informace o fyzickém FS
 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ů
Odpojení FS:
nelze odpojit kořenový FS
 nelze odpojit používaný FS (jeho soubory)
 odpojení způsobí flush na disk (zápis dirty souborů)
EXT (Extended File System)
 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í
 Pevné odkazy, symbolické odkazy
 Ext3
 ž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
 Ext4
 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)
 Nanosekundový timestamp
FAT
Viz Kapitola/Záložka Bakalář
NTFS
[link]
From <[link]> 