300 likes | 468 Views
Výpočetní technika I. Souborové systémy. Souborový systém (File System – FS).
E N D
Výpočetní technika I Souborové systémy
Souborový systém(File System – FS) • Způsob organizace informací (souborů) ukládaných na bloková zařízení – paměťová média (disky, pásky, CD, DVD, BD, ...) počítače. Souborový systém definuje způsob vytváření, ukládání a přístupu k souborům a adresářům, hlídá volné místo apod. • Různé operační systémy podporují (= jsou schopny používat) různé FS. (OS = program, FS = struktura) • Různé FS mají různé možnosti a omezení (klady/zápory). • FS se na blokovém zařízení vytváří formátováním. • FS tvoří jakési rozhraní mezi vnější pamětí a OS:
Souborová fragmentace • Jev, kdy nejsou data uložena na nějakém médiu souvisle (např. na pevném disku). Nesouvislé uložení pak může způsobit zpomalení práce s daty: • Některé FS mají mechanismy proti této fragmentaci. • Jinak je třeba jednou za čas provést defragmentaci.
Disková fragmentace • Mezi jednotlivými uloženými soubory jsou volné oblasti, tzn. soubory jsou roztroušeny po celém disku a volné místo není kompaktní. • Opět pomůže defragmentace.
Čím se například liší jednotlivé FS • Rozlišování velkých a malých písmen v názvech souborů/adresářů. • Maximální délka názvu souboru/adresáře, povolené znaky názvu. • Maximální velikost souboru. • Možnost omezení přístupu k datům pomocí přístupových práv. • Možnost nastavit diskové kvóty uživatelům (přidělený prostor). • Možnost automatické komprese ukládaných souborů. • Možnost automatického šifrování ukládaných souborů. • Atributy (vlastnosti), které lze u souborů nastavovat. • Schopnost žurnálování transakcí.
Organizace dat na pevném disku • Pevné disky jsou obvykle logicky rozděleny na oddíly (partition), takže souborový systém se rozkládá jen na konkrétním oddílu a ne na celém disku. To umožňuje mít na pevném disku více nezávislých souborových systémů, které mohou být různého typu. • Infomace uložené v systému souborů dělíme na metadata a data. Metadata popisují strukturu systému souborů a nesou další služební a doplňující informace, jako je velikost souboru, čas poslední změny souboru, čas posledního přístupu k souboru, vlastník souboru, přístupová práva k souboru, seznam paměťových bloků, které nesou data vlastního souboru apod. Pojmem data pak míníme vlastní obsah souboru, který můžeme přečíst, když soubor otevřeme.
Pojmy „sektor“ a „cluster“ • Sektor • oblast vnější paměti (především diskové) vytvořená při fyzickém formátování • nejmenší teoreticky adresovatelný blok • IBM formát pro sektor má velikost 512 B • Cluster [čti klastr] • nejmenší skutečně adresovaný blok • velikost – dle použitého FS a kapacity disku – cluster zabírá nejméně 1 sektor, v praxi 2n sektorů (např. 8 sektorů, tedy 4 kB)
Žurnálové souborové systémy • Žurnálový filesystém si uchovává informaceo operacích, které provedl, a je pak v případě výpadku schopen rychle se dostat zpět do konzistentního stavu. Principem techniky je uchovávání chronologického záznamu prováděných operací, do kterého se zapisují všechny prováděné činnosti. Pokud dojde např. k výpadku napájení, je po restartu nekonzistence opravena návratem do předchozího zaznamenaného stavu za pomoci záznamů z žurnálu. • Mezi tyto souborové systémy patří např. NTFS (Windows), HFS+ (Mac OS X) a ext3, ReiserFS, XFS a JFS (Linux).
Souborové systémy FAT16 a FAT32 • FS pevných disků, který používaly systémy Windows 9x • FAT = File Allocation Table • FS používá clustery o velikosti 4–32 kB (tedy 8–64 sektorů). Každý cluster má svou jedinečnou adresu, menší blok dat nelze adresovat. • U FAT16 je adresa clusteru 16bitová, u FAT32 32bitová. • Čím větší je disk, tím větší musí být clustery, protože počet adres je omezený (216, resp 232). • FAT16 – max. 216 clusterů, při max. velikosti clusteru 32 kB je schopen adresovat max. 2 GB • FAT32 – je schopen adresovat max. 2 TB (2048 GB), max. velikost jednoho souboru je 4 GB.
NTFS Souborový systém pro Windows NT, 2000, XP, Vista, 7 • vývoj od roku 1993, od verze 1.0 po verzi 3.1 (viz Wikipedia), • pro adresaci clusterů používá 64 bitů, • clustery 0,5 až 64 KiB (nejčastěji 4 KiB), • max. délka názvu souboru: 255 znaků (UTF-16),v názvech lze používat malá velká písmena, ale systém je „case insensitive“, • max. velikost oddílu: teoreticky až 264–1 clusterů (záleží na OS), • max. velikost souboru: teoreticky až 264–210 B (záleží na OS).
NTFS • Podpora disků až do 256 TB a souborů až do 2 TB, • max. počet souborů: 232 – 1 (přes 4 miliardy), • základem je jediný soubor MFT (Master File Table), který uchovává informace o všech souborech a adresářích (jméno, typ, omezení přístupu a další), • možnost komprese nebo šifrování souborů, • podpora uživatelských kvót (přidělený prostor), • ACL (Access Control List) – podpora pro přidělování práv k souborům a složkám, • oproti FAT a FAT32 je systém bezpečnější, spolehlivější a méně náchylný k chybám (žurnálový FS transakční zpracování požadavků), • používáněkolik souborů s metadaty (viz Wikipedia).
Záznamy v MFT • V jednom nebo více MFT záznamech NTFS ukládá metadata, která popisují vlastnosti souboru nebo adresáře (bezpečnostní nastavení, atributy, …) a jeho umístění na disku. • Data malého souboru (max. stovky B) se ukládají přímo do MFT záznamu, jinak záznam obsahuje adresy clusterů. • Adresář je specifický soubor nesoucí odkazy na ostatní soubory a adresáře, které obsahuje.
exFAT • Extended File Allocation Table, • proprietární souborový systém od firmy Microsoft určený především pro přenosné flash disky jako náhrada za již nevyhovující FAT32, • nativně ve Windows 7, Vista SP1 a po instalaci aktualizace KB955704 funguje i ve Windows XP SP2 a SP3, • oproti FAT32 jsou navýšeny limity (podpora disků až do velikosti 128 EiB a souborů až do 16 EiB, zvýšen max. počet souborův jedné složce), • podpora pro ACL (přidělování přístupových práv) – v současné době pouze u Windows CE 6.0, • podpora pro žurnálování transakcí (volitelná funkcionalita, její implementace závisí na výrobci zařízení; transakce v exFAT dostaly název TFAT), • CHYBÍ možnost komprese a šifrování souborů.
FS systémů Unix/Linux • Různé systémy souborů: • Linux: Ext2, Ext3, ReiserFS, XFS, JFS, … • Většinou „vyspělé“ FS s vhodnými vlastnostmi (transakční zprac., ochrana dat, kvóty, mechanismy proti fragmentaci) • Většinou však nepodporují kompresi a šifrování • Struktura systému souborů: • Zaváděcí blok – může obsahovat zaváděcí program • Superblok – popisuje systém souborů • Seznam i-uzlů • Seznam datových bloků
FS systémů Unix/Linux • Zaváděcí blok • obsahuje kratičký program k zavedení jádra OS do paměti • Superblok • popisuje parametry a stav FS (velikost, počet volných bloků, čas poslední kontroly na chyby a další) • Seznam i-uzlů • seznam indexových uzlů (i-node); jeden soubor je popsán právě jedním i-uzlem; každý i-uzel má unikátní číslo, ale neobsahuje název souboru • Seznam datových bloků • zde jsou uloženy soubory Jména souborů s čísly i-uzlů spojuje až adresář
Obsah i-uzlu • Každý záznam v i-uzlu obsahuje tyto informace: • typ souboru (soubor, adresář, symbolický link, …) • přístupová práva pro tři různé úrovně uživatelů • počet odkazů na soubor (na týž i-uzel) • vlastník souboru a skupina, do níž vlastník patří • velikost souboru v bytech • datum vytvoření, poslední změny a posledního přístupu • adresy datových bloků
Pevné a symbolické odkazy • Pevný odkaz (hard link): • Na jedna data souboru se odkazuje z různých položek v adresářích • Symbolický odkaz (symbolic link, symlink): • Speciální soubor, který ve svém těle obsahuje odkaz (přes cestu a jméno) jiného souboru nebo adresáře
HFS+ • Hierarchical File System Plus • Filesystém používaný na počítačích s Mac OS X (iMac, MacBook) i v přehrávači iPod • Žurnálový systém (transakční zpracování) • Určitá ochrana proti fragmentaci • Podpora disků a souborů až do 8 EB • Max. 4,3 mld souborů na 1 disku • Možnost šifrování domovské složky • Možnost komprese souborů na pozadí • Skupiny uživatelů a přístupová práva – jako v Unixu (User / Group / Everyone; Read / Write / Execute)
Soubory • Pojmenovaná konečná posloupnost bytůs definovaným umístěním ve vnější paměti • Jde o základní blok dat určitého typu • Název souboru: • obvykle maximálně 255 znaků • za tečkou přípona – určuje typ souboru (např. .PDF) • Mají atributy (různé v různých souborových systémech)
Adresáře (složky) • Jsou pojmenované množiny adresářů a souborů • Tvoří hierarchickou strukturu • Mají jména jako soubory • Na každém zařízení – kořenový adresář (platí pro Windows) • Kořenový adresář značíme\ (Windows), resp. / (Unix/Linux) • V jednom adresáři – jedinečná jména
Adresářová struktura (strom)(platí pro Windows) C: \ PROGRAMY TEXTY DOPISY karlovi.txt odkarla.txt SKOLA basne.doc
Adresářová struktura v Unixu/Linuxu • Je jen jedna velká stromová struktura začínajícív kořenovém adresáři. Další jednotky vnějších pamětí se připojují k adresářům (když chceme např. přistupovatk souborům na disketě, tak ji připojíme do adresáře /mnt/floppy). Linux/Unix rozlišuje velká a malá písmena (standardně se u názvů souborů i adresářů používají malá písmena), jména souborů jsou dlouhá max. 255 znaků (ext2 fs) a k oddělování názvů adresářů a souborů používá normální lomítko /.
Specifikace souboru(platí pro Windows) • Úplná nebo neúplná – určuje cestu a jméno souboru • Přístup k souboru • úplná specifikace: jednotka:\cesta\název_souboru, kde cesta = [adresář1[\adresář2[\adresář3]]] např. C:\Program Files\Mozilla Firefox\firefox.exe • neúplná specifikace: • vynechání označení jednotky • vynechání cesty • pouze název souboru
Specifikace souboru(platí pro Unix/Linux) • Úplná nebo neúplná – určuje cestu a jméno souboru • Přístup k souboru • úplná specifikace: /cesta/název_souboru, kde cesta = [adresář1[/adresář2[/adresář3]]] např./usr/bin/cp • neúplná specifikace: • pouze název souboru
Cesta(platí pro Windows i Unix/Linux) • Cesta určuje konkrétní adresářv hierarchické struktuře • Jednotlivé podadresáře oddělujeme \(Windows), resp. / (Unix/Linux) • Cesta může být • úplná (od kořenového adresáře) • relativní (od aktuálního adresáře) • Speciální adresáře • .. označuje rodičovský adresář • . označuje běžný adresář