Systémy souborů
| Řá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í: | 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: | 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]] | [[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]] | [[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 | ||
Verze z 30. 8. 2011, 13:27
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
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)
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
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


