Systémy souborů
(Založena nová stránka: 1. Obsluha přerušení Řadič vyvolá přerušení ve chvíli dokončení I/O požadavku Ovladač zadá I/O požadavek, usne, po příchodu přerušení ho obsluh...) |
(→I-uzly) |
||
| (Nejsou zobrazeny 4 mezilehlé verze od 2 uživatelů.) | |||
| Řádka 1: | Řádka 1: | ||
| − | + | Téměř všechny aplikace potřebují trvale uchovávat data | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | Hlavní požadavky: | |
| − | + | * Možnost uložit velké množství dat | |
| − | + | * informace musí zůstat zachována i po ukončení procesu | |
| + | * data musejí být přístupná více procesům | ||
| − | + | při přístupu k zařízení mají všechny procesy společné problémy | |
| − | + | * alokace prostoru na disku | |
| − | + | * pojmenování dat | |
| − | + | * ochrana dat před neoprávněným přístupem | |
| + | * zotavení po havárii | ||
| − | + | souborový systém: | |
| − | + | * konvence pro ukládání a přístup k souborům | |
| − | + | * část OS, která poskytuje mechanismus pro ukládání a přístup k datům | |
| + | uživatelské rozhraní: | ||
| + | * konvence pro pojmenování souborů | ||
| + | * typy souborů | ||
| + | * způsob přístupu | ||
| + | * atributy a přístupová práva | ||
| + | * služby OS pro práci se soubory | ||
| − | + | Windows: NTFS, FAT12, FAT16, FAT32, ISO 9660 (CD-ROM) | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | Linux: ext2, ext3, ReiserFS, JFS, XFS, FAT12 až 32, ISO 9660, Minix, VxFS, OS/2 HPFS, SysV fs, UFS, NTFS read-only | |
| − | + | ||
| − | + | * soubor – pojmenovaná množina záznamů, které lze zpracovávat jako celek | |
| − | + | * záznam – strukturovaný datový objekt tvořený konečným počtem pojmenovaných položek | |
| − | + | ||
| − | + | ||
| − | + | atributy - informace sdružené se souborem, liší se podle jednotlivých OS / FS | |
| + | * příznaky (hidden, archive, temporary, read-only...) | ||
| + | * velikost, datum vytvoření, poslední modifikace... | ||
| + | |||
| + | Veškeré I/O jsou dnes (díky UNIXu) prováděny jako práce se soubory - interní struktura souboru OS nezajímá, adresář je také soubor | ||
| + | |||
| + | Základní operace pro práci se soubory | ||
| + | * otevření | ||
| + | * vytvoření | ||
| + | * čtení | ||
| + | * zápis | ||
| + | * nastavení pozice v souboru | ||
| + | * zavření souboru | ||
| + | |||
| + | |||
| + | == Virtuální FS == | ||
| + | |||
| + | [[Soubor:Fs.png]] | ||
| + | |||
| + | Kód společný pro všechny typy FS, volán aplikacemi, udržuje informaci o otevřeném souboru, ověřuje přístupová práva. | ||
| + | |||
| + | |||
| + | Typy FS | ||
| + | * kontunuální alokace (jen u read-only médií - např CD) | ||
| + | * seznam diskových bloků (blok obsahuje data a odkaz na další blok) | ||
| + | * FAT | ||
| + | |||
| + | |||
| + | |||
| + | == FAT == | ||
| + | |||
| + | |||
| + | Implementace: | ||
| + | * Každému bloku odpovídá jedna položka v tabulce FAT | ||
| + | * Položka FAT obsahuje číslo dalšího bloku souboru | ||
| + | * Řetězec odkazů je ukončen speciální značkou, která není platným číslem bloku (-1) | ||
| + | |||
| + | [[Soubor:Fat.jpg]] | ||
| + | |||
| + | Nevýhodou FAT je velikost tabulky (80 GB disk, bloky 4 kB => 20 mil položek, každá položka alespoň 3 byty => 60 MB FAT) | ||
| + | |||
| + | * FAT 12 - 12 bitů, 2<sup>12</sup> = 4096 bloků, diskety | ||
| + | * FAT 16 - 16 bitů, 2<sup>16</sup> = 65536 bloků | ||
| + | * FAT 32 - 2<sup>28</sup> bloků, blok 4-32KB, cca 8TB | ||
| + | |||
| + | |||
| + | |||
| + | == I-uzly == | ||
| + | |||
| + | S každým souborem sdružená datová struktura i-uzel. I-uzel obsahuje atributy souboru, diskové adresy prvních N bloků a jeden nebo více odkazů na diskové bloky obsahující další diskové adresy. Tradiční FS pro Linux a UNIX | ||
| + | |||
| + | |||
| + | [[Soubor:I-uzly.jpg]] | ||
| + | |||
| + | Výhoda: Po otevření souboru můžeme zavést i-uzel a případný blok obsahující další adresy do paměti => urychlí přístup k souboru | ||
| + | |||
| + | Implementace adresářů: tabulka obsahující jméno souboru a číslo jeho i-uzlu. | ||
| + | |||
| + | Info o volných blocích = seznam, jeho začátek je v superbloku na začátku partition | ||
| + | |||
| + | Adresáře - většinou se jedná o speciální typ souboru | ||
| + | |||
| + | Info o volných blocích v paměti - bitová mapa | ||
| + | |||
| + | {{fav-kiv-bzinf}} | ||
| + | |||
| + | |||
| + | [[Kategorie:fav-kiv-bzinf]] | ||
Aktuální verze z 3. 6. 2017, 19:37
Téměř všechny aplikace potřebují trvale uchovávat data
Hlavní požadavky:
- Možnost uložit velké množství dat
- informace musí zůstat zachována i po ukončení procesu
- data musejí být přístupná více procesům
při přístupu k zařízení mají všechny procesy společné problémy
- alokace prostoru na disku
- pojmenování dat
- ochrana dat před neoprávněným přístupem
- zotavení po havárii
souborový systém:
- konvence pro ukládání a přístup k souborům
- část OS, která poskytuje mechanismus pro ukládání a přístup k datům
uživatelské rozhraní:
- konvence pro pojmenování souborů
- typy souborů
- způsob přístupu
- atributy a přístupová práva
- služby OS pro práci se soubory
Windows: NTFS, FAT12, FAT16, FAT32, ISO 9660 (CD-ROM)
Linux: ext2, ext3, ReiserFS, JFS, XFS, FAT12 až 32, ISO 9660, Minix, VxFS, OS/2 HPFS, SysV fs, UFS, NTFS read-only
- soubor – pojmenovaná množina záznamů, které lze zpracovávat jako celek
- záznam – strukturovaný datový objekt tvořený konečným počtem pojmenovaných položek
atributy - informace sdružené se souborem, liší se podle jednotlivých OS / FS
- příznaky (hidden, archive, temporary, read-only...)
- velikost, datum vytvoření, poslední modifikace...
Veškeré I/O jsou dnes (díky UNIXu) prováděny jako práce se soubory - interní struktura souboru OS nezajímá, adresář je také soubor
Základní operace pro práci se soubory
- otevření
- vytvoření
- čtení
- zápis
- nastavení pozice v souboru
- zavření souboru
[editovat] Virtuální FS
Kód společný pro všechny typy FS, volán aplikacemi, udržuje informaci o otevřeném souboru, ověřuje přístupová práva.
Typy FS
- kontunuální alokace (jen u read-only médií - např CD)
- seznam diskových bloků (blok obsahuje data a odkaz na další blok)
- FAT
[editovat] FAT
Implementace:
- Každému bloku odpovídá jedna položka v tabulce FAT
- Položka FAT obsahuje číslo dalšího bloku souboru
- Řetězec odkazů je ukončen speciální značkou, která není platným číslem bloku (-1)
Nevýhodou FAT je velikost tabulky (80 GB disk, bloky 4 kB => 20 mil položek, každá položka alespoň 3 byty => 60 MB FAT)
- FAT 12 - 12 bitů, 212 = 4096 bloků, diskety
- FAT 16 - 16 bitů, 216 = 65536 bloků
- FAT 32 - 228 bloků, blok 4-32KB, cca 8TB
[editovat] I-uzly
S každým souborem sdružená datová struktura i-uzel. I-uzel obsahuje atributy souboru, diskové adresy prvních N bloků a jeden nebo více odkazů na diskové bloky obsahující další diskové adresy. Tradiční FS pro Linux a UNIX
Výhoda: Po otevření souboru můžeme zavést i-uzel a případný blok obsahující další adresy do paměti => urychlí přístup k souboru
Implementace adresářů: tabulka obsahující jméno souboru a číslo jeho i-uzlu.
Info o volných blocích = seznam, jeho začátek je v superbloku na začátku partition
Adresáře - většinou se jedná o speciální typ souboru
Info o volných blocích v paměti - bitová mapa


