41 - Systémy souborů, metadata a odolnost vůči výpadku Flashcards
Metadata, organizace souborů a základní operace
Organizace souborů - bývá hiearchická, je nutný - víceúrovňový - adresář souborů (mapuje jméno na identifikaci).
- vyhledávání podle seznamu, stromu nebo hash tabulky
Metadata - popisují organizaci, pojmenování souborů a další informace o souborech
Operace se soubory
- Zpřístupnění - vyhledání informací o souboru na základě jména, metadata
- Čtení a zápis - na základě deskriptoru souboru
- Manipulace - podle jména, podle deskriptoru, změny metadat
Operace se soubory - Zpřístupnění souboru
Umístění metadat
- přímo v adresáři
- zvláštní datová jednotka (např. i-nody na začátku disku)
Pojmenování souborů
- jednoúrovňový adresář
- víceúrovňový adresář (např. strom/acyklický graf, problém rychlosti vyhledání jména)
Správa adresářů
- oddělená obsluha - speciální struktury, možná optimalizace
- adresář jako soubor - v podstatě standardní soubor, zapisovat může pouze systém
Délka jména souboru
- pevná
- proměnná
Metadata v UNIXu (BSD)
- typ souboru (adresář, speciální soubor, roura, socket)
- majitel, skupina
- práva
- počet odkazů (hardlink)
- velikost
- čas posledního přístupu, změny, změny stavu
- indexy přímých a nepřímých alokačních bloků
Operace se soubory - Zpřístupnění souboru - Odolnost vůču výpadku
Odolnost FS proti výpadku = je vynucena existencí více míst, kde je nutná změna
- Zajišťuje odolnost primárně pro metadata, ztrátu dat je třeba řešit synchronním režimem V/V
příklad: smazání souboru =
- zrušení položky v adresáři (zápis do adresáře),
- uvolnění i-nodu (zápis do tabulky i-nodů),
- uvolnění alokačních bloků (zápis uvolněných alokačních bloků do indexů, bitové mapy),
- aktualizace počtu volných/obsazených bloků a inodů (zápis do superbloku).
- > Pokud jsou tyto zápisové operace realizovány asynchronně, vzniká při výpadku nekonzistentní a nezotavitelný stav metadat na disku (UFS).
Řešení:
- Synchronní zápis - zápis metadat v daném pořadí, při výpadku lze detekovat a opravit, hodně pomalé
- Soft metadata update - zápis diskových bloků v tom pořadí, jak to vyžaduje V/V vyrovnávání; - pokud I/O vykoná něco asynchronně, změní se ostatní data tak, aby to reflektovala
- Transakční zpracování - vyžaduje žurnálování, zaznamenávají se operace, které se budou provádět a informace o jejich dokončení, při výpadku se podle logu operace rekonstruují
Operace se soubory - Čtení a zápis
- Vyhledání souboru je náročná operace, nemá smysl ji opakovat pro každou operaci
- > otevřený soubor je identifikován v tabulce otevřených souborů, přistupuje se k němu pomocí deskriptoru
- Odkazy ze dvou tabulek deskriptorů dvou různých procesů mohou identifikovat stejnou položku v systémové tabulce otevřených souborů
- > mohou sdílet otevřený soubor.
- > Při tom je třeba dát pozor na to, že sdílí i pozici v souboru !!!