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

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

Operační systémy 12. Souborové systémy

Podobné prezentace


Prezentace na téma: "Operační systémy 12. Souborové systémy"— Transkript prezentace:

1 Operační systémy 12. Souborové systémy
Obsah: systém souborů, data, metadata pásky, diskety, pevné disky, SSD MBR, oddíl, CHS, LBA, sektor, cluster FAT, ext4 (skupiny, superblok, i-node, adresář) VFS, mount, fsck, mkfs fragmentace, žurnálování, děravé soubory, extenty rozsáhlé adresáře, síťové FS (NFS, GFS, AFS) © Milan Keršláger

2 Systém souborů – FS též souborový systém, anglicky filesystem
data organizovaná do souborů a adresářů uloženo na vhodné paměti pro FS přístupné přímo v počítači nebo přes síť obsahuje data a metadata metadata popisují organizaci dat uloženo ve vhodném formátu FAT, ext4, NTFS, ... v jádře OS ovladač souborového systému

3 Organizace FS soubory a adresáře metadata
popisují organizaci dat a další informace umístění dat, přístupová oprávnění, čas změny, ... data souvislý blok dat ideální stav, ale jak budeme doplňovat a mazat data? jednotlivé alokační jednotky klasický přístup

4 Metadata „data o datech“ v reálném životě např. katalog v knihovně
obsahují informace nutné pro orientaci ve FS popisují soubory, adresáře a další informace o FS konzistence metadat důležité pro činnost jádra OS při poškození nutno opravit (fsck, chkdsk)

5 Paměť pro FS typicky nevolatilní RWM (Read-Write Memory)
data lze zapisovat (přepisovat) a číst data jsou zachována i při odpojení napájení pevný disk, flash výjimky: FS v RAM (rychlost, export dat z jádra, ...) možné typy pamětí magnetické – pevný disk (sekvenční a přímý přístup) optické – CD, DVD, Blu-ray polovodičové – RAM, Flash samozřejmě i jiné typy

6 Magnetická páska předek disket i pevných disků
souvislý pás s magnetickou vrstvou vynalezeno 1935 firmy AEG a BASF pro data 1951 – UNIVAC I v 2. polovině 20. století symbolizovala „počítač“ data zaznamenána souvisle lineární zápis (páska je vždy znovu celá přepsána) „soubory“ a mezi nimi speciální značky magnetickopásková jednotka umí značky vyhledat relativně pomalé přesuny → sekvenční přístup

7 Disketa – FDD evoluční krok od magnetické pásky
blokové zařízení (512 bajt) – podle mg. pásky médium naneseno na kotoučku floppy disk – disketa (pružný disk) 1971 – 8 palců, 1976 – 5,25“, 1984 – 3,5“ ale i jiné (např. ZIP) snadný transport, rozumná kapacita relativně robusní 160, 360, 720 kiB, 1,2 MiB, 1,44 MiB a 2,88 MiB

8 Pevný disk – HDD evoluční krok od diskety 1956 – IBM plovoucí hlava
bezkontaktní čtení/zápis typicky pevně vestavěn specifická rozhraní 1986 – SCSI, 1986 – ATA (max. 128 GB) 2002 – ATA/100, 2003 – SATA, 2005 – SAS SSD disk používá flash paměť → bez mechanických částí

9 Organizace dat – HDD kvůli větší kapacitě zaveden MBR
Master Boot Record logické členění disku na oddíly (partition) umístěn v prvních 512 bajtů (první blok) různé formáty DOS MBR → limit 2 TiB GPT → nástupce (součást EFI standardu) v rámci oddílu už stejná organizace jako u FDD boot sektor (512 bajtů) následuje oblast s vlastním FS (struktura dle typu)

10 Oddíly (partition) oddíl je logické rozčlenění pevného disku
protože pevný disk je velký nebo více FS, OS dělení bez podpory v HW → SW musí respektovat popis rozdělení uložen do tabulky uvnitř MBR začátek, konec (číslo sektoru) zachována zpětná kompatibilita struktura diskety odpovídá struktuře oddílu zjednodušení (zavedení systému z oddílu je stejné) MBR může být nezávislý na OS → DOS MBR

11 DOS MBR Master Boot Record první sektor na disku
číslo sektoru nula, podle CHS = 0,0,1 velikost 512 bajtů obsahuje: zavaděč tabulku dělení disku na oddíly

12 GPT

13 Adresace dat na disku C-H-S Cylinder-Head-Sector
cylindr, hlava, sektor používal se dříve LBA Logical Block Addresing lineární číslování současná metoda ATA/100 → 48 bitů → 128 PiB

14 Sektor a cluster sektor nejmenší fyzicky adresovatelný blok (disku)
typicky 512 bajtů CD/DVD → 2048 bajtů (2 kiB) nové pevné disky → 4096 bajtů (4 kiB) cluster česky alokační jednotka nejmenší úsek dat adresovatelný na úrovni FS 512 bajtů, 1024, 2048, 4096, kiB, ...

15 SSD

16 FAT (DOS, Windows, flash disky)

17 FAT File Allocation Table
1986 použit v 86-DOS, koupil Microsoft → MS-DOS ECMA a ISO/IEC standard dlouhé názvy částečně patentovány Microsoftem využívá spojový seznam struktura oddílu: boot sektor (512 B) FAT1, FAT2 kořenový adresář datová oblast položka adresáře: jedna položka je 32 bajtů jméno (8), přípona (3) atributy, čas posl. modif. první sektor dat

18 Spojový seznam FAT FAT 14 22 15 11 FF D B C E A Datové bloky
1 2 3 4 5 6 7 8 9 14 22 15 11 FF 00 FAT 10 20 A D B C E 00 Datové bloky 10 20 Obsah FAT: odpovídající položka ukazuje na další, ukončeno FF. Obsah souboru je čten po datových blocích odpovídajících zřetězeným položkám ve FAT. Záznam v adresáři: soubor.txt 02 Obsah souboru: ABCDE

19 Popis funkce FAT velikosti položek FAT
FAT12 → 12 bitů, FAT16 → 16 bitů, FAT32 → 32 bitů FAT32 používá na číslo datového bloku jen 28 bitů velikosti datových bloků podle formátování: 512, 1024 B, 2 kiB, 4, 8, 16, 32, 64 kiB max. velikost položky ve FAT krát velikost datového bloku je maximální velikost souborového systému dlouhé názvy v adresářích používají se další (neplatné) položky v adresáři neefektivita při manipulaci s FAT přesuny hlaviček z datové části na položky FAT a zpět

20 ext4 (Linux, Android, Unix)

21 ext4 Extended Filesystem čtvrtá generace FS pro Linux
vychází z UFS (Unix File System) struktura: boot blok (512 B) skupina (opakuje se) superblok a deskriptory – metadata popisující FS bitmapa použitých i-uzlů (i-nodů) a datových bloků i-uzly – metadata jednotlivých souborů datové bloky – datové části souborů, adresáře

22 Skupiny ext4 Skupiny se opakují, mají konstantní velikost.
Boot Skupina 0 Skupina 1 ... Skupina N Superblok Deskriptory skupiny Bitmapa datových bloků i-uzlů I-uzly Datové bloky Skupiny se opakují, mají konstantní velikost. Superblok a deskriptory jsou jen v některých blocích (při využití SPARSE_SUPER). Superblok a bitmapy jsou vždy 1 blok dlouhé. Ostatní položky jsou násobky bloků.

23 Metadata ext4 data a metadata ve skupinách
umožňuje rychlejší přístup při čtení/zápisu rozprostírá metadata po celém disku (havárie) metadata o souboru v i-uzlu i-uzel není součástí adresáře lze vytvářet pevné a symbolické odkazy i-uzlů je konečné množství (definováno při formátování) je-li i-uzlů zbytečně mnoho, prodlužuje se fsck (ext3 a starší) adresář: název + číslo i-uzlu

24 Superblok metadata o celém souborovém systému
opakuje se na začátku skupiny v případě poškození lze použít jinou kopii sparse-super → kopie jen u některých (zrychlení) struktura: stav souborového systému (clean, dirty) při připojení test (+fsck) a nastavení na dirty při odpojení nastavení na clean počet připojení, poslední fsck (automatické fsck) velikosti a umístění jednotlivých částí

25 I-uzel struktura i-uzlu: typ souboru a přístupová oprávnění
počet odkazů (pro pevné linky, ale i adresáře) vlastník, skupina velikost časové značky poslední přístup (atime), změna dat (mtime), změna metadat (ctime) 12 přímých odkazů na datové bloky 1 nepřímý odkaz na datové bloky (první úrovně) 1 nepřímý odkaz druhé úrovně 1 nepřímý odkaz třetí úrovně

26 Nepřímé odkazy v I-uzlu

27 Struktura adresáře adresář je vlastně speciální soubor
pevně daná maximální délka názvu objektu tj. název souboru nebo podadresáře číslo i-uzlu odkaz na metadata popisující soubor každý FS čísluje i-uzly vždy znovu od nuly obsah adresáře lineární seznam položek → pole položky někdy organizovány do stromu kvůli rychlosti prohledávání (ext3, NTFS, ...)

28 VFS Virtual Filesystem VFS implementuje jádro OS
shora sjednocuje přístup ke všem FS (API) dle situace volá „ovladač“ konkrétního FS řeší cache pro soubory a adresáře další FS se připojují do existujících adresářů příkaz mount, umount, df $ df Souborový systém K bloků Použité Volné Uži% Připojeno do /dev/sda % / /dev/sda % /home tmpfs % /dev/shm

29 Správa FS

30 Připojení /home bin Kořen je připojen na základní FS.
etc home huzva texty skripty jane fotky video lib usr Kořen je připojen na základní FS. Do /home je připojen další disk. Připojený FS může mít odlišnou stavbu (NTFS, FAT, ext3, XFS, síťový NFS, …). VFS pak rozhoduje, jaký ovladač FS se při přístupu k datům použije.

31 Připojování FS mount typ FS, speciální soubor zařízení, adresář
mount /dev/sda3 /home umount slouží k odpojení připojeného FS FS nesmí být používán otevřený soubor, aktuální adresář /etc/fstab seznam FS připojovaných při startu systému startovací skript spustí příkaz mount -a

32 /etc/fstab struktura

33 fsck kontrola konzistence metadat
změna dat (a metadat) v několika krocích dojde-li k havárii, nejsou data konzistetní např. zrušíme název v adresáři, ale ne i-nod a dat. bloky → do /lost+found fsck využívá záznamy v superbloku automatizovaná detekce nutnosti kontroly plná kontrola trvá extrémně dlouho řeší ext4 (jen použité i-nody) preventivní kontroly je nutné plánovat současné distribuce automatické opravy nepoužívají

34 mkfs vytváření souborových systémů typicky volá podřízené nástroje
mkfs.ext4, mkfs.ntfs, mkfs.vfat každý FS má vlastní sadu parametrů nutno dohledat v manuálových stránkách mkfs -t ext4 /dev/sda3

35 Vlastnosti FS

36 Fragmentace vzniká při ukládání dat do alokačních jednotek
nově přidělené A.J. spolu nesousedí pohyb hlaviček disku je relativně pomalý náhodná stopa = 10 ms, sousední stopa = 1 ms řešení: ukládat data tak, aby se omezila fragmentace (ext) defragmentovat dodatečně (NTFS) vnitřní fragmentace (fragmentace volného místa) poslední alokační jednotka není zcela obsazena řeší se pomocí „tail merge“ (subalokace bloků)

37 Žurnálování ochrana konzistence metadat (někdy i dat)
po pádu systému opravujeme jen nekonzistence není nutné prohlížet všechna metadata neslouží jako záloha nebo záruka, že se zapíše vše princip funkce plánovanou operaci zapíšeme do žurnálu provedeme změny v souborovém systému zapíšeme do žurnálu záznam o dokončení operace zrušíme záznam v žurnálu

38 Děravé soubory anglicky „sparse file“ soubory obsahují prázdná místa
ukládat nuly je zbytečné do metadat: odkud a jak je dlouhý prázdný úsek při čtení vrací systém nuly, jako by je četl umožňuje šetřit významně místem např. databáze, logy, ukládání řídkých polí podporují jen některé FS: většina unixových FS, NTFS a další nepodporuje je FAT nebo HFS+ (Apple)

39 Extenty souvislý větší úsek alokovaný pro data
spojení více alokačních jednotek v řadě za sebou snižuje režii → je potřeba méně metadat zaznamenáme jen číslo prvního datového bloku + počet snižuje fragmentaci podpora jen v některých FS: ext4, Reiser4, XFS, JFS, ... (Linux aj.) HPFS (OS/2), NTFS (Windows)

40 Rozsáhlé adresáře adresář je lineární seznam
prohledávání trvá dlouho (počet/2) nalezení položky je velmi častá operace (otevírání) při rušení a přidávání položek vznikají „díry“ binární strom nejrychlejší hledání (je-li vyvážený → B-strom) nevýhodou je vyvažování ext3 → htree specializovaný B-strom, nepotřebuje vyvažování NTFS též používá binární strom

41 Síťové souborové systémy
zpřístupněny pomocí počítačové sítě vlastní data uložena v klasickém FS (ext, NTFS, ...) různé vlastnosti clusterové, fail-over, LAN, globální (přes Internet) možnost lokálního cachování dat, synchronizace příklady: SMB, CIFS → síťové sdílení ve Windows NFS, GFS → unixové systémy AFS → globální souborový systém (celosvětový)

42 NFS Network Filesystem 1984 – první verze (firma Sun) → RFC 1094
dnes již 4. verze (NFSv4), IETF typické sdílení souborů mezi unixovými systémy evoluční vývoj doplňování nových vlastností NFSv2 jen pro UDP, max. 2 GiB soubory, synchronní, ... NFSv4 – bezpečnost, stavový protokol, clustery při použití se chováme obezřetně (není lokálním FS) využívá RPC (Remote Procedure Call)

43 GFS Global File System sdílený diskový souborový systém
více počítačů nabízí přes síť úložný prostor úložný prostor vystupuje navenek jako jeden celek umožňuje však přímý přístup k úložnému zařízení není to tedy distribuovaný souborový systém dá se použít i jako lokální souborový systém jednotlivé uzly jsou ve vztahu peer-to-peer využíván distribuovaný správce zámků (v jádře) zajímavý vývoj: 1997, 1998 jako open source pro Linux 1999 Sistina, 2001 komerční, 2004 Red Hat → GPL

44 AFS Andrew File systém distribuovaný souborový systém
úložný prostor rozprostřen přes důvěryhodné servery využíván klienty, kteří se k němu připojují (desetitisíce) správce definuje svazky (volume) a jejich fyzické uložení v síti klient přistupuje ke sdíleným složkám jen přes názvy svazků klient využívá lokální cache pro zvýšení rychlosti operace čtení a zápisu jsou prováděny nad lokální kopií klient si registruje u serveru callback při změně souboru jsou všichni klienti přes callback informováni zamykání jen na celý soubor správce vytváří read-only kopie dat → transparentní urychlení multiplatformní → OpenAFS (IBM 2000)


Stáhnout ppt "Operační systémy 12. Souborové systémy"

Podobné prezentace


Reklamy Google