Principy operačních systémů
Lekce 7: Souborový systém
Principy operačních systémů – Ing. Nulíček Vladimír
Souborový systém • Souborový systém (anglicky file system) je označení pro způsob organizace dat ve formě souborů (a většinou i adresářů) tak, aby k nim bylo možné snadno přistupovat. • Souborové systémy jsou uloženy na vhodném typu elektronické paměti, která je umístěna přímo v počítači (pevný disk nebo CD,…) nebo může být zpřístupněna pomocí počítačové sítě (NFS, SMB, Apple Talk,…).
Lekce 7: Souborový systém
2
Principy operačních systémů – Ing. Nulíček Vladimír
Účel souborového systému • Údaje v elektronické paměti jsou přístupné v podstatě jako vektor dvojkových čísel. Přitom různé oblasti tohoto vektoru mohou být v závislosti na typu a okamžitém stavu paměti různě rychle dostupné. • Například harddisk nebo CD-mechanika potřebuje určitý čas na přesun hlavičky na jinou stopu a než se pod hlavičku dostane oblast s požadovanými daty. • Souborový systém zajišťuje ukládání a čtení dat paměťového média tak, aby s nimi uživatelé mohli pracovat ve formě souborů a adresářů. • Základní ideou souborového systému je tedy zpřístupnění a ukládání dat pomocí hierarchicky organizovaného systému adresářů a souborů.
Lekce 7: Souborový systém
3
Principy operačních systémů – Ing. Nulíček Vladimír
Účel souborového systému • Základním pravidlem každého souborového systému je, že data musí být jednoznačně určena svým jménem. Z toho vyplývá, že dva soubory nebo podadresáře umístěné ve stejném adresáři nesmí mít stejné jméno. • Souborový systém zaznamenává kromě jména souboru a jeho umístění v hierarchii adresářů další informace sloužící pro správu souborů např. – časové známky (nejdůležitější je čas poslední změny). – informace o vlastnících souborů a přístupových právech.
Lekce 7: Souborový systém
4
Principy operačních systémů – Ing. Nulíček Vladimír
Soubor • Soubor označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako s jedním celkem. • Obsahem souboru mohou být různá data: – Jednoduché soubory s jedním druhem dat (textový dokument, obrázek, program, zvukový záznam) – Složené soubory, obsahující množství dílčích souborů a objektů (archívní soubory, knihovny, ISO obrazy disků, kancelářské dokumenty s vloženými objakty apod.)
Lekce 7: Souborový systém
5
Principy operačních systémů – Ing. Nulíček Vladimír
Textový a binární soubor • Podle toho, jak má být obsah souboru interpretován lze soubory rozdělit na textové a binární • Textový soubor je soubor, ve kterém jednotlivé byty, dvojice bytů nebo posloupnosti bytů mají význam znaků (např. text, formátovaný text, hypertext, CSV soubor s daty) • Binární soubor je soubor, který obsahuje jakákoliv data, která jsou následně zpracovávána počítačovým programem. Obsahem souboru jsou čísla v binární soustavě (řetězec nul a jedniček), která reprezentují jistým způsobem uloženou informaci (zvuk, obrázek, video, ale i formátovaný text, databáze apod.) • Při čtení binárního souboru je proto nutné vědět, jak uložená data interpretovat.
Lekce 7: Souborový systém
6
Principy operačních systémů – Ing. Nulíček Vladimír
OS zajišťuje pro soubor tyto služby: • • • • • •
Vytvoření souboru s daným jménem Nastavení příznaků souboru Otevření souboru pro čtení, nebo modifikaci Čtení a modifikaci otevřeného souboru Uložení změn na paměťové médium Uzavření souboru a uložení případných provedených změn na paměťové médium
Lekce 7: Souborový systém
7
Principy operačních systémů – Ing. Nulíček Vladimír
Struktura dat v souboru:
Lekce 7: Souborový systém
8
Principy operačních systémů – Ing. Nulíček Vladimír
Atributy souboru • jméno – jedinečný název souboru (vzhledem k aktuálnímu adresáři) • délka – velikost v počtech bytů • typ – umožňuje odlišit typ obsažených dat, použitý program, speciální soubory (roura, soket, zařízení, …) apod. • přístupová oprávnění – kdo smí se souborem pracovat (čtení, zápis, …) pro uživatele a skupiny • vlastník – uživatel vlastnící soubor (též skupina) • časové informace – čas vytvoření – čas posledního přístupu k souboru – čas poslední změny v obsahu souboru – čas poslední změny metadat souboru • umístění vlastních dat – typicky posloupnost alokačních jednotek Lekce 7: Souborový systém
9
Principy operačních systémů – Ing. Nulíček Vladimír
Adresář (složka) • Adresář (také složka) je organizační jednotka v souborovém systému na datovém médiu. • Adresář sdružuje na disku dokumenty (soubory) a další složky (podadresáře) a slouží k tomu, aby si je uživatel mohl logicky uspořádat. • Adresáře tvoří na disku stromovou strukturu. • Kvůli jednoznačnosti nemohou v jednom adresáři existovat dvě položky se shodným jménem (v tomto případě se nerozlišuje mezi souborem a adresářem).
Lekce 7: Souborový systém
10
Principy operačních systémů – Ing. Nulíček Vladimír
Adresář • Množina datových položek uchovávajících informace o souborech uložených na diskovém oddílu • Dvě pojetí pojmu „adresář“ – adresář souborového systému na diskovém oddílu (nemusí obsahovat jména souborů) – uživatelsky dostupná struktura se jmény souborů a odkazy • Položky adresářů obsahují atributy souborů
Lekce 7: Souborový systém
11
Principy operačních systémů – Ing. Nulíček Vladimír
Operace s adresáři • Vyhledání souboru, poskytnutí seznamu souborů • Vytvoření, zrušení či přejmenování souboru • Procházení souborovým systémem (hierarchií adresářů
Lekce 7: Souborový systém
12
Principy operačních systémů – Ing. Nulíček Vladimír
Logická struktura adresářů • efektivita: soubor je třeba najít rychle • nezávislé pojmenovávání souborů – 2 uživatelé mohou dát různým souborům totéž jméno – 2 uživatelé mohou pojmenovat týž (sdílený) soubor různými jmény • snadné seskupování dle nějaké logické příbuznosti • struktury adresářů: – stromy – acyklické grafy – B-stromy Lekce 7: Souborový systém
13
Principy operačních systémů – Ing. Nulíček Vladimír
Stromová struktura adresářů
Lekce 7: Souborový systém
14
Principy operačních systémů – Ing. Nulíček Vladimír
Vlastnosti stromových adresářů
Lekce 7: Souborový systém
15
Principy operačních systémů – Ing. Nulíček Vladimír
Acyklické adresáře
Lekce 7: Souborový systém
16
Principy operačních systémů – Ing. Nulíček Vladimír
Acyklické adresáře
Lekce 7: Souborový systém
17
Principy operačních systémů – Ing. Nulíček Vladimír
Organizace systému souborů
Lekce 7: Souborový systém
18
Principy operačních systémů – Ing. Nulíček Vladimír
Organizace dat na disku
• Cluster (klastr, alokační jednotka) – nejmenší logická datová jednotka na disku, která je tvořena několika bloky (viz. níže uvedený obrázek) • Počet sektorů v clusteru souvisí s kapacitou disku. Čím větší je disk, tím větší bývá i velikost clusteru • I když uložíme na disk soubor o velikosti jen 1 B, obsadíme tím ve skutečnosti celý cluster. Lekce 7: Souborový systém
19
Principy operačních systémů – Ing. Nulíček Vladimír
Správa velkokapacitních paměťových zařízení • Velkokapacitní záznamová zařízení uchovávají permanentně velké množství dat (na rozdíl od operační paměti) • Disk má S sektorů, H hlav a T stop (cylindrů) • Převod trojrozměrné adresy(s, h, t) na jednorozměrný prostor sektorů pomocí formule:
Lekce 7: Souborový systém
20
Principy operačních systémů – Ing. Nulíček Vladimír
Plánování disku Čas přístupu na disk je dělen na tři části:
SEEK LATENCY
přesun hlavy na požadovaný cylindr otočení disku na začátek požadovaného sektoru TRANSFER přesun dat z disku/na disk Při velkých zátěžích v OS s více procesy nejvíce zpomaluje přístup na disk čas SEEK.
Lekce 7: Souborový systém
21
Principy operačních systémů – Ing. Nulíček Vladimír
Obsluha požadavků na přístup k disku • Při vyřizování požadavku OS na disk je potřeba nejprve vystavit hlavy na příslušnou stopu a pak počkat, až bude požadovaný sektor pod hlavami. • U víceúlohových systémů mohou přicházet požadavky na disk rychleji, než je možné je vyřizovat. • Vyřizování požadavků v pořadí, jak přicházejí (tzv. FIFO nebo FCFS -First In First Out, First Come First Serve), není optimální.
Lekce 7: Souborový systém
22
Principy operačních systémů – Ing. Nulíček Vladimír
Algoritmus FCFS (First Come First Served) • Žádosti v pořadí: 98, 183, 37, 122, 14, 124, 65, 67 • Hlavy jsou na pozici 53
• Vhodný jen pro lehké zátěže Lekce 7: Souborový systém
23
Principy operačních systémů – Ing. Nulíček Vladimír
Algoritmus SSTF (Shortest Seek Time First) • Žádosti v pořadí: 98, 183, 37, 122, 14, 124, 65, 67 • Hlavy jsou na pozici 53
• Nejmenší relativní pohyb čtecí hlavy • Někdy může vést k problému „starvation“ (vyhladovění) • Diskriminace okrajových cylindrů Lekce 7: Souborový systém
24
Principy operačních systémů – Ing. Nulíček Vladimír
Algoritmus SCAN (elevátor) • Žádosti v pořadí: 98, 183, 37, 122, 14, 124, 65, 67 • Hlavy jsou na pozici 53
• Je určen směr pohybu hlav. • Z fronty jsou zpracovávány pouze požadavky postupně v určeném směru. • Po zpracování nejkrajnějšího požadavku se směr pohybu hlav obrátí. Lekce 7: Souborový systém
25
Principy operačních systémů – Ing. Nulíček Vladimír
Algoritmus C-SCAN (Circular Scan) • Žádosti v pořadí: 98, 183, 37, 122, 14, 124, 65, 67 • Hlavy jsou na pozici 53
• Posouvá hlavy pouze v jednom směru • Po zpracování nejkrajnějšího požadavku přesune hlavy opět na začátek. Lekce 7: Souborový systém
26
Principy operačních systémů
Lekce 7a: Souborový systém - implementace
Principy operačních systémů – Ing. Nulíček Vladimír
Připojování adresových struktur • Souborový systém na (výměnném, dosud nedostupném) mediu se musí zpřístupnit – připojit – tzv. „namontovat“ • Připojuje se do udaného místa stávající adresářové struktury (Mount Point) • Dosavadní podstrom odkazovaný z místa, kam se montuje, přestane být dostupný
Lekce 7: Souborový systém
28
Principy operačních systémů – Ing. Nulíček Vladimír
Základní operace se soubory • Otevření souboru = open (fd) • vyhledání záznamu o souboru pojmenovaném fd v adresářových strukturách na sekundární paměti a přesunutí tohoto záznamu do hlavní paměti do tabulky otevřených souborů • Uzavření souboru = close (fd) • přesunutí záznamu o souboru z tabulky otevřených souborů na sekundární paměť • Práce s obsahem souboru • write, read - tyto operace mění hodnotu ukazatele aktuální pozice v souboru, případně i obsah souboru • seek – změna pozice ukazatele v souboru • Rušení souboru nebo jeho obsahu • delete/remove – zrušení souboru jako celku • truncate – výmaz celého nebo části obsahu, zachovají se atributy Lekce 7: Souborový systém
29
Principy operačních systémů – Ing. Nulíček Vladimír
Přístupové metody = zpřístupňování záznamů v souboru
Lekce 7: Souborový systém
30
Principy operačních systémů – Ing. Nulíček Vladimír
Tabulky otevřených souborů
Lekce 7: Souborový systém
31
Principy operačních systémů – Ing. Nulíček Vladimír
Tabulky otevřených souborů
Lekce 7: Souborový systém
32
Principy operačních systémů – Ing. Nulíček Vladimír
Implementace souborových systémů
Lekce 7: Souborový systém
33
Principy operačních systémů – Ing. Nulíček Vladimír
Virtualizace souborového systému
Lekce 7: Souborový systém
34
Principy operačních systémů – Ing. Nulíček Vladimír
Implementace adresářů
Lekce 7: Souborový systém
35
Principy operačních systémů – Ing. Nulíček Vladimír
Přidělování diskového prostoru
Lekce 7: Souborový systém
36
Principy operačních systémů – Ing. Nulíček Vladimír
Přidělování souvislého diskového prostoru
Lekce 7: Souborový systém
37
Principy operačních systémů – Ing. Nulíček Vladimír
Vázané přidělování diskového prostoru
Lekce 7: Souborový systém
38
Principy operačních systémů – Ing. Nulíček Vladimír
Mapa disku a FAT
Lekce 7: Souborový systém
39
Principy operačních systémů – Ing. Nulíček Vladimír
Velikost alokačního bloku FAT
Lekce 7: Souborový systém
40
Principy operačních systémů – Ing. Nulíček Vladimír
Příklad – FAT-32 - Windows
Lekce 7: Souborový systém
41
Principy operačních systémů – Ing. Nulíček Vladimír
Indexové přidělování bloků
Lekce 7: Souborový systém
42
Principy operačních systémů – Ing. Nulíček Vladimír
Správa volného prostoru disku
Lekce 7: Souborový systém
43
Principy operačních systémů – Ing. Nulíček Vladimír
NTFS = New Technology File Systém (Windows)
(Master File Table)
Lekce 7: Souborový systém
44
Principy operačních systémů – Ing. Nulíček Vladimír
Systém souborů NTFS
Lekce 7: Souborový systém
45
Principy operačních systémů – Ing. Nulíček Vladimír
Systém souborů NTFS
Lekce 7: Souborový systém
46
Principy operačních systémů – Ing. Nulíček Vladimír
NTFS – MFT a systémové soubory
Lekce 7: Souborový systém
47
Principy operačních systémů – Ing. Nulíček Vladimír
Porovnání NTFS a FAT
Lekce 7: Souborový systém
48
Principy operačních systémů – Ing. Nulíček Vladimír
Speciální soubory POSIX
Lekce 7: Souborový systém
49
Principy operačních systémů – Ing. Nulíček Vladimír
Pseudosoubory POSIX
Lekce 7: Souborový systém
50