Implementácia súborového systému
description
Transcript of Implementácia súborového systému
©2009Operačné systémy
Implementácia súborového systému
11.2 ©2009Operačné systémy
Štruktúra súborového systému
Štruktúra súboru
Logická pamäťová jednotka
Súbor súvisiacich informácií
Súborový systém je organizovaný do vrstiev
File system (súborový systém) je uchovávaný v sekundárnej pamäťovej jednotke (disky)
Poskytuje účinný a vhodný prístup na disk, umožňuje uchovávanie dát, ich premiestňovanie, zavádzanie a prehľadávanie jednoduchým spôsobom
File control block (blok riadenia súboru) – uchováva štruktúru obsahujúcu informáciu o súbore
Device driver (ovládací program pre zariadenie) - riadi fyzické zariadenie
11.3 ©2009Operačné systémy
Vrstvy systému súborov
11.4 ©2009Operačné systémy
Implementácia súborového systému
Bootovací riadiaci blok (Boot control block) obsahuje informáciu potrebnú k bootovaniu operačného systému
Kontrolný blok jednotky (Volume control block) obsahuje podrobnosti o zariadení (diskovom)
Adresárová štruktúra organizuje súbory
Riadiaci blok súboru (File Control Block) (FCB) obsahuje veľa detailov o súbore, vrátane oprávnení, vlastníka a umiestnenia blokov.
11.5 ©2009Operačné systémy
Typický Riadiaci blok súboru
11.6 ©2009Operačné systémy
Vnútropamäťové štruktúry súborového systému
Obrázky ilustrujú nevyhnutnú štruktúru súborového systému poskytovanú operačnými systémami.
Obrázok (a) sa týka otvorenia súboru
Obrázok (b) sa týka procedúry čítania súboru.
11.7 ©2009Operačné systémy
In-Memory File System StructuresOtvorenie súboru:
Čítanie súboru:
11.8 ©2009Operačné systémy
Virtuálne súborové systémy
Virtuálne súborové systémy (Virtual File Systems) (VFS) poskytujú objektovo-orientovaný spôsob implementovania súborového systému.
VFS dovoľuje, aby rovnaký interfejs systémového volania (API) bol použitý pre rozličné typy súborových systémov.
API je vhodné pre VFS interfejs, viac než akýkoľvek špecifický typ súborového systému.
11.9 ©2009Operačné systémy
Virtuálny súborový systém
11.10 ©2009Operačné systémy
Implementácia adresára (Directory Implementation)
Lineárny zoznam (Linear list) - najjednoduchší spôsob implementácie adresára je lineárny zoznam mien súborov s ukazovateľmi na dátové bloky.
Jednoduchý z hľadiska programovania
Pri vykonávaní náročný na čas
Hešovacia tabuľka (Hash Table) – berie hodnotu, ktorá je vypočítaná z mena súboru, a vracia ukazovateľ na meno súboru v lineárnom zozname.
Znižuje prehľadávací čas adresára
kolízie – situácie kedy dve súborové mená majú rovnako vypočítané miesta v tabuľke. Hlavnými ťažkosťami s rozptyľovacou tabuľkou sú pevná dĺžka tabuľky a závislosť hešovacej funkcie od rozmeru hešovacej tabuľky.
Fixná veľkosť
11.11 ©2009Operačné systémy
Metódy prideľovania diskového priestoru
Metódy prideľovania (alokácie) sú rozdelené na základe spôsobu prideľovania blokov disku pre súbory:
Súvislé prideľovanie (Contiguous allocation)
Zreťazené prideľovanie (Linked allocation)
Indexované prideľovanie (Indexed allocation)
11.12 ©2009Operačné systémy
Súvislé prideľovanie
Každý súbor obsadzuje množinu súvislých blokov na disku.
Jednoduchý prístup k súboru, ktorému bol pridelený súvislý priestor – iba adresa prvého bloku (block #) a dĺžka prideleného priestoru (počet blokov) sú požadované
Náhodný prístup
Nehospodárne využitie priestoru (problém dynamického prideľovania pamäti)
Súbory nemôžu rásť (zväčšovať sa)
11.13 ©2009Operačné systémy
Súvislé prideľovanie
Mapovanie z logického do fyzického priestoru
LA/512
Q
R
Blok, ktorý má byť sprístupnený = ! + starting addressPremiestnenie do bloku = R
11.14 ©2009Operačné systémy
Súvislé prideľovanie diskového priestoru
11.15 ©2009Operačné systémy
Systémy založené na rozšírení
Veľa novších súborových systémov (napr. súborový systém Veritas) používa modifikovanú metódu súvislého prideľovania
Súborový systém založený na rozšírení prideľuje diskové bloky v rozšírení
Rozšírenie je súvislý blok diskov
Rozšírenia sú prideľované pre prideľovanie súboru
Súbor obsahuje jedno alebo viac rozšírení
11.16 ©2009Operačné systémy
Zreťazené prideľovanie (alokácia)
Každý súbor je zreťazeným zoznamom blokov na disku: bloky môžu byť roztrúsené kdekoľvek na disku.
ukazovateľblok =
11.17 ©2009Operačné systémy
Zreťazené prideľovanie (Pokr.)
Jednoduché – potrebuje iba štartovaciu adresu
Systém správy voľného priestoru na disku – neplytvá sa priestorom
Nenáhodný prístup
Mapovanie
Blok ktorý bol pridelený je Q-tý blok v zreťazenom zozname blokov reprezentujúcich súbor.Premiestnenie do bloku = R + 1
Tabuľka prideľovania súborov - File-allocation table (FAT) – prideľovanie priestoru na disku používané v MS-DOS a OS/2.
LA/511Q
R
11.18 ©2009Operačné systémy
Zreťazené prideľovanie
11.19 ©2009Operačné systémy
Tabuľka prideľovania súborov FAT
11.20 ©2009Operačné systémy
Indexované prideľovanie
Sústreďuje všetky ukazovatele do jedného bloku, do tzv.index bloku (index block)
Logický pohľad
tabuľka indexov
11.21 ©2009Operačné systémy
Príklad indexovaného prideľovania
11.22 ©2009Operačné systémy
Indexované prideľovanie (Pokr.)
Potrebuje tabuľku indexov Náhodný prístup Dynamické prideľovanie je bez vonkajšej fragmentácie, ale má
meno index bloku Mapovanie z logického do fyzického priestoru v súbore maximálnej
veľkosti 256K slov a veľkosti bloku 512 slov. Potrebujeme iba 1 blok pre index tabuľku
LA/512Q
R
Q = premiestnenie do index tabuľkyR = premiestnenie do bloku
11.23 ©2009Operačné systémy
Indexované prideľovanie – Mapovanie
Mapovanie z logického do fyzického priestoru v súbore neohraničenej dĺžky (blok veľkosti 512 slov)
Zreťazená schéma – Zreťazené bloky index tabuľky (nie je limitovaná veľkosť)
LA / (512 x 511)Q1
R1
Q1 = blok index tabuľkyR1 je použité nasledovne:
R1 / 512Q2
R2
Q2 = premiestnenie do bloku index tabuľkyR2 premiestnené do bloku súboru:
11.24 ©2009Operačné systémy
Indexované prideľovanie – Mapovanie
Dvoj-úrovňový index (maximálna veľkosť súboru je 5123)
LA / (512 x 512)Q1
R1
Q1 = premiestnenie do vonkajšieho indexuR1 je použité nasledovne:
R1 / 512Q2
R2
Q2 = premiestnenie do bloku index tabuľkyR2 premiestnené do súborového bloku:
11.25 ©2009Operačné systémy
Indexované prideľovanie – Mapovanie
Vonkajší index
index tabuľka súbor