Súborový systém Ing. Viliam Solčány, PhD. ÓÐ ÒÝ Øº ØÙ º ZS 2011/2012 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 1 / 42
Osnova Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 2 / 42
Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 3 / 42
Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory Aplikácie potrebujú dlhodobo uchovávat dáta, napr. bankové systémy, rezervácie leteniek,... Možnost ukladat vel ké množstvo dát (viac ako virtuálny adresový priestor) Možnost uchovat dáta aj po ukončení procesu Možnost zdiel at dáta viacerými procesmi Preto majú počítače pamät ové média ako magnetické disky apod. Problémy, ktoré vznikajú pri ich používaní Alokácia priestoru Pomenovanie uložených dát Ochrana pred neoprávneným prístupom Zotavenie po havárii (napr. výpadok napájania) OS pre prístup k médiám poskytuje abstrakciu od fyzických vlastností médií - súbor Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 4 / 42
(2) Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory Súbor je pomenovaná množina súviciacich informácií Súborový systém (File System, FS) Čast OS, ktorá poskytuje mechanizmus pre ukladanie a prístup k súborom Existujú rôzne typy FS, pojmom súborový systém sa označuje tiež typ FS Súčasné OS obvykle implementujú viac typov FS Linux: ext2, ext3, ext4, XFS, ReiserFS,... Win NT: NTFS, FAT16, FAT32 Poznámka k histórii Ked vstupným médiom boli dierne štítky, pojmom súbor sa označovala množina diernych štítkov Ked vstupným médiom boli mag. pásky, súborom bola množina záznamov na páske Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 5 / 42
Mená súborov Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory K najdôležitejším charakteristikám každého abstraktného mechanizmu patrí spôsob pomenovania objektov, ktoré poskytuje Pravidlá pre vytváranie mien súborov sa v systémoch líšia Rozlišovanie malých a vel kých písmen UNIX, Linux áno; FAT, NTFS nie Maximálna dĺžka mena súboru UNIX, Linux obvykle 256; FAT 8+3; NTFS 256 Množina znakov, ktoré mená súborov môžu obsahovat UNIX, Linux všetky 8-bitové znaky okrem \ 0 a / ; NTFS Unicode Prípony (extensions) v menách súborov UNIX, Linux FS prípony nepozná, programy môžu využívat, napr. kompilátor; Win OS môže registrovat prípony (priradit program) Iné obmedzenia Napr. Win medzera nesmie byt prvý znak,... Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 6 / 42
Vnútorná štruktúra súborov Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory Obvyklé sú 3 spôsoby Súbor je neštruktúrovaná postupnost bajtov OS nevnucuje/nerozoznáva vnútornú štruktúru súborov Maximálna flexibilita Napr. UNIX, Windows Súbor je postupnost záznamov pevnej dĺžky Číta a zapisuje sa po záznamoch Pochádza z doby diernych štítkov, jeden záznam zodpovedá jednému štítku (80 znakov), príp. jednému riadku na tlačiarni (132 znakov) V súčasnosti sa nepoužíva Súbor je strom záznamov premenlivej dĺžky Každý záznam obsahuje kl úč, podl a kl účov sú záznamy usporiadané Súbor umožňuje sprístupnit záznam s daným kl účom Používa sa vo vel kých počítačoch (mainframe) pre komerčné spracovanie dát Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 7 / 42
Typy súborov Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory OS obvykle rozoznáva niekol ko typov súborov Obyčajné súbory Textové (ASCII) riadky textu ukončené LF (UNIX), CR (Mac), CR+LF (Win) Dajú sa editovat l ubovol ným textovým editorom Základ pre prácu v shelli (prepájanie rúrami, filtre,... ) Binárne vykonatel né súbory, archívy,... OS rozumie štruktúre vykonatel ných súborov systémové súbory, ktoré umožňujú vytvorit hierarcickú štruktúru v FS V UNIXe tiež Špeciálne súbory znakové a blokové reprezentujú zariadenia Pomenované rúry pre medziprocesovú komunikáciu Symbolické linky,... Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 8 / 42
Spôsoby prístupu k obsahu súboru Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory Sekvenčný prístup Dáta sa čítajú od prvého záznamu postupne v poradí, v ktorom sú uložené Je možnost nastavit aktuálnu pozíciu na začiatok ( pretočit ) Používa sa na mag. páskach Priamy prístup (Random Access) Čítanie z l ubovol nej pozície, príp. podl a kl úča Pozícia sa určí V každej operácii Ö Operácia nastaví pozíciu, Ö potom číta sekvenčne od danej pozície Priamy prístup je potrebný pre mnohé aplikácie, napr. databázy,... V niektorých starších OS sa dalo pri vytvorení súboru určit, či bude prístup sekvenčný alebo priamy Súčasné OS poskytujú len súbory s priamym prístupom Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 9 / 42
Atribúty súborov Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory Súbor má meno a dáta Okrem toho OS udržiava pre každý súbor množinu atribútov (metadáta) Konkrétne realizácie sa v OS významne líšia, možné atribúty sú Ochrana súboru Prístupové práva, heslo, tvorca súboru, vlastník Príznaky Read-only/read-write, skrytý, systémový, archív, textový/binárny, priamy/sekvenčný prístup, dočasný, zamknutý Pre súbory prehl adávané pomocou kl úča Dĺžka záznamu, pozícia kl úča v zázname, dĺžka kl úča Časy Čas vytvorenia, čas posledného prístupu, čas poslednej zmeny Vel kosti Aktuálna vel kost (v bajtoch), maximálna vel kost Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 10 / 42
Služby OS pre prácu so súbormi Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory Väčšina moderných OS prevzala filozofiu UNIXu: všetko je súbor Rovnaké systémové služby pre prácu s rôznymi typmi súborov Program nepotrebuje vediet s akým typom pracuje (obyčajný súbor, zariadenie,... ) Pred UNIXom to tak nebolo rôzne služby pre rôzne typy zariadení, ešte iné pre obyčajné súbory Obvyklé súborové služby Ö Ø Ð Ø ÇÔ Ò ÐÓ Ê ÏÖ Ø ÔÔ Ò Ë Ø ØØÖ ÙØ Ë Ø ØØÖ ÙØ Ê Ò Ñ ÄÓ Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 11 / 42
Pamät ovo mapované súbory Mená súborov Vnútorná štruktúra súborov Typy súborov Spôsoby prístupu k obsahu súboru Atribúty súborov Služby OS pre prácu so súbormi Pamät ovo mapované súbory Alternatívny spôsob práce so súborom Súbor (príp. čast súboru) sa namapuje do virtuálneho adresového priestoru procesu (v ÑÑ Ô UNIXe ÑÙÒÑ Ô) Potom čítanie z/zápis na dané adresy v pamäti znamená čítanie z/zápis do súboru Princíp implementácie OS použije daný súbor ako odkladací priestor (swap) pre dané stránky Ak požadovaná stránka nie je v pamäti, vznikne výpadok a do stránkového rámca sa načíta zodpovedajúca čast súboru Pri vylúčení stránky z pamäti sa jej obsah zapíše do súboru Pri ukončení mapovania sa všetky modifikované stránky zapíšu do súboru Dáva možnost procesom zdiel at pamät Treba používat opatrne, obzvlášt ked sa so súborom pracuje aj cez klasické systémové služby Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 12 / 42
Adresárová štruktúra Služby OS pre prácu s adresármi Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 13 / 42
Adresárová štruktúra Adresárová štruktúra Služby OS pre prácu s adresármi Jeden oddiel (partition) na disku obsahuje jeden FS FS má dve súčasti Množina súborov, ktoré obsahujú dáta Adresárová štruktúra, ktorá umožňuje organizovat súbory ako základné jednotky Adresár umožňuje preklad mena súboru na jeho atribúty (metadáta), medzi ktorými sú aj diskové adresy dát súboru Položka adresára obsahuje meno súboru a atribúty, alebo meno súboru a smerník na atribúty games attributes games attributes mail attributes mail attributes news work attributes attributes news work attributes attributes Pri otváraní súboru sa v adresári nájde položka s daným menom, atribúty sa pre d alšie používanie skopírujú do tabul ky v pamäti S atribútmi sú uložené tiež diskové adresy dát súboru Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 14 / 42
Adresárová štruktúra (2) Adresárová štruktúra Služby OS pre prácu s adresármi V minulosti boli FS s jediným adresárom pre všetky súbory, alebo s jedným adresárom pre každého používatel a Súčasné FS umožňujú hierarchickú adresárovú štruktúru adresárový strom V UNIXe jeden koreň / Pozícia súboru v strome je vyjadrená cestou Absolútna cesta všetky adresáre na ceste od koreňa k danému súboru Relatívna cesta adresáre na ceste od pracovného adresára k danému súboru Proces má medzi svojimi atribútmi pracovný adresár Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 15 / 42
Adresárová štruktúra (3) Adresárová štruktúra Služby OS pre prácu s adresármi Všeobecnejšie adresárové štruktúry (nie čistý strom) Na jeden súbor môžu odkazovat viaceré položky adresárov Pohodlné zdiel anie súborov UNIX pevná linka (hard link) Záznamy v adresároch sú rovnocenné, nerozlíšitel né Pevná linka len v rámci toho istého FS Súbor má atribút počet liniek ak je 0, súbor sa zmaže Adresárový graf musí byt acyklický V opačnom prípade zacyklenie pri prehl adávaní, napr. 2 adresáre A, B, pričom A obsahuje linku B a B obsahuje linku na A Ak sú linky len na obyčajné súbory, cyklus nevznikne UNIX nedovol uje vytvorit pevnú linku na adresár Symbolická linka Špeciálny typ súboru, FS vie rozoznat Súbor, ktorý obsahuje cestu k inému súboru Môže íst cez hranice daného FS Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 16 / 42
Služby OS pre prácu s adresármi Adresárová štruktúra Služby OS pre prácu s adresármi Typické služby Ö Ø Ð Ø ÇÔ Ò Ö ÐÓ Ö Ê Ö vráti nasledujúcu položku adresára Ê Ò Ñ Ä Ò súbor môže byt viditel ný z viacerých adresárov ÍÒÐ Ò zmazanie položky adresára Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 17 / 42
Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost súborových systémov Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 18 / 42
Pridel ovanie a evidencia dátových blokov súborov Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost 1. Súvislé bloky Súboru je pridelená súvislá postupnost blokov Napr. pri vel kosti bloku 1KB bude 5KB súbor zaberat 5 po sebe nasledujúcich blokov V atribútoch stačí uložit číslo prvého bloku a počet blokov Čítanie je rýchle - len jeden presun hlavičky sa ukladajú postupne za sebou Problémy menia vel kost zväčšovat sa nedá zanikajú, vznikajú diery pri hl adaní miesta pre nový súbor treba poznat jeho max. vel kost nepohodlné Pre disky sa používalo v minulosti (jednoduchost, výkonnost ) každý súbor mal pri vytvorení zadanú max. vel kost V súčasnosti sa používa pre CD-ROM, jednorazovo zapisovatel né média, apod. FS ISO 9660 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 19 / 42
Pridel ovanie a evidencia dátových blokov súborov (2) Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost 2. Zret azený zoznam blokov Dátové bloky súboru tvoria zret azený zoznam Prvé slovo každého bloku obsahuje smerník na nasledujúci blok Vo zvyšku bloku sú dáta Výhody Súboru môže byt pridelený l ubovol ný blok V atribútoch stačí uložit číslo prvého bloku Sekvenčný prístup je uspokojivo rýchly Nevýhody Priamy prístup je vel mi pomalý robí sa pomocou sekvenčného Vel kost dát v bloku nie je mocnina 2 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 20 / 42
Pridel ovanie a evidencia dátových blokov súborov (3) 2. Zret azený zoznam blokov - príklad Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Physical block File block 0 File block 1 File A File block 2 File block 3 0 File block 4 4 7 2 10 12 File B 0 Physical block File block 0 File block 1 3 File block 2 11 File block 3 6 14 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 21 / 42
Pridel ovanie a evidencia dátových blokov súborov (4) Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost 3. Zret azený zoznam blokov s tabul kou v pamäti Vylepšenie predchádzajúceho prístupu Smerníky nie sú v diskových blokoch, ale v tabul ke v pamäti Obidve nevýhody (pomalý priamy prístup, vel kost dát v bloku) predchádzajúceho prístupu sú odstránené Tabul ka sa nazýva File Allocation Table, FAT Každému diskovému bloku zodpovedá jedna položka FAT Položka FAT obsahuje číslo nasledujúceho bloku súboru Nevýhoda Tabul ka zaberá vel ký priestor v pamäti, napr. disk 80GB, blok 4KB 20M položiek, každá min. 3 bajty vel kost tabul ky je 60MB Používa sa vo FAT (FAT12, FAT16, FAT 32) FS MS DOS, Windows 98, ME Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 22 / 42
Pridel ovanie a evidencia dátových blokov súborov (5) Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost 3. Zret azený zoznam blokov s tabul kou v pamäti príklad FAT pre zret azený zoznam blokov zo str. 21 Physical block 0 1 2 3 4 5 6 7 8 9 10 11 7 3 2 File A File B 10 11 12 13 14 15 12 14 1 1 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 23 / 42
Pridel ovanie a evidencia dátových blokov súborov (6) Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost 4. I-uzly I-uzol (i-node index-node) je štruktúra, v ktorej sú uložené atribúty súboru vrátane diskových adries dátových blokov Výhoda voči FAT V pamäti sú potrebné len i-uzly otvorených súborov Pre vel ké súbory by i-uzol potreboval vel a adries blokov Riešenie nepriamy blok: i-uzol obsahuje adresu bloku, v ktorom nie sú dáta, ale adresy dátových blokov Napr. vel kost bloku 4KB, adresy blokov 4-bajtové cez jednu adresu v i-uzle a nepriamy blok sa dá adresovat 1024 diskových blokov (4MB priestoru) Dá sa rozšírit : dvojito nepriame bloky, trojito nepriame bloky,... Používa sa vo FS v OS UNIX, Linux Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 24 / 42
Pridel ovanie a evidencia dátových blokov súborov (7) 4. I-uzly (pokrač) Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 25 / 42
adresárov Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Pred samotným čítaním/zápisom súboru je potrebné ho otvorit vtedy sa na základe mena sprístupnia atribútu a adresy dát Mapovanie mena súboru na atribúty poskytujú adresáre Obvyklé sú 2 realizácie (vid str. 14) Atribúty a adresy dát sú priamo v položke adresára Atribúty a adresy dát sú v samostatnej štruktúre (i-uzol), položka adresára obsahuje smerník Adresár je obvykle špeciálny typ súboru Realizácia v UNIXe Položka adresára obsahuje meno súboru a číslo i-uzla Číslo i-uzla je index do tabul ky i-uzlov na disku Každý súbor (a adresár) má pridelený práve jeden i-uzol V i-uzle sú všetky atribúty (metadáta) a čísla diskových blokov dát Koreňový adresár má i-uzol číslo 1 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 26 / 42
adresárov (2) Príklad otvorenie súboru» Ø»Ô Û Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Zdiel anie súborov v UNIXe Pevná linka (hard link) Viacero položiek (rôznych) adresárov obsahuje číslo i-uzla zdiel aného súboru V i-uzle sa uchováva počet liniek Zmazanie súboru je zmazanie položky adresára (t.j. pevnej linky) Pri zmazaní poslednej linky sa súbor naozaj zmaže Symbolická linka špeciálny typ súboru, ktorý obsahuje cestu k odkazovanému súboru Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 27 / 42
Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Správa diskového priestoru Vel kost bloku Väčšie bloky väčšia vnútorná fragmentácia v poslednom bloku súboru Menšie bloky pomalší prístup k súboru (pre každý blok nastavenie hlavičiek) Treba vhodný kompromis, obvykle 512B 4KB Správa vol ného priestoru Pomocou zoznamu vol ných blokov Zret azený zoznam blokov, kde každý blok (t.j. prvok zoznamu) obsahuje čísla vol ných blokov a číslo d alšieho bloku v zozname Pri alokovaní priestoru sa zoznam skracuje (ak sa z bloku-prvku zoznamu použijú všetky čísla blokov, daný prvok sa zo zoznamu vylúči a zaradí medzi vol né bloky) Pri uvol ňovaní priestoru sa zoznam predlžuje opačne Pomocou bitovej mapy Každému bloku na disku zodpovedá jeden bit v mape Priestorová réžia je nižšia než u zoznamu Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 28 / 42
Konzistencia Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost OS číta diskové bloky, modifikuje ich a zapisuje spät Ak nastane havária skôr než sú zapísané všetky modifikované bloky, FS môže byt v nekonzistentnom stave Obzvlášt ak sa jedná o bloky s i-uzlamy, adresármi, alebo zoznamom vol ných blokov S OS sa dodávajú programy na kontrolu konzistencie FS (UNIX: fsck, Windows: scandisk, chkdsk) Obvyklé testy konzistencie sú Konzistencia informácií o diskových blokoch (blok patrí jednému súboru, alebo je vol ný) Konzistencia adresárovej štruktúry Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 29 / 42
Konzistencia (2) Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Konzistencia informácií o diskových blokoch fsck vytvorí 2 tabul ky obsahujúce počítadlo pre každý blok Tabul ka počtu výskytov bloku v súboroch Tabul ka počtu výskytov bloku v zozname vol ných blokov Všetky položky tabuliek sú inicializované na 0 fsck prechádza i-uzly a inkrementuje počítadlá zodpovedajúce blokom odkazovaným v i-uzloch (v prvej tabul ke) Potom fsck prechádza zoznam príp. bitmapu vol ných blokov a inkrementuje zodpovedajúce položky v druhej tabul ke Ak je FS konzistentný, má každý blok 1 v jednej z tabuliek, napr. č. bloku: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 v súboroch: 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 vol né bloky: 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 1 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 30 / 42
Konzistencia (3) Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Konzistencia informácií o diskových blokoch (pokrač.) 0-0: blok nie je v žiadnej tabul ke ( missing block ) Oprava: vložit blok do zoznamu vol ných 0-n: blok je 2 alebo viackrát v zozname vol ných Problém: mohol by byt alokovaný viackrát Oprava: upravit zoznam vol ných, aby tam bol iba 1 krát 1-1: blok patrí súboru a zároveň je v zozname vol ných Problém: mohol by byt alokovaný druhýkrát Oprava: vylúčit zo zoznamu vol ných n-0: blok patrí viacerým súborom Problém: ak ho jeden súbor uvolní, bude 1-1; ak uvolnia všetky, bude 0-n Oprava: alokovat n-1 nových blokov, daný do nich skopírovat a upravit i-uzly n-1 súborov; používatel by mal byt informovaný o probléme Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 31 / 42
Konzistencia (4) Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Konzistencia adresárovej štruktúry Tabul ka počítadiel, jedna položka pre každý súbor fsck prechádza rekurzívne celý adresárový strom Pre každý výskyt súboru v adresári inkrementuje zodpovedajúce počítadlo Potom porovná počítadlá ( p ) s počtom liniek v i-uzloch ( i ) Možné chyby i>p: súbor nebude zmazaný po zmazaní všetkých liniek Oprava: upravit i na správnu hodnotu i<p: súbor bude zmazaný aj ked ešte bude mat položky v adresároch (tie budú odkazovat na neplatný i-uzol!) Oprava: upravit i na správnu hodnotu p=0, i>0: stratený súbor na ktorý nie je odkaz v adresári Oprava: umiestnit súbor do určeného adresára, napr. lost+found Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 32 / 42
Výkonnost Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Pre zlepšenie výkonnosti FS sa používajú vyrovnávacie pamäti (buffer cache, BC) BC pozostáva z blokov zodpovedajúcich diskovým blokom Pre rýchle vyhl adanie bloku v BC sa používa hašovacia tabul ka Hašuje sa na základe čísla zariadenia a čísla dikového bloku Kolízie sa zret azia Pre uvol nenie bloku pri plnej BC sa používa modifikovaná LRU stratégia Modifikácia vychádza z faktu, že čím dlhšie ostáva modifikovaný blok nezapísaný na disk, tým väčšie je riziko nekonzistencie FS v dôsledku príp. havárie Bloky BC dôležité pre konzistenciu systému (napr. i-uzly) sa zapisujú na disk (t.j. uvol ňujú) okamžite po modifikácii, alebo aspoň prednostne, aj ked nie sú najdlhšie nepoužité Systém tiež periodicky zapisuje všetky modifikované bloky Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 33 / 42
Výkonnost (2) Pridel ovanie a evidencia dátových blokov súborov adresárov Správa diskového priestoru Konzistencia Výkonnost Prednačítavanie blokov súboru (read-ahead) FS môže pri čítaní súboru načítat do BC aj bloky súboru, ktoré ešte procesy nepožadovali Prednačítavanie je úspešné, ak proces číta súbor sekvenčne FS sa môže pokúsit odhadnút, či je súbor čítaný sekvenčne, napr. ak sa vykoná seek, prednačítavanie pre daný súbor sa zastaví Redukcia pohybu ramienka disku Ak sú bloky súboru v jednom cylindri, je čítanie rýchlejšie Dá sa dosiahnut alokovaním skupín blokov namiesto individuálnej alokácie každého bloku Zrýchlenie čítania i-uzlov Disk sa rozdelí na skupiny cylindrov, každá skupina má svoju oblast pre i-uzly (t.j. nie všetky i-uzly na začiatku disku) Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 34 / 42
Doména ochrany Prístupová matica Prístupové zoznamy (ACL) C-zoznamy Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 35 / 42
Doména ochrany Doména ochrany Prístupová matica Prístupové zoznamy (ACL) C-zoznamy k objektom súbory, procesy, semafory, segmenty pamäti, zariadenia,... Pre každý objekt je definovaná množina možných operácií (pre súbor rwx, pre semafor wait a signal,... ) Doména je množina dvojíc (objekt, množina prístupových práv) Prístupové právo je právo vykonat jednu z možných operácii Doména často zodpovedá jednému používatel ovi (špecifikuje čo používatel môže a čo nie), ale môže to byt aj všeobecnejšie Príklad Domain1 Domain2 Domain3 File1[R] File2[RW] File3[R] File4[RWX] File5[RW] Printer1[W] File6[RWX] Plotter2[W] Objekt môže patrit do viacerých domén, aj s rôznymi právami v každej Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 36 / 42
Doména ochrany (2) Doména ochrany Prístupová matica Prístupové zoznamy (ACL) C-zoznamy V každom okamihu beží proces v nejakej doméne ochrany Môže pristupovat k istej množine objektov, s danými právami Príslušnost k doméne sa môže menit prepnutie domény Príklad UNIX Pre proces je doména daná jeho UID a GID Pre danú kombináciu (UID, GID) je možné zostavit množinu objektov a prístupových práv k nim Dva procesy s rovnakým (UID, GID) môžu pristupovat k rovnakej množine objektov Proces sa môže vykonávat v používatel skom režime, alebo režime jadra V každom režime je v inej doméne v režime jadra môže pristupovat napr. k celému disku,... zmena režimu spôsobí prepnutie domény ochrany Vykonanie programu, ktorý má nastavený setuid (setgid) bit Proces získa nové efektívne uid, (gid) má prístup k iným objektom, s inými právami prepnutie domény Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 37 / 42
Prístupová matica Konceptuálny spôsob reprezentácie práv domén k objektom Riadky zodpovedajú doménam, stĺpce objektom Prvok matice obsahuje práva domény k objektu Doména ochrany Prístupová matica Prístupové zoznamy (ACL) File1 File2 File3 File4 File5 File6 Printer1 Plotter2 C-zoznamy Domain1 Read Read Write Domain2 Read Read Write Execute Read Write Write Domain3 Read Write Execute Write Write Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 38 / 42
Prístupová matica (2) Prepínanie domén môže byt tiež zachytené v prístupovej matici Pridajú sa domény ako objekty s operáciou vstup (enter) Domain1 File1 File2 File3 File4 File5 File6 Printer1 Plotter2 Read Read Write Domain1 Domain2 Domain3 Enter Doména ochrany Prístupová matica Prístupové zoznamy (ACL) C-zoznamy Domain2 Domain3 Read Read Write Execute Read Write Read Write Execute Write Write Write Proces v doméne 1 sa môže prepnút do domény 2, ale spät nie Modeluje vykonanie setuid programu v UNIXe Prístupová matica je vel ká a riedka v praxi sa obvykle nepoužíva V praxi sa ukladajú neprázdne prvky Po stĺpcoch prístupové zoznamy (Access Control Lists, ACL) Po riadkoch C-zoznamy (C-lists, Capabilities) Tieto dve metódy majú značne odlišné vlastnosti Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 39 / 42
Prístupové zoznamy (ACL) Doména ochrany Prístupová matica Prístupové zoznamy (ACL) C-zoznamy S každým objektom je spojený zoznam obsahujúci domény, ktoré k objektu môžu pristupovat spolu s právami prístupu Príklad Doména1 = používatel A, doména2 = používatel B Súbor1: ACL = A:R, B:RW- Súbor2: ACL = A:R-X, B:R-X Tlačiareň: ACL = A:-W-, B:-W- V systémoch podporujúcich skupiny používatel ov môže byt doména definovaná dvojicou (UID, GID) Pre skrátenie zápisu sa môžu použit v ACL špeciálne znaky, napr. * = všetci Príklad Používatelia A, B, skupiny G1, G2 Súbor1: ACL = (A, *):RWX... A môže RWX Súbor2: ACL = (A, *):RW-, (*, G1):R- -... členovia G1:R, A:RW Tlačiareň: ACL = (*, *):-W-, (*, G2):- - -... všetci okrem členov G2 V klasickom UNIXovom FS nie sú ACL, v súčasných sú, aj Win Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 40 / 42
C-zoznamy Doména ochrany Prístupová matica Prístupové zoznamy (ACL) C-zoznamy S každým procesom je spojený zoznam objektov a práva ako k nim môže pristupovat (t.j. doména procesu) Prvok zoznamu je Capability ( schopnost ), zoznam je Capability-list, C-list Štruktúra capability má prvky typ objektu práva obvykle bitová mapa odkaz na objekt, napr. číslo i-uzla Príklad C-list pre nejakú doménu typ práva objekt file r-x i-node 268 file rwx i-node 475 print -w- i-node 123 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 41 / 42
C-zoznamy (2) Doména ochrany Prístupová matica Prístupové zoznamy (ACL) C-zoznamy Výhody Proces môže urobit len to, na čo má schopnosti a nič iné vhodné pre spúšt anie neznámych programov (princíp najmenšej autority) Vhodné pre riadenie prístupu v distribuovaných systémoch Problémy Ako zistit kto všetko má schopnosti na daný objekt Ako zabránit neželanému odovzdávaniu schopností d alším procesom Ako zrušit prístup Pre objekt vytvorit sprostredkovatel a ( proxy objekt) a prepojit ich Dat schopnost na proxy zrušením proxy objektu sa zruší prístup k skutočnému objektu C-zoznamy sa v praxi používajú podstatne menej než ACL Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 42 / 42