Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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.

Podobné prezentace


Prezentace na téma: "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."— Transkript prezentace:

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


Stáhnout ppt "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."

Podobné prezentace


Reklamy Google