Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Základy operačních systémů
Souborové systémy Jakub Yaghob
2
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
3
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ě
4
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.
5
Soubory – 2 Soubory mají Na souborech jsou definovány jméno atributy
strukturu typ Na souborech jsou definovány druhy přístupu operace
6
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
7
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
8
Struktura souborů Sekvence bajtů Win, UNIX Sekvence záznamů Strom
9
Typy souborů Běžné soubory Adresáře Speciální soubory
obsahují informace Adresáře systémové soubory vytvářející strukturu souborového systému Speciální soubory znakové/blokové soft linky
10
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í
11
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ů
12
Operace se soubory CREATE vytvoření souboru (jméno) DELETE
smazání souboru (jméno) OPEN otevření souboru (jméno) CLOSE zavření souboru (id) READ čtení ze souboru (id) WRITE zápis do souboru (id) SEEK posun aktuální pozice (id)
13
Adresáře Proč? Zvláštní typ souboru Dnes typicky hierarchický systém
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
14
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 ..)
15
Linky Hard link Soft link (symbolický link)
Na jedna data souboru se odkazuje z různých položek v adresářích Soft link (symbolický link) Speciální soubor, který obsahuje jméno souboru
16
Hierarchická struktura – strom
Jednoznačné pojmenování /B/D/g
17
Hierarchická struktura – DAG
Víceznačné pojmenování Nejsou cykly /B/D/g nebo /C/g
18
Hierarchická struktura – obecný graf
Víceznačné pojmenování Cykly vytváří problém při prohledávání /B/D/g nebo /B/D/q/C/g
19
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é
20
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
21
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ů
22
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 adresář 213 212 216 213 215 214 214 FREE 215 END 215 216 213 217 FREE 216 FAT disk
23
Uložení souborů – 3 Indexová alokace UNIX a i-node ATTR 212 228 156
24
Implementace adresářů
Záznamy pevné velikosti FAT Spojový seznam delší jména pomalé hledání B-stromy rychlé hledání Win NT
25
Volné místo na disku Obdobně jako volné místo v paměti Bitmapa
NTFS, HPFS, NetWare Spojový seznam volných bloků UNIX, EXT (ne EXT2)
26
NTFS – charakteristika
V podstatě neomezená velikost systému (16 exaB) V podstatě neomezený počet souborů Jména v UCS2 max. 255 znaků Libovolné atributy – včetně přístupových práv Vícenásobné streamy Sparse file – díry ve streamech Šifrování - od NTFS 5 Komprese Automatická fault tolerance – žurnálování, transakce Hard linky Symbolické linky – od NTFS 5 Adresáře jsou soubory s B-stromem s odkazy na soubory
27
NTFS – MFT Řídící struktury obsaženy ve speciálním souboru MFT (Master File Table) MFT rozdělena na záznamy (1 KB) Prvních 16 souborů je speciálních – metasoubory $MFT – sama MFT $MFTmirr – kopie prvních 16 záznamů MFT $LogFile – žurnál $AttrDef – seznam std. atributů souboru na systému $Volume – informace o systému $. – kořenový adresář $Bitmap – bitmapa volného místa
28
NTFS – MFT záznam Základní záznam obsahuje
Počet odkazů Příznaky Seznam atributů (včetně streamů) – jméno, typ, data „Data“ souboru jsou taky stream s názvem :$data Přístup ke streamu je soubor:stream Data rezidentní – přímo v MFT Data nerezidentní – run list Pokud pro popis dat nebo seznamu atributů nestačí základní záznam, tak se připojí další záznamy
29
NTFS – run list VCN – virtual cluster number
Od začátku souboru LCN – logical cluster number Od začátku systému Jeden run Velikost runu, VCN, LCN, odkaz na další run
30
EXT2/EXT3 – charakteristika
Velikost systému 4TB Jména max. 255 znaků Rezervace volného místa pro roota Hard linky Symbolické linky Prealokace po 8 souvislých blocích při zápisu, zbytek vrácen při zavření Nezávislé žurnálování – EXT3 Souborový systém rozumí transakci, ale nedělá žurnálování Několik transakcí je cachováno, a pak uloženo najednou do žurnálu jako složená transakce
31
EXT2/EXT3 – struktura na disku
32
EXT2/EXT3 – inode Rezervovaná inode (první volný je 11)
EXT2_BAD_INO – seznam špatných bloků EXT2_ROOT_INO – kořenový adresář Několik pevných atributů UID, GID, velikost, různé časy, počet odkazů 12 přímých odkazů na bloky Jeden nepřímý, jeden dvojitě- a jeden trojitě-nepřímý odkaz
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.