1 / 32

Základy operačních systémů

Základy operačních systémů. Souborové systémy Jakub Yaghob. 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.

kelda
Download Presentation

Základy operačních systémů

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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í • 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 • 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

  13. 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

  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 • 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

More Related