Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilMarian Král
1
Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003
2
Kapitola 10 Správa souborů
3
Soubory (Files) univerzální forma dlouhodobého uložení dat v sekundární paměti vstupní data pro programy dlouhodobé uložení výstupních dat programů dlouhodobé uložení programů distribuce, archivace a zálohování programů a dat sdílení a přenos programů a dat v síti
4
Terminologie pole (Field) základní element dat obsahuje jednu hodnotu (proměnnou) charakterizován délkou a datovým typem integer, string, real... záznam (Record) seskupení vzájemně souvisejících polí používá se jako jednotka dat např. záznam zaměstnance, záznam výrobku...
5
Terminologie Soubor (File) seskupení (posloupnost) podobných záznamů má unikátní jméno používá se jako jedna entita přístup k souboru může být omezený read-only, owner-only... Databáze seskupení vzájemně souvisejících dat mezi elementy existují relace (logické vztahy)
6
Systém správy souborů umožňuje uživatelům a aplikacím přístup k souborům usnadňuje práci programátorům nemusí vyvíjet vlastní softwarové prostředky pro manipulaci s daty sjednocuje přístup k datům různého typu a původu např. výstup dat na tiskárnu, na obrazovku terminálu nebo do diskového souboru se liší jen specifikací souboru
7
Architektura souborového systému Pile Sequential Indexed Sequential Indexed Hashed Logical I/O Basic I/O Supervisor Basic File System Disk Device Driver Tape Device Driver User Program
8
Ovladače zařízení nejnižší úroveň softwarové manipulace s daty komunikují přímo s periferním zařízením odpovídají za správné zahájení a průběh I/O operací se zařízením zajišťují zpracování přerušení vyvolaného dokončením I/O operace
9
Základní souborový systém obsluhuje fyzická I/O zařízení zajišťuje přenos datových bloků zabývá se umístěním bloků zabývá se přechodným uložením bloků ve vyrovnávacích pamětech (v operační paměti)
10
Supervizor základních I/O odpovídá za inicializaci a ukončování souborových I/O operací udržuje řídící struktury zabývá se plánováním přístupu s cílem výkonové optimalizace je součástí operačního systému
11
Logický I/O umožňuje uživatelům a aplikacím přístup k záznamům udržuje základní údaje o souborech
12
Přístupové metody různé způsoby ukládání a zpracování dat jsou odrazem rozdílů ve vnitřní struktuře souborů
13
Funkce správy souborů identifikace a lokalizace zvoleného souboru použití adresářů pro popis umístění souborů a práci s atributy souborů popis přístupových práv uživatelů ve sdíleném prostředí blokování procesů při přístupu k souborům správa volné paměti a alokace volných bloků souborům
14
Kritéria pro organizaci souborů Rychlost přístupu je důležitá při přístupu k jednotlivým záznamům pro dávkový režim nemá význam Snadnost modifikace netýká se medií, na která nelze zapisovat CD-ROM
15
Kritéria pro organizaci souborů Ekonomie paměti minimální nadbytečnost dat využívá se pro zabezpečení a zrychlení přístupu (indexace) snadná údržba spolehlivost
16
Organizace souborů Stoh (Pile) data se shromažďují v pořadí, v jakém přicházejí cílem je data akumulovat a uložit záznamy mohou obsahovat rozdílná pole data nemusí být strukturovaná přístup k záznamům je úplným prohledáváním (exhaustive search)
17
Organizace souborů Stoh
18
Organizace souborů Sekvenční soubor všechny záznamy mají stejný formát (fixed format) všechny záznamy mají stejnou délku pole všech záznamů jsou stejná jsou stejného typu a délky, jsou ve stejném pořadí jména a délky polí jsou atributy souboru jedno pole záznamu představuje klíč jednoznačně identifikuje záznam záznamy jsou uspořádány podle tohoto klíče
19
Organizace souborů Sekvenční soubor nové záznamy se ukládají do logu (log file) nebo transakčního souboru (transaction file) do hlavního souboru se nové záznamy zařazují dávkově (batch update) ušetří se čas nové setřídění se nedělá při každé změně, ale pouze jednou je menší riziko ztráty dat hlavní soubor se modifikuje méně často
20
Organizace souborů Sekvenční soubor klíč záznamy ostatní pole 101 102 104 125 258 698
21
Organizace souborů Index-sekvenční organizace index umožňuje rychlejší přiblížení k požadovanému záznamu obsahuje pole s klíči, přičemž ke každému klíči je přiřazen ukazatel (pointer) na odpovídající místo hlavního souboru při hledání se nejprve v indexu vyhledá hodnota klíče, která je nejbližší menší nebo shodná s hledaným klíčem (index nemusí obsahovat všechny klíče!) pomocí ukazatele pak lze rychle nalézt v hlavním souboru hledaný záznam (nebo záznam v jeho blízkosti, odkud se již poměrně rychle dostaneme k hledanému záznamu sekvenčně)
22
Organizace souborů srovnání sekvenční a index- sekvenční organizace sobor obsahuje 1 milión záznamů při čistě sekvenčním hledání je potřeba průměrně 500,000 přístupů k vyhledání jednoho záznamu jestliže index obsahuje 1000 položek (tj. údaje o pozici každého tisícího záznamu), bude potřeba průměrně 500 přístupů k vyhledání klíče v indexu a pak dalších průměrně 500 přístupů k vyhledání požadovaného záznamu střední počet přístupů potřebných k vyhledání záznamu klesl 500-krát !!
23
Organizace souborů Index-sekvenční organizace nové záznamy se přidávají do pomocného souboru (overflow file) záznam v hlavním souboru, po kterém má nový záznam následovat, je modifikován je do něj přidán ukazatel, ukazující na nový záznam v pomocném souboru nové záznamy se do hlavního souboru zařazují později dávkově (batch update) v indexovém souboru může se může jeden klíč vyskytovat i vícekrát (víceúrovňová indexace)
24
Organizace souborů Index-sekvenční organizace Index Levels 1 2 n Main File Overflow File
25
Organizace souborů Indexovaný soubor používá několik indexů pro různá klíčová pole může obsahovat úplný index obsahuje jednu položku pro každý záznam v hlavním souboru může obsahovat neúplný index
26
Organizace souborů Indexovaný soubor Exhaustive Index Exhaustive Index Partial Index
27
Organizace souborů Hashed (Direct) File přímý přístup k bloku na známé adrese adresa se odvodí z klíče hash-funkcí více klíčů může dát stejnou adresu každý záznam musí obsahovat pole s klíčem je potřebný k dohledání záznamu při nejednoznačnosti hash-funkce
28
Organizace souborů Hashed (Direct) File f Key Hash Function Primary File Overflow File z klíče se odvodí adresa bloku
29
Adresář (Directory) hlavní funkcí je mapování mezi jmény souborů a soubory samotnými obsahuje informace o souborech jméno umístění atributy vlastnictví omezení přístupu čas vzniku, poslední modifikace, posledního přístupu... je to soubor, jehož struktuře rozumí software pro správu souborů
30
Jednoduchá adresářová struktura jeden (lineární) seznam každý soubor má v seznamu svůj záznam nijak nepodporuje potřebu uživatele na přehledné uspořádání souborů sekvenční soubor klíčem je jméno souboru umožňuje vyhledávání podle jména nelze použít pro dva různé soubory stejná jména nepříjemný problém především v případě, když se systémem pracuje více uživatelů
31
Dvojúrovňové schéma adresáře hlavní adresář a v něm adresáře jednotlivých uživatelů hlavní adresář obsahuje záznam pro každého uživatele současně může obsahovat informace pro řízení přístupu adresář uživatele je jednoduchým seznamem souborů příslušného uživatele nepodporuje potřebu uživatele na přehledné uspořádání souborů umožňuje více uživatelům použít pro soubory stejné jméno jméno musí být unikátní pouze v rámci adresáře jednoho uživatele
32
Hierarchická (stromová) struktura jeden hlavní adresář, obsahující adresáře jednotlivých uživatelů každý uživatel může ve svém adresáři vytvářet hierarchicky podadresáře každý adresář (podadresář) může opět obsahovat podadresáře počet úrovní (vnoření) může být omezen např. ISO9660 (CDROM)
33
Stromová struktura (Tree) Master (root) Directory Syste m User A User B User C Directory “User B’ Directory “User A’ Directory “User C” Draw Word Directory “Word” Unit A Directory “Draw” ABC Directory “Unit A” ABC File “ABC” File “ABC” Pathname: /User B/Word/Unit A/ABC Pathname: /User B/Draw/ABC
34
položky normálních souborů mohou být umístěny v kterémkoliv adresáři počínaje hlavním (kořenovým) adresářem pathname = cesta od kořene k větvi, ve které se nachází soubor, specifikovaná jmény adresářů a koncového souboru více souborů může mít stejné jméno, pokud se nacházejí v různých větvích liší se cestou Hierarchická (stromová) struktura adresáře
35
při práci se soubory lze zvolit libovolný adresář jako pracovní (working directory) cestu k souboru lze vyjádřit relativně vzhledem k pracovnímu adresáři
36
Sdílení souborů soubory je nutno chránit před nedovoleným použitím vlastník souboru (správce systému) může ostatním uživatelům povolit ke svým souborům přístup přístupová práva souboru určují, co smí uživatel nebo vybraná skupina uživatelů se souborem dělat přístupová práva jsou uplatňována prostřednictvím správy souborů v okamžiku, kdy se některý uživatel pokusí se souborem manipulovat přečíst, okopírovat, přesunout, modifikovat, smazat...
37
Přístupová práva žádná uživatel nemá možnost se souborem manipulovat nemusí být ani schopen zjistit, že soubor existuje uživateli není dovoleno číst obsah adresáře znalost existence uživatel má pouze možnost zjistit, že soubor existuje a kdo je jeho vlastníkem provádění (Execute) uživatel smí soubor (program) zavést do paměti a provádět, ale nesmí ho kopírovat
38
Přístupová práva čtení (Read) uživatel může obsah souboru číst pro jakékoliv účely (provádění, výpis, kopírování...), ale nesmí ho modifikovat nebo smazat přidávání (Append) totéž jako čtení, ale navíc smí uživatel přidat data na konec souboru (nemůže tedy modifikovat již existující obsah nebo soubor smazat)
39
Přístupová práva přepisování (Update) uživatel může soubor číst, provádět a libovolným způsobem modifikovat jeho obsah včetně vytváření a rušení souborů změna ochrany (Changing protection) uživatel může libovolně měnit nastavení přístupových práv souboru, patřícího jinému uživateli mazání (Delete) uživatel smí smazat soubor tj. zcela ho odstranit
40
Přístupová práva Vlastník (Owner) má všechna dosud vyjmenovaná práva může přidělit některá z vyjmenovaných práv ostatním uživatelům přístupová práva mohou být přidělena následujícím kategoriím uživatelů: specifickému uživateli skupině uživatelů skupiny jsou definovány v rámci OS všem uživatelům veřejně dostupné soubory (public files)
41
Souběžný přístup (Simultaneous Access) jestliže chce uživatel soubor modifikovat, může ho uzamknout tj. dočasně zakázat jakýkoliv jiný přístup uživatel může před modifikací uzamknout pouze jednotlivé záznamy pouze ty, které chce modifikovat při sdílení přístupu se používá vzájemné vylučování může nastat deadlock
42
Spojování záznamů do bloků Data Gaps due to hardware design Waste due to block fit to track size Waste due to record fit to block size Waste due to block size constraint from fixed record size R5 Track 2 R6R7R8 Pevné dělení bloků (Fixed Blocking)
43
Spojování záznamů do bloků Track 1 Track 2 R1R2R3R4 R5R6 R7R8R9 R10R11R12R13 Proměnné dělení do bloků, záznam lze rozdělit (Variable Blocking, Spanned) Data Gaps due to hardware design Waste due to block fit to track size Waste due to record fit to block size Waste due to block size constraint from fixed record size
44
Spojování záznamů do bloků Track 1 Track 2 R1 R2 R3 R4R5 R6R7 R8 R9R10 Data Gaps due to hardware design Waste due to block fit to track size Waste due to record fit to block size Waste due to block size constraint from fixed record size Proměnné dělení do bloků, záznam je nedělitelný (Variable Blocking, UnSpanned)
45
Správa sekundární paměti paměťový prostor musí být přidělen souborům je nutné udržovat aktuální informace o volném prostoru, použitelném pro přidělení paměťový prostor je přidělován v podobě jednoho nebo více bloků podobně jako se to dělá s operační pamětí
46
Předběžná alokace (Preallocation) v době vytváření souboru je nutné znát maximální velikost souboru určit spolehlivě předem potřebnou velikost souboru je velmi obtížné ve snaze vyhnout se vyčerpání rezervovaného prostoru je odhad obvykle zbytečně velký
47
Velikost alokačních bloků souvislé obsazení paměťového prostoru zvyšuje rychlost zpracování velký počet malých bloků zvyšuje požadavky na velikost tabulek pevná velikost bloků zjednodušuje novou alokaci uvolněného prostoru po smazání souboru lze uvolněné bloky bez problémů použít pro nový soubor proměnná velikost minimalizuje ztrátu paměťového prostoru vnitřní fragmentaci
48
Metody alokace Souvislá alokace (Contiguous allocation) při vytváření je souboru přidělena jedna sada po sobě následujících bloků stačí jedna položka v alokační tabulce počáteční blok souboru, délka souboru Dochází k vnější fragmentaci po zrušení souboru se obvykle nepodaří do uvolněné oblasti umístit soubor stejné velikosti po zaplnění disku je obtížné nalézt souvislou sadu bloků potřebné délky
49
Souvislá alokace 01234 56789 1011121314 1516171819 2021222324 2526272829 3031323334 File Allocation Table File NameStart BlockLength FileA FileB FileC FileD FileE 23 95 188 302 263 FileA FileB FileC FileE FileD
50
Řetězená alokace (Chained allocation) alokují se jednotlivé bloky každý blok obsahuje ukazatel na následující blok v řetězci stačí jedna položka v alokační tabulce počáteční blok souboru, délka souboru Nedochází k vnější fragmentaci kterýkoliv volný blok lze připojit na konec souboru v případě potřeby lze snadno zvětšit velikost souboru Nebere ohled na princip lokality logicky sousední bloky mohou být fyzicky umístěny značně daleko od sebe Metody alokace
51
Řetězená alokace 814 3 28 01234 56789 1011121314 1516171819 2021222324 25 null 26272829 3031323334 File Allocation Table File NameStart BlockLength... FileB5... 1 FileB
52
Indexová alokace (Indexed allocation) alokační tabulka obsahuje samostatný jednoúrovňový index pro každý soubor index má jednu položku pro každý blok alokovaný souboru alokační tabulka obsahuje číslo bloku pro indexaci lze použít proměnou velikost bloků Metody alokace
53
Indexová alokace s bloky pevné délky 01234 56789 1011121314 1516171819 2021222324 2526272829 3031323334 File Allocation Table File NameIndex Block... FileB24 FileB 1 8 3 14 28
54
Indexová alokace s bloky proměnné délky 01234 56789 1011121314 1516 17 1819 2021222324 2526272829 3031323334 File Allocation Table File NameIndex Block... FileC24 Start BlockLength 1 28 14 3 4 1 FileC
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.