Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS
Souborové systémy – 1 Proč? při běhu práce s omezeným množstvím informace v hlavní paměti ztráta informace při ukončení procesu sdílení informace mezi více procesy
Souborové systémy – 2 Co potřebuji pro dlouhotrvající uložení informace? Možnost uložit obrovské množství dat Informace musí přežít ukončení procesu (persistence) Více procesů najednou musí mít možnost přistupovat k datům současně
Soubory – 1 Soubor je pojmenovaná množina souvisejících informací, která leží v pomocné paměti. Soubor je abstrakce, která umožňuje uložit informaci na disk a později ji přečíst. Abstrakce odstiňuje uživatele od podrobností práce s disky.
Soubory – 2 Soubory mají jméno atributy strukturu typ Na souborech jsou definovány druhy přístupu operace
Pojmenování souborů Umožňuje i prostému uživateli přístup k jeho datům Přesná pravidla pojmenování určuje OS malá x velká písmenka speciální znaky délka jména přípony a jejich význam
Atributy souborů Definují vlastnosti a uchovávají informace o souboru Atributy opět určuje OS jméno typ umístění velikost ochrana čas vytvoření, zápisu vlastník
Struktura souborů Sekvence bajtů Win, UNIX Sekvence záznamů Strom
Typy souborů Běžné soubory obsahují informace Adresáře systémové soubory vytvářející strukturu souborového systému Speciální soubory znakové/blokové
Druhy přístupu k souborům Sekvenční pouze pohyb vpřed, možný rewind umožňuje OS přednačítání Přímý přístup umožňuje měnit aktuální pozici Paměťově mapované využití stránkování
Paměťově mapované soubory „Pojmenovaná“ virtuální paměť Výhody program přistupuje k souboru instrukcemi pro práci s pamětí ušetří se kopírování pamětí Problémy přesná velikost souboru zvětšování souboru velikost souborů
Operace se soubory CREATEvytvoření souboru (jméno) DELETEsmazání souboru (jméno) OPENotevření souboru (jméno) CLOSEzavření souboru (id) READčtení ze souboru (id) WRITEzápis do souboru (id) SEEKposun aktuální pozice (id)
Adresáře Proč? udržení organizační struktury souborů uchovávání atributů souboru Zvláštní typ souboru Dnes typicky hierarchický systém kořen Operace nad adresáři hledání souboru vypsání adresáře přejmenování, vytvoření, smazání souboru
Cesty Pojmenování souboru v hierarchickém uspořádání Aktuální adresář vlastnost procesu jména souborů, která nezačínají kořenem, se hledají vzhledem k aktuálnímu adresáři Absolutní cesta cesta v grafu od kořene k souboru Relativní cesta cesta z aktuálního adresáře k souboru speciální pojmenování pro aktuální adresář a otce (např.. a..)
Hierarchická struktura – strom Jednoznačné pojmenování /A/B/D/g
Hierarchická struktura – DAG Víceznačné pojmenování Nejsou cykly /A/B/D/g nebo /A/C/g
Hierarchická struktura – obecný graf Víceznačné pojmenování Cykly vytváří problém při prohledávání /A/B/D/g nebo /A/B/D/A/C/g
Implementace souborových systémů Správa souborů kde jsou umístěna data uložená v souboru Správa adresářů mapování jména na jeho binární identifikaci uložení atributů Správa volného místa které bloky jsou ještě volné
Velikost bloku Soubory se ukládají na disk po blocích Disky jsou organizovány po sektorech Velké bloky rychlejší práce s diskem nebezpečí velké vnitřní fragmentace průměrná velikost souboru ≈1500B Malé bloky pomalejší práce s diskem větší režie na udržení informace o volných blocích
Uložení souborů – 1 Souvislá alokace souvislý sled bloků informace o uložení souboru sestává pouze z čísla prvního bloku lepší práce s diskem problém při hledání volného místa problém při zvětšování souborů
Uložení souborů – 2 Spojovaná alokace pospojování bloků použitých pro soubor modifikace FAT – přemístění spojového seznamu do speciální oblasti disku 215 FREE END FREE adresář FAT disk
Uložení souborů – 3 Indexová alokace UNIX a i-node ATTR 156
Implementace adresářů Záznamy pevné velikosti FAT Spojový seznam delší jména pomalé hledání B-stromy rychlé hledání Win NT
Volné místo na disku Obdobně jako volné místo v paměti Bitmapa HPFS, NetWare Spojový seznam volných bloků UNIX