Souborové systémy: srovnání, tajemství a jedinečné vlastnosti. Souborové systémy. Struktura souborového systému Účel a typy souborových systémů OS

ÚVOD

V současnosti jsou nejrozšířenější osobní počítače (PC) založené na procesoru Pentium. Na většině těchto počítačů je nainstalován operační systém (OS) Windows 95 nebo Windows 98 (Windows 9x nebo jen Windows). Windows je de facto standardem pro 32bitové osobní počítače. K dnešnímu dni již bylo vyvinuto několik verzí systému.

Operační systém (OS) je soubor programů, které zajišťují řízení počítačového hardwaru, plánování efektivního využití jeho zdrojů a řešení problémů podle uživatelských úkolů. OS se načte do počítače, když je zapnutý.

Charakteristické rysy moderních operačních systémů, včetně Windows 9x, jsou:

Vyvinuté uživatelské rozhraní, tedy prostředky a metody interakce s uživatelem;

Multitasking - schopnost zajistit provádění několika programů "současně";

Využití všech možností, které poskytují moderní mikroprocesory;

Stabilita a bezpečnost.

Windows 9x je nástupcem a sloučením dvou systémů Windows 3.1x a MS-DOS. Vývojáři museli udělat řadu kompromisů, aby zajistili jeho kompatibilitu se jmenovanými systémy:

Windows 9x začne fungovat v reálném režimu a teprve poté přejde do chráněného režimu;

Windows 9x je založen na aktualizovaném MS-DOS;

Windows 9x má značné množství 16bitových komponent (moduly a ovladače zařízení).

Windows 9x je založen na objektově orientovaném přístupu. Objekty jsou dokumenty, aplikace, složky, soubory, zástupci, jednotky atd. Otevření objektu– Jeden ze základních pojmů v systému. Akce provedené v tomto případě závisí na typu objektu:

- otevření dokumentu je spustit vhodnou aplikaci a nahrávání dokumentu do této aplikace, abyste je mohli prohlížet, upravovat a tisknout. Místo otevírání a načítání dokumentu můžeme mluvit o otevírání a načítání souboru s dokumentem, protože všechny dokumenty jsou uloženy v souborech;

- otevření aplikace- uvedení do provozu;

- otevření složky spočívá v zobrazení jeho obsahu na obrazovce, což umožňuje provádět jakékoli akce s objekty v něm;

- otevření vstupně-výstupního zařízení umožňuje dostat se do prostředí dispečera zajišťujícího ovládání tohoto zařízení;

- otevření zástupce v mnoha případech se rovná otevření objektu, pro který byl vytvořen.

Při zpracování dokumentu můžete využít procesní i objektově orientovaný přístup. V prvním případě musíte vědět, která aplikace má dokument zpracovat. V opačném případě, když poklepete na dokument nebo na pro něj vytvořenou zkratku, spustí se přidružená aplikace. Pokud Windows „neví“, která aplikace má tento dokument zpracovat, nabídne přidružení dokumentu ke konkrétní aplikaci.


KOMPONENTY SOUBOROVÉHO SYSTÉMU

Práce na PC probíhá s různými druhy dat. Data znamenají vše, co je potřeba uložit (programy ve zdrojovém nebo strojovém kódu, data pro jeho provoz, jakákoliv textové dokumenty a číselné údaje, kódované tabulkové, grafické a jiné informace).

Soubor je pojmenovaný agregát homogenních informací na externím médiu (například na magnetickém disku).

PROTI název souboru(Windows 9x) lze použít téměř všechny tisknutelné znaky, ale existují určitá omezení:

Na začátku a na konci názvu souboru nesmí být žádné mezery (lze je zadat, ale budou ignorovány);

Název souboru nemůže začínat ani končit tečkou;

V názvu souboru nelze použít následující znaky: /, \,:,?, '',<, >, |, protože jsou vyhrazeny pro jiné účely;

Název souboru nesmí přesáhnout (obecně) 255 znaků.

Taková jména se nazývají dlouho. Například laboratoř č. 1 o disciplíně operačních systémů.

Pro každý soubor Windows 9x automaticky vygeneruje krátký název, který je vygenerován na základě požadavků operačního systému MS-DOS a slouží k zajištění kompatibility operačních systémů. Neobsahuje více než 8 znaků. Kromě znaků zakázaných v dlouhých názvech není dovoleno používat znaky ;, +, [,], =, "tečka", "čárka", "mezera". Krátký název začíná jako dlouhý název, za nímž následuje ~ a pořadové číslo (celkem ne více než 8 znaků). V tomto případě jsou vynechány zakázané znaky, malá písmena jsou překódována na velká. Například PRIMER ~ 1 může odpovídat dlouhému souboru začínajícímu písmeny Primer. Pokud takový soubor stále existuje, jeho krátký název bude PRIMER ~ 2.

Názvy vyhrazené pro I/O zařízení jsou zakázány: PRN (tiskárna), CON (konzole, tj. klávesnice a monitor), NUL (fiktivní zařízení), LPT1-LPT3 (první - třetí paralelní port), COM1 - COM3 (první je třetí sériový port). Znaky latinské abecedy A:, B:, C:, D: atd. jsou pojmenována externí úložná zařízení.

Pokud je v názvu souboru alespoň jedna tečka, má se za to, že je dodáván s příponou v souladu s povahou uložených informací. Přípona názvu souboru je posloupnost znaků za posledním zadaným bodem v názvu. Tečka se považuje za oddělovač mezi názvem a příponou. Příponu nastavuje buď uživatel sám, nebo program, který soubor generuje. Je lepší používat standardní přípony o 1 až 3 znacích, protože typ souboru je jasný, například:

BAT pro dávkové soubory;

DOC pro soubory obsahující různé dokumenty ve formátu editoru Microsoft Word;

PAS pro programy napsané v jazyce PASCAL; -

PCX pro soubory s ilustrací ve formátu rastrového grafického editoru Publishers Paintbrush;

VAK pro soubory s předchozí verzí dokumentu (záložní soubory);

EXE pro soubory s programem připraveným ke spuštění

COM pro soubory, s programem připraveným ke spuštění pouze v prostředí MS-DOS.

V současné době se tento termín používá pro programy, které jsou připraveny ke spuštění pod kontrolou operačního systému slepé střevo(aplikace) např. Windows - aplikace

Příklad souboru: COMMAND.COM, COMMAND - Název souboru, СОМ - prodloužení.

Kromě dlouhých a krátkých názvů je s každým souborem spojena řada vlastností. Mezi vlastnosti souboru vztahovat se:

Atributy souboru;

Datum a čas jeho vytvoření;

Datum a čas úpravy souboru;

Datum posledního přístupu k souboru (čtením nebo zápisem);

Délka nebo velikost souboru (v bajtech).

Atributy souboru definovat způsoby jeho použití a přístupová práva k němu. Ve Windows 9x hrají atributy spíše informační roli než ochrannou, jako v prostředí MS-DOS. Souboru lze přiřadit libovolnou kombinaci následujících atributů:

Read-Only [R] - nastavuje ochranu souboru proti zápisu, soubor nelze smazat, přesunout nebo upravit bez zvláštních opatření;

Archiv [A] - nastavuje stav archivu pro soubor, nastavuje se automaticky při vytvoření nebo úpravě souboru, odstranění pomocí archivace nebo zálohy;

Skryté [H] – skryté soubory se nebudou zobrazovat ve složkách, pokud nebudou přijata zvláštní opatření.

System [S] - Atribut přiřazený k systémovým souborům.

S každým vloženým souborem Prostředí Windows 9x ikona odkazu, která odpovídá typu souboru. Piktogram Je to malá ilustrace, která vám pomůže rychle identifikovat objekt, se kterým je spojena.

Vzor názvu souboru se často používá k odkazování na více souborů nebo ke zkrácení názvů souborů. Šablona name je jméno, ve kterém se používá zástupné symboly"*" a "?". Pozice, na které se "?" , může obsahovat libovolný znak. "*" znamená, že pozice, na které je "*", a všechny následující mohou mít libovolné znaky.

* .ТХТ - všechny soubory typu ТХТ;

A?.* - všechny soubory, jejichž názvy začínají písmenem A a skládají se z jednoho nebo dvou písmen.

1.2. Složky (adresáře)

S přibývajícími úkoly se počet souborů na disku dramaticky zvyšuje ai přes chytře zvolené názvy souborů je obtížné sledovat pořadí na disku a procházet soubory. Lze uložit skupinu souborů na jednom médiu, kombinovanou podle libovolného kritéria složka(složky). MS-DOS používal koncept katalog nebo adresář(adresář). Analogie mezi složkami a adresáři není úplná. Každý adresář lze považovat za složku, ale ne každá složka odpovídá adresáři na disku, a pokud ano, může být umístěna na úplně jiném místě ve struktuře souborů. Pokud je název souboru uložen ve složce (adresáři), pak se tento soubor nazývá v tomto adresáři. Každá složka ve Windows 9x má ikonu a název jako soubor (ale obvykle bez přípony).

(Libovolná) složka může být registrována v jiné složce. Proto je struktura souborů na discích hierarchická víceúrovňová nebo stromová struktura, v jejímž kořenu existuje hlavní složka, nebo kořenový adresář(ROOT DIRECTORY) Každý disk má jednu takovou složku, která je označena „\“. Kořenový adresář se vytvoří při formátování disku a nelze jej přejmenovat ani odstranit. Nutno podotknout, že není zvykem vytvářet složky na disketách.

Pokud je jedna složka přímo obsažena v jiné složce, pak se první nazývá podřízený (podadresář) a druhý se nazývá nadřazený (nadadresář) vzhledem k první složce. V systému MS-DOS se symbol ".." používá k označení nadřazeného adresáře.

MS-DOS tento koncept podporuje aktuální pohon a aktuální adresáře... Zpočátku je aktuální jednotkou jednotka, ze které byl systém spuštěn, a tedy adresář. Adresář, se kterým uživatel aktuálně pracuje, se nazývá aktuální adresář. Stejným způsobem se určí aktuální pohon. Zavolá se aktuální adresář aktuálního disku pracovníků. Tento koncept podporuje i Windows, ale trochu jiným způsobem, například ke změně pracovní složky v aplikacích dochází implicitně – při otevírání a ukládání dokumentů.

Příklad fragmentu struktury souboru na disku je na Obr. jeden.


Rýže. jeden

Na obrázku 1 je adresář Dokumenty registrován ve složce Moje, takže Dokumenty jsou podadresářem Moje složka a Moje složka je nadřazeným adresářem nebo nadřazeným adresářem Dokumenty.

S každou složkou (ale ne s hlavní) je spojena řada vlastností, stejně jako se souborem. Pro složky je nastaven atribut Directory (D), který je odlišuje od souboru, a je také přiřazeno datum a čas vytvoření.

S rozvětvenou strukturou souborů na disku nestačí k nalezení souboru zadat pouze jeho název (pokud nepoužíváte nástroje Windows na vysoké úrovni). Je nutné uvést cestu (cestu) k souboru. Trasa je posloupnost názvů adresářů oddělených znakem "\", která označuje cestu z kořenového (úplná cesta) nebo aktuálního adresáře disku do adresáře, ve kterém je umístěn soubor. Takto, celý název souboru, nebo specifikace souboru vypadá takto:

[jednotka:] [úplná_cesta \] název.typ.

Čtvercové uvozovky označují volitelné parametry.

Pokud kvalifikovaný název obsahuje znaky, které nejsou platné pro krátké názvy (v systému MS-DOS), musí být specifikace uzavřena v uvozovkách.

Příkladem plně kvalifikovaného názvu souboru je A: \ PROGRAM \ PASCAL \ LAB.PAS.

Například soubor DEMO.EXE umístěný v podadresáři PROGRAM je přístupný:

DEMO.EXE, pokud je aktuální adresář PROGRAM;

PROGRAM \ DEMO.EXE, pokud je aktuální adresář root;

- .. \ demo.exe, pokud je aktuální adresář PASCAL.

1.3. Zkratky

Nástroje Windows 9x poskytují na discích vytvoření další součásti souborového systému - zkratky. Označení(zkratka) je soubor obsahující ukazatel (odkaz) na nějaký objekt ve stromu zdrojů - jiný soubor, složku nebo periferní zařízení. (Struktury souborů všech dostupných disků a také některých I/O zařízení jsou sloučeny do strom zdrojů.) Jeden objekt může odpovídat několika zástupcům umístěným v různých složkách. Když odstraníte zástupce, zničí se pouze odkaz na objekt, který se nijak nezmění. Když dvakrát kliknete na zástupce dokumentu, implicitně se spustí aplikace spojená s tímto dokumentem a samotný dokument se do ní načte ke zpracování. Nejčastěji jsou na plochu umístěny zástupci pro usnadnění přístupu k běžně používaným objektům. Zástupce se jmenuje podle stejných pravidel jako soubor, ale je mu přiřazena standardní přípona LNK (z LiNK - odkaz). Ikona zástupce je stejná jako ikona objektu, pro který byl zástupce vytvořen, ale v levém dolním rohu má zakřivenou šipku.

Pokud je vytvořen zástupce pro aplikaci MS-DOS nebo dávkový soubor, je namísto zástupce vygenerován soubor s příponou PIF. V systému Windows 95 lze tento soubor zobrazit jako zvláštní druh zástupce, který odkazuje na spustitelný soubor pro prostředí MS-DOS.

1.4. plocha počítače

Po načtení Systémy Windows Na obrazovce monitoru se zobrazí 9x plocha počítače(Desktop) je (předpokládá se, že je) největší složkou. Plocha samotná je objektem systému, ale na rozdíl od objektů na ní ji nelze přesunout ani zkopírovat do žádného z nich. Na plochu lze umístit libovolné objekty ze stromu prostředků, obvykle obsahuje pouze standardní (systémové) složky a zástupce těch objektů, ke kterým se nejčastěji přistupuje.

Standardní (systémová) složka Je složka vytvořená a spravovaná samotným systémem Windows. Zde jsou některé ze standardních složek na ploše:

Složka Tento počítač je obrazem počítače a umožňuje přístup k jeho prostředkům. Po získání přístupu k nějakému objektu můžete s ním provádět požadované operace nebo měnit jeho vlastnosti;

Složka Koš. Tato složka obsahuje smazané soubory a zástupce, takže je můžete v případě potřeby obnovit. Velikost košíku je nastavitelná.

Tyto dvě složky jsou povinné, ostatní nikoli. Zvláštností standardních složek je (ve většině případů) nemožnost jejich mazání, přejmenování, speciální vlastnosti, přítomnost konkrétních příkazů v kontextových nabídkách. Plocha je z pohledu Windows také standardní (systémová) složka.

Kontrolní otázky:

1. Co je soubor, název a přípona souboru, vzor?

2. Jaké soubory se nazývají spustitelné?

3. Co je to složka (adresář), podadresář, kořenový a nadřazený adresář?

4. Jaké jsou standardní složky?

5. Uveďte definici specifikace nebo úplný název souboru.

6. Co je to zkratka?


PŘÍKAZY MS-DOS

Příkazy jsou spouštěny z příkazový řádek po obdržení pozvánky do práce nebo z dávkového souboru. Výzva se zobrazí, když je operační systém připraven ke spuštění.

Formát příkazu MS-DOS:

příkaz [parametry].

Parametry z příkazu jsou odděleny mezerami. Pokud uživatel do příkazů nezahrne žádné parametry a klíče, systém poskytne jejich výchozí hodnoty. Klíč /? Poskytuje příkazovou nápovědu. Provádění příkazu nebo programu můžete přerušit stisknutím kláves ; pozastavit zobrazování informací na obrazovce - , pokračujte - stisknutím libovolné klávesy.

Existují dva typy příkazů MS-DOS: vestavěné (interní) a načítatelné (externí). Vestavěný příkazy jsou nejjednodušší, nejčastěji používané, které jsou nedílnou součástí příkazového procesoru command.com a nejsou zobrazeny v katalogu. (Například DIR, COPY, DEL a další.) TO ke stažení Mezi příkazy patří další příkazy, které jsou trvale uloženy v souborech na disku (například FORMAT).Před spuštěním těchto příkazů se musíte ujistit, že jsou na disku přítomny. Podívejme se na některé příkazy systému MS-DOS.

3.1 Chcete-li změnit aktuální jednotku, zadejte název jednotky, která by se měla stát aktuální, a poté symbol „:“.

Například,

příkaz se přepne z jednotky A: na jednotku C:.

3.2 Změna aktuálního adresáře

CD (CHDIR) [jednotka:] cesta

Například,

CD PROGRAM - přejděte do podadresáře PROGRAM;

CD .. - přejděte do nadřazeného adresáře.

3.3 Zobrazení souboru na obrazovce.

TYP [jednotka:] [trasa \] název.typ.

Například,

TYP \ PROGRAM \ PASCAL \ lab.txt;

TYP AUTOEXEC.BAT.

2.4 Smazání souboru nebo skupiny souborů

DEL [jednotka:] [trasa \] název.typ.

Tento příkaz přijímá šablonu.

Například,

DEL *. * - smaže všechny soubory v aktuálním adresáři.

2.5 Procházení adresářů

DIR [jednotka:] [trasa \] [jméno.typ].

U každého souboru příkaz hlásí jeho název, typ, velikost souboru v bajtech, datum vytvoření a čas vytvoření, popř Poslední aktualizace soubor. Na konci je hlášeno množství volného místa. Klávesa "" / P "" přestane zadávat obsah adresáře, protože obrazovka je plná, pro pokračování v zadávání stiskněte libovolnou klávesu. Při použití přepínače "/ W" se zobrazí pouze názvy souborů (a přípony), 5 na řádek.

2.6 Vytvoření podadresáře

MD (MKDIR) [drive:] cesta

2.7 Odebrání podadresáře

RD (RMDIR) [jednotka:] cesta

Tento příkaz může odstranit jakýkoli podadresář, ale neměl by obsahovat žádné soubory ani jiné podadresáře (aby se zabránilo ztrátě souborů v důsledku náhodného vymazání). Aktuální podadresář a hlavní adresář samozřejmě nelze zničit.

2.8 Přejmenování souborů

REN [jednotka:] [trasa \] staré_jméno nové_jméno.

Tento příkaz umožňuje změnit název odpovídajícího souboru bez změny jeho obsahu. Příkaz přijímá šablonu.

2.9 Vymazání obrazovky

2.10 Zobrazení verze operačního systému

Po zadání tohoto příkazu se na obrazovce objeví číslo verze operačního systému, které závisí na roce, kdy byla verze vytvořena. Znalost verze je nezbytná, protože finanční prostředky se rok od roku zvyšují a příkazy a programy napsané pro pozdější verze nebudou fungovat vůbec nebo budou fungovat jinak.

2.11 Nastavení aktuálního času

ČAS [hh: mm: cc: dd]

Tento příkaz nastavuje aktuální čas při načtení systému MS-DOS nebo kdykoli jindy při práci na počítači. Když spustíte příkaz bez parametrů, zobrazí se aktuální čas a stisknutím klávesy se vyžádá nový , můžete souhlasit s aktuálním časem.

2.12 Nastavení aktuálního data

DATUM [mm: dd: yy]

Příkaz nastavuje aktuální datum podobně jako příkaz TIME pro nastavení aktuálního času.

2.13 Procházení stromu podadresářů

Tento příkaz zobrazí na obrazovce logický výpis všech podadresářů na aktivním disku. Když přidáte klíč F, můžete také získat seznam souborů obsažených v těchto podadresářích.

2.14 Kopírování jednotlivých souborů

Příkaz COPY umožňuje kopírovat soubory z disku na disk, vyměňovat data mezi periferními zařízeními a kombinovat data během kopírování.

KOPÍROVAT [jízda:] [trasa \] isf [jízda:] [trasa \] [informace],

kde isf je název starého souboru s příponou, inf je název nového souboru s příponou. Přepínač / V umožňuje kopírování s kontrolou autorských práv. Tento příkaz přijímá šablonu.

Při použití příkazu COPY k výměně informací mezi periferními zařízeními se místo názvů souborů do příkazu nahradí speciální názvy CON, PRN, NIL atd., které mají následující význam:

CON - konzole: klávesnice pro zadávání dat, zobrazení videa pro výstup výsledků a ovládání dialogů;

PRN je hlavní tiskárna spojená s vaším systémem;

NUL pseudozařízení (neexistující) pro testování programů.

Příkaz COPY umožňuje zkombinovat více souborů do jednoho se znaménkem „+“. S takovým spojením (zřetězením) zdrojové soubory nezmění a aktuální čas a datum budou zapsány do nového souboru.

1) ZKOPÍROVAT PASCAL \ *. PAS B :,

všechny soubory typu PAS se zkopírují z podadresáře PASCAL na disk B:

2) ZKOPÍROVAT SOUBOR.EXT PRN,

tisk souboru FILE.EXT.

3) ZKOPÍROVAT CON FILE.EXT,

vstup z klávesnice do FILE.EXT a konec souboru vygeneruje kombinaci kláves (vytvořte soubor v MS-DOS).

4) ZKOPÍROVAT FILE1.EXT + FILE2.EXT + FILE3.EXT BOOK.EXT,

sloučení více souborů do jednoho BOOK.EXT.

2.15 Ochrana souborů proti zápisu

ATTRIB [+ R ¦ -R] [+ A ¦-A] [jednotka:] [trasa \] název souboru.

R - nastavuje ochranu souboru proti zápisu;

R - zruší ochranu souboru proti zápisu;

A - nastavuje stav archivu souboru;

A - zruší archivní stav souboru;

ATTRIB + R FILE.EXT - do tohoto souboru nelze zapisovat informace;

ATTRIB FILE.EXT - je vznesena žádost o možnost zápisu dat do FILE.EXT. Odezva operačního systému:

R_A: \ FILE.EXT, tzn. do souboru nelze zapisovat.

2.16. Přeposílání dat:

> - přesměrovat výstup. Data, která jsou vždy zobrazena, jsou přesměrována do periferního zařízení nebo do souboru na disku. V druhém případě se soubor v případě potřeby vytvoří. Pokud soubor existuje, stará data se přepíší novými.

TYP SOUBOR.TXT> PRN

Zítra setkání ECHO Group> PRN

>> - výstup je také přesměrován, ale pokud soubor již existuje, data se připojí ke starým datům.

< - переадресовать входные данные. Данные будут приниматься не с клавиатуры, а с периферийного устройства или из дискового файла.

PROGRAM< FILE.TXT

Poznámka: Program, jehož výsledky chceme přesměrovat, musí používat standardní I/O funkce.

2.17. Organizace dopravníků.

Příkazy nebo programy můžete řetězit tak, že výstup prvního z nich bude použit jako vstup z klávesnice pro další A1 | A2 | A3.

ECHO Y | DEL *. *> NUL - automaticky odpoví Y (Ano) na dotaz "Jste si jistý ..." při mazání všech položek katalogu.

Vyskytuje se podél (dopravník) | přenos dat z jednoho programu do druhého. Mnohem efektivnější využití | (potrubí) s příkazy filtrování a přesměrování.

2.18 Filtry NAJÍT, VÍCE, Třídit.

a) Vyhledejte zadaná data v souboru na disku (telefonní číslo, adresa, jakákoli fráze):

NAJDĚTE „frázi“ [cesta \] název souboru,

kde / C je čítač detekce, tzn. kolikrát byla fráze nalezena, ale samotné řádky se nezobrazují;

/ N - zobrazí se také číslo řádku (kromě samotného řádku);

/ V - zobrazí všechny řádky, které neobsahují danou frázi.

FIND “group” FILE.TXT - zobrazí se řádek ze souboru obsahující slovo “group”.

DIR | FIND / V „COM“ - zobrazí se všechny soubory kromě souborů s příponou COM.

NAJDĚTE „auto“ AB.DAT, B.DAT, C.DAT - výdaje na auto.

b) Zobrazení stránky po stránce

VÍCE< FILE.TXT

TYP SOUBOR.EXT | VÍCE

c) Třídění dat.

SORT (ve výchozím nastavení řazení podle 1 znaku abecedně ve vzestupném pořadí),

kde / R - řazení v sestupném pořadí;

/ + n - počínaje sloupcem n se řazení uskuteční v řádku.

zadávání informací z klávesnice, Ù Z - znak konce zadávaných informací.

To je žádoucí zapsat do souboru, tzn. TŘÍDĚT< CON >FILE.TXT.

DIR | SORT - položky katalogu jsou seřazeny podle názvů souborů (katalogů).

DIR | TŘÍDĚT / + 10> SOUBOR.EXT -

seznam souborů bude uspořádán podle přípony (WINDOWS 9X).

Soubory a souborový systém

Všechny programy a data jsou uložena v dlouhodobé (externí) paměti počítače ve formě souborů.

Soubor je určité množství informací (programu nebo dat), které má jméno a je uloženo v dlouhodobé (externí) paměti.

Název souboru. Název souboru se skládá ze dvou částí oddělených tečkou: skutečný název souboru a přípona, která určuje jeho typ (program, data atd.). Skutečný název souboru zadá uživatel a typ souboru obvykle program nastaví automaticky při jeho vytvoření (tabulka 4.2).

Různé operační systémy mají různé formáty názvů souborů. V operačním systému MS-DOS nesmí skutečný název souboru obsahovat více než 8 písmen latinské abecedy, číslice a některé speciální znaky a přípona se skládá ze tří latinských písmen, například: proba.txt

V operačním systému Windows může mít název souboru až 255 znaků a můžete použít ruskou abecedu, například: Information units.doc


Souborový systém. Každé paměťové médium (disketa, pevný disk nebo laserový disk) lze uložit velký počet soubory. Pořadí, ve kterém jsou soubory uloženy na disku, je určeno použitým systémem souborů.

Každý disk je rozdělen na dvě oblasti: oblast pro ukládání souborů a adresář. Adresář obsahuje název souboru a označení začátku jeho umístění na disk. Pokud nakreslíme analogii disku s knihou, pak oblast úložiště souborů odpovídá jejímu obsahu a adresář odpovídá obsahu. Kniha se navíc skládá ze stránek a disk ze sektorů.

Pro disky s ne velké množství lze použít soubory (až několik desítek). jednoúrovňový souborový systém, kdy adresář (obsah disku) je lineární posloupnost názvů souborů (tabulka 4.3). Takový katalog lze přirovnat k obsahu dětské knihy, který obsahuje pouze názvy jednotlivých příběhů.

Pokud jsou na disku uloženy stovky a tisíce souborů, pak se pro usnadnění vyhledávání používá víceúrovňový hierarchický souborový systém který má stromovou strukturu. Takovýto hierarchický systém lze přirovnat například k obsahu této učebnice, což je hierarchický systém oddílů, kapitol, odstavců a odstavců.

Počáteční, kořenový adresář obsahuje podadresáře 1. úrovně, každý z nich může obsahovat podadresáře 2. úrovně a tak dále. Je třeba poznamenat, že soubory lze ukládat do adresářů všech úrovní.

Například kořenový adresář může obsahovat dva podadresáře 1. úrovně (Directory_1, Directory_2) a jeden soubor (File_1). Adresář 1. úrovně (Katalog_1) zase obsahuje dva podadresáře druhé úrovně (Katalog_1.1 a Katalog_1.2) a jeden soubor (Soubor_1.1) - Obr. 4.21.

Souborový systém je systém ukládání souborů a organizace adresářů.

Uvažujme hierarchický souborový systém s konkrétním příkladem. Každý disk má své logické jméno (A :, B: - diskety, C :, D :, E: a tak dále - pevné a laserové disky).

Předpokládejme, že kořenový adresář jednotky C: má dva adresáře 1. úrovně (GAMES, TEXT) a adresář GAMES má jeden adresář 2. úrovně (CHESS). V tomto případě adresář TEXT obsahuje soubor proba.txt a adresář CHESS obsahuje soubor chess.exe (obr. 4.22).

Cesta k souboru. Jak najdu existující soubory (chess.exe, proba.txt) v tomto hierarchickém systému souborů? Chcete-li to provést, musíte zadat cestu k souboru. Cesta k souboru obsahuje název logické jednotky (oddělený "\") a posloupnost názvů vnořených adresářů, z nichž poslední obsahuje požadovaný soubor. Cesty k výše uvedeným souborům lze zapsat následovně:

Cesta k souboru spolu s názvem souboru se někdy nazývá celý název souboru.

Příklad plně kvalifikovaného souboru:

C \ HRY \ ŠACHY \ chess.exe

Reprezentace souborového systému pomocí grafického rozhraní. Hierarchický souborový systém MS-DOS obsahující adresáře a soubory je v operačním systému Windows reprezentován pomocí grafického rozhraní v podobě hierarchického systému složek a dokumentů. Složka ve Windows je analogická s adresářem MS-DOS

Hierarchická struktura těchto systémů je však poněkud odlišná. V hierarchickém souborovém systému MS-DOS je vrcholem hierarchie objektů kořenový adresář disku, který lze přirovnat ke kmeni stromu, na kterém rostou větve (podadresáře) a listy (soubory) jsou umístěny na větví.

V systému Windows je na vrcholu hierarchie složek složka plocha počítače... Další úroveň představují složky Můj počítač, Koš a síť(pokud je počítač připojen k místní síti) - obr. 4.23.

2. Výběrem jedné z položek nabídky Zobrazit (velké ikony, malé ikony, seznam, tabulka), můžete upravit způsob zobrazení obsahu složky.

Složka síť obsahuje složky všech počítačů aktuálně připojených k místní síti.

Složka Košík dočasně obsahuje všechny smazané složky a soubory. V případě potřeby smazán a uložen do Košík složky a dokumenty lze obnovit.

3. Chcete-li trvale odstranit soubory, zadejte příkaz [File-Empty Trash].

Operace se soubory. V procesu práce na počítači se se soubory nejčastěji provádějí následující operace:

  • kopírování (kopie souboru je umístěna v jiném adresáři);
  • přesunout (samotný soubor se přesune do jiného adresáře);
  • smazání (záznam souboru je smazán z adresáře);
  • přejmenovat (změny názvu souboru).

Grafické rozhraní Windows umožňuje operace se soubory pomocí myši metodou Drag & Drop. Existují i ​​specializované aplikace pro práci se soubory, tzv správce souborů: Norton Commander, Windows Commander, Průzkumník souborů atd.

V některých případech je nutné pracovat s rozhraním příkazového řádku. Systém Windows poskytuje režim rozhraní příkazového řádku systému MS-DOS.

Rozhraní příkazového řádku

1. Zadejte příkaz [Programy-MS-DOS Session]. Zobrazí se okno aplikace relace MS-DOS.

Na výzvu systému můžete z klávesnice zadávat příkazy systému MS-DOS, včetně:

  • příkazy pro práci se soubory (kopírovat, del, přejmenovávat atd.);
  • příkazy pro práci s adresáři (dir, mkdir, chdir atd.);
  • příkazy pro práci s disky (formát, defragmentace atd.).

2. Existují desítky příkazů systému MS-DOS a každý příkaz má svůj vlastní formát a parametry, které jsou obtížně zapamatovatelné. Chcete-li přijímat, musíte základní informace příkazem, musíte za názvem příkazu zadat klíč /?.

Chcete-li například získat nápovědu k příkazu format, do systémového řádku zadejte: C: \ WINDOWS> format /?


Otázky k zamyšlení

1. Jaký prvek je vrcholem hierarchie v systému souborů MS-DOS? V grafickém uživatelském rozhraní Windows?

Praktické úkoly

4.11. Kopírování souborů pomocí rozhraní příkazového řádku a správce souborů.

4.12. Zkontrolujte objem disků v počítači a také množství použitého a volného místa.

4.13. Seznamte se s formátem příkazu dir. Zobrazte kořenový adresář jednotky C.

Dříve nebo později se začínající uživatel počítače setká s takovým konceptem, jako je souborový systém (FS). K prvnímu seznámení s tímto pojmem zpravidla dochází při formátování paměťového média: logické disky a zásuvná média (flash disky, paměťové karty, externí pevný disk).

Před formátováním vás operační systém Windows vyzve k výběru typu systému souborů na médiu, velikosti clusteru a způsobu formátování (rychlé nebo úplné). Podívejme se, co je souborový systém a k čemu slouží?

Veškeré informace jsou na médiu zaznamenány ve formě, která musí být uspořádána v určitém pořadí, jinak operační systém a programy nebudou moci s daty pracovat. Toto pořadí organizuje souborový systém pomocí určitých algoritmů a pravidel pro umístění souborů na médium.

Když program potřebuje soubor na disku, nepotřebuje vědět, jak a kde je uložen. Vše, co program musí udělat, je znát název souboru, velikost a atributy, aby tato data předal systému souborů, který zajistí přístup k požadovanému souboru. Totéž se děje při zápisu dat na médium: program předá informace o souboru (jméno, velikost, atributy) do systému souborů, který je uloží podle vlastních specifických pravidel.

Pro lepší pochopení si představte, že knihovník rozdává klientovi knihu podle názvu. Nebo v opačném pořadí: klient předá přečtenou knihu knihovníkovi, který ji uloží zpět do úložiště. Klient vůbec nemusí vědět, kde a jak je kniha uložena, za to odpovídá pracovník instituce. Knihovník zná pravidla pro katalogizaci knihovny a podle těchto pravidel publikaci vyhledá nebo ji zařadí zpět, tzn. vykonává své oficiální funkce. PROTI tento příklad knihovna je paměťové médium, knihovník je souborový systém, klient je program.

Hlavní funkce souborového systému

Hlavní funkce souborového systému jsou:

  • umístění a objednání na nosiči dat ve formě souborů;
  • stanovení maximálního podporovaného množství dat na paměťovém médiu;
  • vytváření, čtení a mazání souborů;
  • přiřazení a změna atributů souboru (velikost, čas vytvoření a úpravy, vlastník a tvůrce souboru, pouze pro čtení, skrytý soubor, dočasný soubor, archiv, spustitelný soubor, maximální délka názvu souboru atd.);
  • definování struktury souboru;
  • organizace adresářů pro logické uspořádání souborů;
  • ochrana souborů v případě selhání systému;
  • ochrana souborů před neoprávněným přístupem a změnami jejich obsahu.

Informace zaznamenané na pevném disku nebo jiném médiu jsou na něm umístěny na základě organizace clusteru. Cluster je druh buňky o určité velikosti, do které lze umístit celý soubor nebo jeho část.

Pokud má soubor velikost clusteru, zabírá pouze jeden cluster. Pokud velikost souboru přesahuje velikost buňky, je umístěn do několika buněk klastru. Navíc volné shluky nemusí být umístěny vedle sebe, ale mohou být rozptýleny po fyzickém povrchu disku. Takový systém umožňuje co nejefektivnější využití prostoru při ukládání souborů. Úkolem souborového systému je soubor při zápisu optimálně rozložit do volných shluků a také jej při čtení shromáždit a předat programu nebo operačnímu systému.

Typy souborových systémů

V procesu evoluce počítačů, paměťových médií a operačních systémů se objevilo a zaniklo velké množství souborových systémů. V procesu takového evolučního výběru se dnes pro práci s pevnými disky a externími disky (flash disky, paměťové karty, externí pevné disky, CD) používají především následující typy FS:

  1. FAT32
  2. ISO9660

Poslední dva systémy jsou navrženy pro práci s CD. Souborové systémy Ext3 a Ext4 pracují s operačními systémy založenými na Linuxu. NFS Plus je souborový systém pro operační systémy OS X používaný v počítačích Apple.

Nejrozšířenější souborové systémy jsou NTFS a FAT32, a to není překvapivé, protože jsou určeny pro operační systémy Windows, na kterých běží velká většina světových počítačů.

Nyní je FAT32 aktivně nahrazován pokročilejším systémem NTFS kvůli jeho větší spolehlivosti z hlediska bezpečnosti a ochrany dat. Kromě toho, nejnovější verze systému Windows se jednoduše nedovolí nainstalovat, pokud oddíl pevný disk bude naformátován na FAT32. Instalační program vás požádá o naformátování oddílu na NTFS.

Systém souborů NTFS podporuje práci s disky o velikosti stovek terabajtů a jedním souborem až do velikosti 16 terabajtů.

Systém souborů FAT32 podporuje jednotky až 8 terabajtů a velikost jednoho souboru až 4 GB. Nejčastěji se tento FS používá na flash discích a paměťových kartách. Externí disky jsou z výroby naformátovány na FAT32.

Omezení velikosti souboru 4GB je však již dnes velkou nevýhodou. kvůli šíření vysoce kvalitního videa překročí velikost filmového souboru tento limit a nebude možné nahrávat na média.

Podíl.

Schopnost operačního systému „promítat“ složitosti skutečného zařízení se velmi jasně projevuje v jednom z hlavních subsystémů operačního systému - souborový systém... Operační systém virtualizuje samostatnou sadu dat uloženou na externím úložném zařízení jako soubor – jednoduchou nestrukturovanou sekvenci bajtů, která má symbolický název. Pro usnadnění práce s daty jsou soubory seskupeny do katalogy které zase tvoří skupiny - adresáře vyšší úrovně. Uživatel může používat OS k provádění akcí se soubory a adresáři, jako je vyhledávání podle názvu, mazání, výstup obsahu na externí zařízení (jako je displej), změna a ukládání obsahu.

Pro reprezentaci velkého množství datových sad náhodně roztroušených po válcích a površích různých typů disků v podobě známé a pohodlné hierarchické struktury souborů a adresářů musí operační systém vyřešit mnoho problémů. Souborový systém OS převádí symbolické názvy souborů, se kterými uživatel nebo aplikační programátor pracuje, na fyzické adresy dat na disku, organizuje sdílený přístup k souborům a chrání je před neoprávněným přístupem.

Při plnění svých funkcí systém souborů úzce spolupracuje se subsystémem správy externích zařízení, který na žádost systému souborů přenáší data mezi disky a RAM.

Subsystém pro ovládání externích zařízení, nazývaný také I/O subsystém, funguje jako rozhraní pro všechna zařízení připojená k počítači. Nabídka těchto zařízení je velmi široká. Existují stovky modelů pevných disků, disketových jednotek, optických jednotek, tiskáren, skenerů, monitorů, plotrů, modemů, síťových adaptérů a více specializovaných I/O zařízení, jako jsou analogově-digitální převodníky. Tyto modely se mohou výrazně lišit sadou a posloupností příkazů, s jejichž pomocí dochází k výměně informací s procesorem a pamětí počítače, rychlostí provozu, kódováním přenášených dat, možností sdílení a mnoha dalšími drobnostmi.

Obvykle se nazývá program, který ovládá konkrétní model externího zařízení a zohledňuje všechny jeho vlastnosti Řidič toto zařízení (z anglického drive - spravovat, řídit). Ovladač může ovládat jeden model zařízení, jako je modem ZyXEL U-1496E, nebo skupinu specifických typů zařízení, jako je jakýkoli modem kompatibilní s Hayes. Pro uživatele je velmi důležité, aby operační systém obsahoval co nejvíce různých ovladačů, protože tím je zajištěno připojení velkého množství externích zařízení k počítači. různých výrobců... Úspěch operačního systému na trhu do značné míry závisí na dostupnosti vhodných ovladačů (například nedostatek mnoha potřebných ovladačů externích zařízení byl jedním z důvodů nízké popularity OS / 2).



Ovladače zařízení jsou vytvářeny jak vývojáři OS, tak specialisty ze společností, které vyrábějí externí zařízení. Operační systém musí podporovat dobře definované rozhraní mezi ovladači a zbytkem operačního systému, aby vývojáři I/O zařízení mohli dodávat ovladače pro daný operační systém se svými zařízeními.

Aplikační programátoři mohou používat rozhraní ovladače k ​​vývoji svých programů, ale to není příliš pohodlné - takové rozhraní jsou obvykle nízkoúrovňové operace, zatížené spoustou detailů.

Udržování unifikovaného API na vysoké úrovni pro heterogenní I/O zařízení je jedním z nejdůležitějších úkolů operačního systému. Od příchodu UNIXu je takové jednotné rozhraní ve většině operačních systémů založeno na tomto konceptu přístup k souboru... Tento koncept spočívá v tom, že výměna s jakýmkoli externím zařízením vypadá jako výměna se souborem, který má název a je nestrukturovanou sekvencí bajtů. Soubor může být buď skutečný soubor na disku, nebo alfanumerický terminál, tiskárna nebo síťový adaptér. Zde se opět zabýváme vlastnost operačního systému nahradit skutečný hardware abstrakcemi vhodnými pro uživatele a programátora.

Úlohy OS pro správu souborů a zařízení

Vstupně-výstupní subsystém multiprogramovacího OS musí při výměně dat s externími zařízeními počítače řešit řadu běžných úloh, z nichž nejdůležitější jsou tyto:

Organizace paralelního provozu vstupně-výstupních zařízení a procesoru;

Vyjednávání přenosové rychlosti a ukládání dat do mezipaměti;

Sdílení zařízení a dat mezi procesy;

Poskytování pohodlného logického rozhraní mezi zařízeními a zbytkem systému;

Podpora široké škály ovladačů s možností snadného zařazení nového ovladače do systému;

Podpora více souborových systémů;

Podpora synchronních a asynchronních I/O operací.

Jedním z hlavních úkolů operačního systému je poskytnout uživateli pohodlí při práci s daty uloženými na discích. K tomu OS nahradí fyzickou strukturu uložených dat nějakým uživatelsky přívětivým logickým modelem. Logický model souborového systému se zhmotňuje jako adresářový strom zobrazené nástroji, jako je Norton Commander nebo Windows Explorer, v symbolických složených názvech souborů, v souborových příkazech. Základním prvkem tohoto modelu je soubor, který se stejně jako souborový systém jako celek může vyznačovat jak logickou, tak fyzickou strukturou.

Soubor je pojmenovaná oblast externí paměť, do kterého lze zapisovat a ze kterého lze data číst. Soubory jsou uloženy v paměti závislé na energii, obvykle na magnetických discích. Neexistují však žádná pravidla bez výjimky. Jednou z těchto výjimek je tzv. ramdisk, kdy se v RAM vytvoří struktura simulující souborový systém.

Hlavní účely použití souboru:

Dlouhodobé a bezpečné úložiště informace. Trvanlivosti je dosaženo použitím úložných zařízení, která nejsou závislá na napájení, a vysoká spolehlivost je dána prostředky ochrany přístupu k souborům a celkovou organizací programového kódu operačního systému, ve kterém selhání hardwaru nejčastěji nezničí informace. uloženy v souborech.

Sdílení informací. Soubory poskytují přirozené a lehká cesta oddělení informací mezi aplikacemi a uživateli díky přítomnosti lidsky čitelného symbolického názvu a stálosti uložených informací a umístění souboru. Uživatel by měl mít k dispozici pohodlné nástroje pro práci se soubory, včetně adresářů, které sdružují soubory do skupin, nástroje pro vyhledávání souborů podle atributů, sadu příkazů pro vytváření, úpravu a mazání souborů. Soubor může vytvořit jeden uživatel a následně jej používat úplně jiný uživatel, přičemž tvůrce souboru nebo správce k němu může určit přístupová práva ostatních uživatelů. Tyto cíle jsou v OS implementovány souborovým systémem.

Souborový systém(FS) je součástí operačního systému, který zahrnuje:

Sbírka všech souborů na disku;

Sady datových struktur používaných ke správě souborů, jako jsou adresáře souborů, deskriptory souborů, tabulky pro alokaci volného a použitého místa na disku;

Komplex systémových softwarových nástrojů, které implementují různé operace se soubory, jako je vytváření, ničení, čtení, zápis, pojmenovávání a vyhledávání souborů.

Systém souborů umožňuje programům vystačit si se sadou dostatečně jednoduchých operací k provádění akcí na nějakém abstraktním objektu, který představuje soubor. To eliminuje potřebu programátorů zabývat se detaily skutečného umístění dat na disku, ukládáním dat do vyrovnávací paměti a dalšími nízkoúrovňovými problémy přenosu dat z energeticky nezávislého úložiště. Všechny tyto funkce přebírá souborový systém. Systém souborů přiděluje místo na disku, podporuje pojmenování souborů, mapuje názvy souborů na odpovídající adresy v externí paměti, poskytuje přístup k datům a podporuje dělení souborů, ochranu a obnovu.

Souborový systém tedy funguje jako mezivrstva, která chrání všechny složitosti fyzické organizace dlouhodobého úložiště dat a poskytuje programům jednodušší logický model tohoto úložiště a zároveň jim poskytuje sadu snadno -použít příkazy pro manipulaci se soubory.

Úlohy řešené FS závisí na způsobu organizace výpočetního procesu jako celku. Nejjednodušším typem je FS v jednouživatelských a jednoprogramových operačních systémech, jako je MS-DOS. Hlavní funkce v takovém FS jsou zaměřeny na řešení následujících úkolů:

pojmenování souborů;

Aplikační programovací rozhraní;

Mapování logického modelu souborového systému na fyzickou organizaci datového skladu;

Odolnost systému souborů vůči výpadkům napájení, chybám hardwaru a softwaru.

Úlohy FS se komplikují v jednouživatelských multiprogramovacích operačních systémech, které jsou sice určeny pro práci jednoho uživatele, ale umožňují mu spouštět více procesů současně. Jedním z prvních operačních systémů tohoto typu byl OS / 2. K výše uvedeným úlohám je přidána nová úloha víceprocesového sdílení souborů. V tomto případě je soubor sdíleným prostředkem, což znamená, že souborový systém musí vyřešit celý komplex problémů s takovými prostředky spojenými. FS by měl zejména poskytovat prostředky pro blokování souboru a jeho částí, zabránění závodům, odstranění zablokování, sladění kopií atd.

Ve víceuživatelských systémech se objevuje další výzva: ochrana souborů jednoho uživatele před neoprávněným přístupem jiného uživatele. Funkce FS, který funguje jako součást síťového operačního systému, se stávají ještě složitějšími.

Souborové systémy podporují několik funkčně odlišných typy souborů, které obvykle zahrnují běžné soubory, soubory adresářů, speciální soubory, pojmenované kanály, soubory mapované v paměti a další.

Běžné soubory, nebo jednoduše soubory, obsahují informace libovolného charakteru, které do nich uživatel zadává nebo které se tvoří jako výsledek práce systémových a uživatelských programů. Většina moderních operačních systémů (například UNIX, Windows, OS / 2) nijak neomezuje ani nekontroluje obsah a strukturu běžného souboru. Obsah běžného souboru je určen aplikací, která s ním běží. Například, textový editor vytváří textové soubory skládající se z řetězců znaků zastoupených v nějakém kódu. Mohou to být dokumenty, zdrojové kódy programů atd. Textové soubory lze přečíst na obrazovce a vytisknout na tiskárně. Binární soubory nepoužívají znakové kódy, často mají složité vnitřní struktury, jako je spustitelný programový kód nebo archivní soubor. Všechny operační systémy musí být schopny rozpoznat alespoň jeden typ souboru – své vlastní spustitelné soubory.

Katalogy je speciální typ souborů, které obsahují systémové referenční informace o sadě souborů seskupených uživateli podle nějakého neformálního kritéria (například soubory obsahující dokumenty jedné smlouvy nebo soubory, které tvoří jeden softwarový balík, jsou sloučeny do jedné skupiny). V mnoha operačních systémech může adresář obsahovat libovolný typ souboru, včetně jiných adresářů, čímž se vytvoří prohledávatelná stromová struktura. Adresáře mapují názvy souborů na jejich charakteristiky, které používá systém souborů ke správě souborů. Mezi tyto charakteristiky patří zejména informace (nebo ukazatel na jinou strukturu obsahující tyto údaje) o typu souboru a umístění na disku, přístupových právech k souboru a datech jeho vytvoření a modifikace. Ve všech ostatních ohledech se s adresáři zachází jako s běžnými soubory souborovým systémem.

Speciální soubory jsou fiktivní soubory spojené s I/O zařízeními, které se používají ke sjednocení mechanismu pro přístup k souborům a externím zařízením. Speciální soubory umožňují uživateli provádět I/O operace pomocí obvyklých příkazů zápisu do souboru nebo čtení ze souboru. Tyto příkazy jsou nejprve zpracovány programy souborového systému a poté jsou v určité fázi provádění požadavku transformovány operační systém do ovládacích příkazů odpovídajícího zařízení.

Moderní souborové systémy podporují i ​​jiné typy souborů, jako jsou symbolické odkazy, pojmenované kanály, soubory mapované v paměti.

Uživatelé přistupují k souborům pomocí symbolická jména... Kapacita lidské paměti však omezuje počet názvů objektů, na které může uživatel podle jména odkazovat. Hierarchická organizace jmenného prostoru umožňuje tyto hranice značně rozšířit. To je důvod, proč má většina souborových systémů hierarchickou strukturu, ve které se vytvářejí úrovně, protože adresář nižší úrovně lze zahrnout do adresáře vyšší úrovně (obrázek 2.16).

Obrázek 2.16. Hierarchie souborových systémů (a - jednoúrovňová struktura, b - stromová struktura, c - síťová struktura)

Graf popisující hierarchii adresářů může být strom nebo síť. Adresáře tvoří strom, pokud má soubor povolen vstup pouze do jednoho adresáře (obrázek 2.16, b), a síť - pokud soubor může vstupovat do několika adresářů najednou (obrázek 2.16, c). Například v systémech MS-DOS a Windows tvoří adresáře stromovou strukturu, zatímco v systému UNIX jsou propojeny sítí. Ve stromové struktuře je každý soubor listem. Je volán adresář nejvyšší úrovně kořenový adresář, nebo root (kořen).

S takovou organizací je uživatel osvobozen od zapamatování názvů všech souborů, stačí, aby měl přibližnou představu, do které skupiny lze konkrétní soubor zařadit, aby jej našel sekvenčním skenováním adresářů. . Hierarchická struktura je vhodná pro víceuživatelskou práci: každý uživatel se svými soubory je lokalizován ve svém adresáři nebo podstromu adresářů a zároveň jsou všechny soubory v systému logicky propojeny.

Speciálním případem hierarchické struktury je jednoúrovňová organizace, kdy jsou všechny soubory zahrnuty v jednom adresáři (obrázek 2.16, a).

Všechny typy souborů mají symbolické názvy. V hierarchicky organizovaných souborových systémech se běžně používají tři typy názvů souborů: jednoduchý, složený a relativní.

Jednoduché nebo krátké symbolické jméno identifikuje soubor ve stejném adresáři. Jednoduché názvy přidělují souborům uživatelé a programátoři, přičemž musí zohledňovat omezení operačního systému jak na názvosloví znaků, tak na délku názvu. Ještě relativně nedávno byly tyto hranice velmi úzké. Takže v populárním souborovém systému FAT byla délka názvů omezena schématem 8.3 (8 znaků - samotný název, 3 znaky - přípona jména) a v systému souborů s5, podporovaném mnoha verzemi OS UNIX, jednoduché symbolické jméno nesmělo obsahovat více než 14 znaků. Pro uživatele je však mnohem pohodlnější pracovat s dlouhými názvy, protože umožňují přiřadit souborům snadno zapamatovatelné názvy, které jasně označují, co se v souboru nachází. Proto moderní systémy souborů, stejně jako vylepšení již existujících systémů souborů, obecně podporují dlouhé, jednoduché, symbolické názvy souborů. Například v souborových systémech NTFS a FAT32, které jsou součástí operačního systému Windows NT, může název souboru obsahovat až 255 znaků.

V hierarchických souborových systémech mohou mít různé soubory stejná jednoduchá symbolická jména za předpokladu, že patří do různých adresářů. To znamená, že zde funguje schéma „mnoho souborů – jeden jednoduchý název“. Tyto systémy používají k jednoznačné identifikaci souboru tzv. celé jméno.

Celé jméno je řetězec jednoduchých symbolických názvů všech adresářů, kterými prochází cesta od kořene k danému souboru. Celý název je tedy složený název, ve kterém jsou jednoduchá jména od sebe oddělena oddělovačem OS. Často se jako oddělovač používá dopředné nebo zpětné lomítko a je obvyklé neuvádět název kořenového adresáře. Na obrázku 2.16b mají dva soubory jednoduchý název main.exe, ale jejich složené názvy /depart/main.exe a /user/anna/main.exe se liší.

Ve stromově strukturovaném systému souborů existuje vzájemná shoda mezi souborem a jeho úplným názvem: „jeden soubor – jedno celé jméno“. V souborových systémech se síťovou strukturou může být soubor zahrnut do několika adresářů, což znamená, že může mít několik plně kvalifikovaných jmen; zde platí korespondence "jeden soubor - mnoho celých jmen". V obou případech je soubor jednoznačně identifikován svým celým jménem.

Soubor lze také identifikovat podle relativního názvu. ... Relativní jméno soubor je definován pomocí konceptu "aktuálního adresáře". Pro každého uživatele je v každém okamžiku jeden z adresářů souborového systému aktuální a tento adresář si volí uživatel sám na příkaz OS. Systém souborů zachycuje název aktuálního adresáře, takže jej lze použít jako doplněk k relativním jménům k vytvoření plně kvalifikovaného názvu souboru. Při použití relativních jmen uživatel identifikuje soubor podle řetězce názvů adresářů, které přecházejí z aktuálního adresáře do daného souboru. Pokud je například aktuální adresář / user, relativní název souboru /user/anna/main.exe je anna / main.exe.

Některé operační systémy umožňují přiřadit stejnému souboru více jednoduchých názvů, které lze interpretovat jako aliasy. V tomto případě, stejně jako v systému se síťovou strukturou, je vytvořena korespondence "jeden soubor - mnoho úplných jmen", protože každému jednoduchému názvu souboru odpovídá alespoň jedno celé jméno.

Přestože plně kvalifikovaný název jednoznačně identifikuje soubor, je pro operační systém snazší pracovat se souborem, pokud existuje vzájemná shoda mezi soubory a jejich názvy. Za tímto účelem přiřadí souboru jedinečný název, takže vztah „jeden soubor – jedno jedinečné jméno“ je pravdivý. Jedinečný název existuje spolu s jedním nebo více symbolickými názvy přiřazenými uživateli nebo aplikacemi k souboru. Jedinečný název je číselný identifikátor a je určen pouze pro operační systém. Příkladem takového jedinečného názvu souboru je číslo inodu UNIX.

Soubor obsahuje nejen data a název, který ukládá, ale také atributy. Atributy je informace popisující vlastnosti souboru. Příklady možných atributů souboru:

Typ souboru (běžný soubor, adresář, speciální soubor atd.);

vlastník souboru;

Tvůrce souboru;

heslo pro přístup k souboru;

Informace o povolených operacích přístupu k souborům;

Časy vytvoření, posledního přístupu a poslední úpravy;

Aktuální velikost souboru;

Maximální velikost souboru;

příznak pouze pro čtení;

Znak skrytého souboru;

znamení" systémový soubor»;

Podepište "archivační soubor";

Znamení "binární / znak";

Podepište "dočasné" (po dokončení procesu odstraňte);

Blokovací znak;

Délka záznamu v souboru;

Ukazatel na klíčové pole v záznamu;

Délka klíče.

Sada atributů souborů je určena specifiky systému souborů: v systémech souborů odlišné typy k charakterizaci souborů lze použít různé sady atributů. Například na souborových systémech, které podporují ploché soubory, nemusíte používat poslední tři atributy v následujícím seznamu související se strukturováním souborů. V jednouživatelském OS bude sada atributů postrádat uživatelské a bezpečnostní charakteristiky, jako je vlastník souboru, tvůrce souboru, heslo pro přístup k souboru a informace o povoleném přístupu k souboru.

Uživatel může přistupovat k atributům pomocí nástrojů, které k tomuto účelu poskytuje systém souborů. Obvykle je povoleno číst hodnoty jakýchkoli atributů, ale změnit pouze několik. Uživatel může například změnit oprávnění k souboru (za předpokladu, že má potřebná oprávnění), ale nesmí změnit datum vytvoření ani aktuální velikost souboru.

Hodnoty atributů souborů mohou být přímo obsaženy v adresářích, jak je tomu v souborovém systému MS-DOS (obrázek 2.17, a). Obrázek ukazuje strukturu položky adresáře obsahující jednoduchý symbolický název a atributy souboru. Zde písmena označují atributy souboru: R - pouze pro čtení, A - archivováno, H - skryté, S - systém.

Obrázek 2.17. Struktura adresářů: a - struktura záznamů adresáře MS-DOS (32 bajtů), b - struktura záznamů adresářů OS UNIX

Další možností je umístění atributů do speciálních tabulek, kdy katalogy obsahují pouze odkazy na tyto tabulky. Tento přístup je implementován například v souborovém systému ufs OS UNIX. V tomto souborovém systému je adresářová struktura velmi jednoduchá. Záznam o každém souboru obsahuje krátký symbolický název souboru a ukazatel na souborový inode, jak se nazývá tabulka ufs, ve kterém jsou soustředěny hodnoty atributů souboru (obrázek 2.17, b).

V obou případech adresáře poskytují spojení mezi názvy souborů a skutečnými soubory. Avšak přístup oddělení názvu souboru od jeho atributů činí systém flexibilnějším. Soubor lze například snadno zahrnout do několika adresářů najednou. Záznamy pro tento soubor v různých adresářích mohou obsahovat různá jednoduchá jména, ale pole odkazu bude obsahovat stejné číslo inodu.

Uživatelské vnímání souborového systému jako hierarchicky uspořádané sady informačních objektů má pramálo společného s pořadím, ve kterém jsou soubory uloženy na disku. Soubor, který má obraz jedné, nepřerušené sady bajtů, je ve skutečnosti velmi často roztroušený po „kouscích“ po celém disku a tento oddíl nemá nic společného s logickou strukturou souboru, například jeho oddělená logická záznam může být umístěn v nesouvislých sektorech disku. Logicky spojené soubory z jednoho adresáře nemusí koexistovat na disku. Rozložení souborů, adresářů a systémových informací na skutečném zařízení je popsáno fyzickou organizací souborového systému. Je zřejmé, že různé souborové systémy mají různou fyzickou organizaci.

Hlavním typem zařízení, které se v moderních počítačových systémech používá pro ukládání souborů, jsou diskové jednotky. Tato zařízení jsou navržena pro čtení a zápis dat na pevné a disketové magnetické disky. HDD sestává z jedné nebo více skleněných nebo kovových desek, z nichž každá je na jedné nebo obou stranách potažena magnetickým materiálem. V obecném případě se tedy disk skládá z balíčku desek (obrázek 2.18).

Na každé straně každé desky jsou vyznačeny tenké soustředné kroužky - dráha(traks), kde jsou data uložena. Počet skladeb závisí na typu disku. Číslování stop začíná na 0 od vnějšího okraje ke středu disku. Jak se disk otáčí, prvek zvaný hlava čte binární data z magnetické stopy nebo je zapisuje na magnetickou stopu.

Obrázek 2.18. Schéma zařízení pevného disku

Hlavu lze umístit na předem určenou dráhu. Hlavy se pohybují po povrchu disku v diskrétních krocích, každý krok odpovídá posunu o jednu stopu. Zápis na disk se provádí díky schopnosti hlavy měnit magnetické vlastnosti stopy. Některé disky se pohybují jednou hlavou po každém povrchu, zatímco jiné mají hlavu na stopu. V prvním případě se pro vyhledávání informací musí hlava pohybovat podél poloměru disku. Obvykle jsou všechny hlavy namontovány na jediném pohyblivém mechanismu a pohybují se synchronně. Proto, když je hlava upevněna na dané dráze jednoho povrchu, všechny ostatní hlavy se zastaví nad drahami se stejnými čísly. Ve stejných případech, kdy má každá stopa samostatnou hlavu, není vyžadován žádný pohyb hlav z jedné stopy na druhou, čímž se šetří čas strávený načítáním dat.

Nazývá se sada drah stejného poloměru na všech površích všech desek obalu válec(válec). Každá stopa je rozdělena na části tzv sektory(sektory), nebo bloky (bloky), aby všechny stopy měly stejný počet sektorů, do kterých lze zapsat maximální počet bajtů. Sektor má systémově specifickou velikost vyjádřenou mocninou dvou. Nejběžnější velikost sektoru je 512 bajtů. Vzhledem k tomu, že stopy různých poloměrů mají stejný počet sektorů, hustota záznamu je tím vyšší, čím blíže je stopa ke středu.

Sektor je nejmenší adresovatelná jednotka výměny dat mezi diskovým zařízením a RAM. Aby řadič našel požadovaný sektor na disku, je nutné mu nastavit všechny součásti adresy sektoru: číslo válce, číslo povrchu a číslo sektoru. Protože aplikační program v obecném případě nepotřebuje sektor, ale určitý počet bajtů, ne nutně násobek velikosti sektoru, typický požadavek zahrnuje čtení několika sektorů obsahujících požadované informace a jednoho nebo dvou sektorů obsahujících spolu s požadovaná redundantní data (obrázek 2.19) ...

Obrázek 2.19. Čtení nadbytečných dat při výměně s diskem

Při práci s diskem používá operační systém obvykle vlastní jednotku místo na disku volala shluk(shluk). Když je soubor vytvořen, je mu přiděleno místo na disku v clusterech. Pokud má například soubor velikost 2560 bajtů a velikost clusteru v systému souborů je nastavena na 1024 bajtů, budou souboru na disku přiděleny 3 clustery.

Stopy a sektory jsou vytvořeny provedením fyzické nebo nízkoúrovňové procedury formátování disku před použitím disku. Identifikační informace se zapisují na disk k určení hranic bloku. Nízkoúrovňový formát disku nezávisí na typu operačního systému, který bude disk používat.

Rozdělení disku pro určitý typ souborového systému se provádí pomocí vysokoúrovňových nebo logických formátovacích procedur.

Při vysokoúrovňovém formátování se zjišťuje velikost clusteru a na disk se zapisují informace nutné pro chod souborového systému, včetně informací o dostupném a nevyužitém prostoru, o hranicích oblastí vyhrazených pro soubory a adresáře, informace o poškozených oblastí. Na disk se navíc zapíše zavaděč operačního systému – malý program, který po zapnutí napájení nebo restartu počítače zahájí proces inicializace operačního systému.

Před formátováním disku pro konkrétní souborový systém jej lze rozdělit na oddíly. Kapitola je souvislá část fyzického disku, kterou operační systém prezentuje uživateli jako logické zařízení (používají se také názvy logický disk a logický oddíl). Logické zařízení funguje, jako by to byl samostatný fyzický disk. Právě s logickými zařízeními uživatel pracuje, odkazuje na ně symbolickými názvy, používá například označení A, B, C, SYS atd. Operační systémy různých typů využívají stejnou myšlenku oddílů pro všechny ale vytvořit logická zařízení specifická pro každý typ OS. Stejně jako souborový systém, se kterým jeden OS pracuje, obecně nemůže být interpretován jiným typem OS, logická zařízení nemohou být používána různými typy operačních systémů. Na každém logickém zařízení lze vytvořit pouze jeden souborový systém.

Proč smartphone nespouští programy z paměťové karty? Jak se ext4 zásadně liší od ext3? Proč bude flash disk žít déle, pokud je naformátován na NTFS a ne na FAT? V jaké hlavní problém F2FS? Odpovědi leží ve zvláštnostech struktury souborových systémů. Budeme o nich mluvit.

Úvod

Souborové systémy určují způsob ukládání dat. Určují, jakým omezením bude uživatel čelit, jak rychlé budou operace čtení a zápisu a jak dlouho bude disk fungovat bez poruch. To platí zejména o levných SSD a jejich mladších bratrech - flash discích. Se znalostí těchto funkcí můžete z jakéhokoli systému vymáčknout maximum a optimalizovat jeho využití pro konkrétní úkoly.

Pokaždé, když potřebujete udělat něco netriviálního, musíte zvolit typ a parametry souborového systému. Chcete například urychlit nejčastější operace se soubory. Toho lze dosáhnout na úrovni souborového systému různé způsoby: Indexování zajistí rychlé vyhledávání a předběžná rezervace volných bloků usnadní přepisování často se měnících souborů. Předběžná optimalizace dat v paměti RAM sníží množství potřebných I/O.

Funkce moderních souborových systémů, jako je líný zápis, deduplikace a další pokročilé algoritmy, pomáhají zvýšit dobu provozuschopnosti. Jsou relevantní zejména pro levné SSD s paměťovými čipy TLC, flash disky a paměťové karty.

Pro různé vrstvy diskových polí existují samostatné optimalizace: souborový systém může například podporovat zrcadlení lehkého svazku, snímky nebo dynamické škálování, aniž by svazek přešel do režimu offline.

Černá skříňka

Uživatelé ve výchozím nastavení pracují především se souborovým systémem, který operační systém nabízí. Málokdy vytvářejí nové diskové oddíly a ještě méně často přemýšlejí o jejich nastavení - stačí použít doporučené parametry nebo dokonce koupit předem naformátovaná média.

Pro fanoušky Windows je vše jednoduché: NTFS na všech diskových oddílech a FAT32 (nebo stejný NTFS) na flash discích. Pokud existuje NAS a je v něm použit nějaký jiný souborový systém, pak to pro většinu zůstává mimo vnímání. Jednoduše se k němu připojí přes síť a stahují soubory jako z černé skříňky.

Na mobilních gadgetech s Androidem se ext4 nejčastěji nachází v interní paměti a FAT32 na kartách microSD. Apple se na druhou stranu ani nestará o to, jaký mají souborový systém: HFS +, HFSX, APFS, WTFS ... pro ně existují pouze krásné ikony složky a soubory nakreslené nejlepšími designéry. Linuxoidy mají nejbohatší výběr, ale můžete přidat podporu pro souborové systémy, které nejsou nativní pro operační systém ve Windows i macOS – o tom později.

Společné kořeny

Bylo vytvořeno více než sto různých souborových systémů, ale o něco více než tucet lze označit za relevantní. I když byly všechny navrženy pro jejich specifické aplikace, mnohé skončily spolu koncepčně souvisejícími. Jsou si podobné, protože používají stejný typ prezentační struktury (meta) dat – B-stromy ("bi-stromy").

Jako u každého hierarchického systému začíná B-strom u kořenového záznamu a dále se větví až ke konečným prvkům – jednotlivým záznamům o souborech a jejich atributech neboli „listech“. Hlavním bodem vytvoření takové logické struktury bylo urychlit vyhledávání objektů souborového systému na velkých dynamických polích - jako pevné disky několik terabajtů nebo ještě působivější pole RAID.

B-stromy vyžadují mnohem méně přístupů na disk než jiné typy B-stromů při provádění stejných operací. Toho je dosaženo díky skutečnosti, že finální objekty v B-stromech jsou hierarchicky umístěny ve stejné výšce a rychlost všech operací je právě úměrná výšce stromu.

Stejně jako ostatní vyrovnané stromy mají B-stromy stejnou délku cesty od kořene k jakémukoli listu. Místo toho, aby vyrostly, více se větví a rostou více do šířky: všechny body větvení v B-stromu ukládají mnoho odkazů na podřízené objekty, což usnadňuje jejich nalezení za méně volání. Velký počet ukazatelů snižuje počet nejdelších diskových operací – polohování hlavy při čtení libovolných bloků.

Koncept B-stromů byl formulován již v sedmdesátých letech a od té doby prošel různými vylepšeními. Je implementován v té či oné podobě v NTFS, BFS, XFS, JFS, ReiserFS a mnoha DBMS. Všichni jsou příbuzní z hlediska základní principy organizování dat. Rozdíly se týkají detailů, které jsou často dost důležité. Častá je i nevýhoda souvisejících souborových systémů: všechny byly vytvořeny pro práci s disky ještě před příchodem SSD.

Flash paměť jako motor pokroku

Pevné disky postupně nahrazují diskové jednotky, ale zatím jsou nuceny používat souborové systémy, které jsou od nich zděděné. Jsou postaveny na polích flash pamětí, jejichž principy se liší od principů diskových zařízení. Zejména flash paměť se musí před zápisem vymazat a tuto operaci v NAND čipech nelze provést na úrovni jednotlivých buněk. Je to možné pouze u velkých bloků jako celku.

Toto omezení je způsobeno tím, že v paměti NAND jsou všechny buňky sloučeny do bloků, z nichž každý má pouze jedno společné připojení k řídicí sběrnici. Nebudeme zabíhat do detailů organizace stránky a vykreslovat celou hierarchii. Důležitý je samotný princip skupinových operací s buňkami a skutečnost, že velikosti bloků flash paměti jsou obvykle větší než bloky adresované v jakémkoli souborovém systému. Proto musí být všechny adresy a příkazy pro disky s NAND flash přeloženy přes abstrakční vrstvu FTL (Flash Translation Layer).

Řadiče paměti Flash poskytují kompatibilitu s logikou diskových zařízení a podporu příkazů jejich nativních rozhraní. Obvykle je FTL implementováno v jejich firmwaru, ale může (částečně) běžet na hostiteli - například Plextor píše ovladače pro své SSD, které urychlují zápis.

Bez FTL se vůbec neobejdete, protože i zápis jednoho bitu do konkrétní buňky vede ke spuštění celé řady operací: kontrolér hledá blok obsahující požadovanou buňku; blok je přečten celý, zapsán do mezipaměti nebo do volné místo, pak je zcela vymazán, načež je přepsán zpět s nezbytnými změnami.

Tento přístup připomíná každodenní život v armádě: aby mohl seržant dát rozkaz jednomu vojákovi, obecná struktura, odvolá chudáka z akce a nařídí ostatním, aby se rozešli. V nyní vzácné paměti NOR byla organizace spetsnaz: každá buňka byla řízena nezávisle (každý tranzistor měl individuální kontakt).

Kontroléry mají více úkolů, protože s každou generací flash paměti se technický proces její výroby snižuje, aby se zvýšila hustota a snížily náklady na ukládání dat. Spolu s technologickými standardy se snižuje i odhadovaná životnost čipů.

Moduly s jednoúrovňovými buňkami SLC měly deklarovaný zdroj 100 tisíc přepisovacích cyklů nebo více. Mnoho z nich stále funguje na starých flash discích a CF kartách. Podniková třída MLC (eMLC) si nárokovala zdroj v rozmezí od 10 do 20 tisíc, zatímco v obvyklé spotřebitelské MLC se odhaduje na 3-5 tisíc. Paměť tohoto typu je aktivně přecpaná ještě levnějším TLC, jehož zdroje sotva dosahují tisíce cyklů. Udržení životnosti flash paměti na přijatelné úrovni musí být provedeno softwarovými vylepšeními a nové souborové systémy se stávají jedním z nich.

Výrobci zpočátku předpokládali, že souborový systém není důležitý. Samotný řadič musí udržovat krátkodobé pole paměťových buněk jakéhokoli typu a rozdělovat mezi ně zátěž optimálním způsobem. Pro ovladač souborového systému simuluje běžný disk a sám provádí nízkoúrovňové optimalizace pro jakékoli volání. V praxi se však optimalizace pro různá zařízení liší od magické po fiktivní.

Ve firemních SSD je vestavěným řadičem malý počítač. Má obrovskou vyrovnávací paměť (půl koncertu a více) a podporuje mnoho metod pro zlepšení efektivity práce s daty, čímž se vyhne zbytečným přepisovacím cyklům. Čip uspořádá všechny bloky v mezipaměti, provádí líné zápisy, provádí deduplikaci za běhu, rezervuje některé bloky a jiné vymaže na pozadí. Všechna tato kouzla se dějí zcela bez povšimnutí OS, programů a uživatele. U takového SSD je opravdu jedno, jaký souborový systém je použit. Interní optimalizace mají mnohem větší dopad na výkon a zdroje než ty externí.

Levné SSD (a ještě více - flash disky) jsou vybaveny mnohem méně chytrými ovladači. Mezipaměť v nich je zkrácená nebo chybí a pokročilé serverové technologie se vůbec nepoužívají. V paměťových kartách jsou ovladače tak primitivní, že se často tvrdí, že tam vůbec nejsou. Pro levná zařízení s flash pamětí proto zůstávají relevantní metody externího vyvažování zátěže – především pomocí specializovaných souborových systémů.

JFFS až F2FS

Jedním z prvních pokusů napsat souborový systém, který by zohledňoval principy organizace flash paměti, byl JFFS – Journaling Flash File System. Původně byl tento vývoj švédské společnosti Axis Communications zaměřen na zlepšení paměťové efektivity síťových zařízení, které Axis vyráběl v devadesátých letech. První verze JFFS podporovala pouze paměti NOR, ale již ve druhé verzi se spřátelila s NAND.

JFFS2 má v současnosti omezené použití. Většinou se stále používá v distribucích Linuxu pro vestavěné systémy. Naleznete jej v routerech, IP kamerách, NAS a dalších stálicích na internetu věcí. Obecně všude tam, kde je vyžadováno malé množství spolehlivé paměti.

Dalším pokusem o vývoj JFFS2 byl LogFS, ve kterém byly uloženy inody samostatný soubor... Autory tohoto nápadu jsou zaměstnanec německé divize IBM Jörn Engel a přednášející na univerzitě v Osnabrucku Robert Mertens. Zdrojový kód pro LogFS je dostupný na GitHubu. Soudě podle skutečnosti, že poslední změna v něm byla provedena před čtyřmi lety, LogFS nezískal popularitu.

Tyto pokusy však podnítily vznik dalšího specializovaného souborového systému – F2FS. Byl vyvinut společností Samsung Corporation, která tvoří velkou část flash paměti vyráběné ve světě. Samsung vyrábí čipy NAND Flash pro vlastní zařízení a zadané jinými společnostmi, stejně jako vývoj SSD se zásadně novými rozhraními namísto těch starších disků. Vytvoření specializovaného souborového systému optimalizovaného pro flash paměti bylo z pohledu Samsungu dlouho opožděnou nutností.

Před čtyřmi lety, v roce 2012, Samsung vytvořil F2FS (Flash Friendly File System). Jeho nápad je dobrý, ale realizace se ukázala jako vlhká. Klíčový úkol při vytváření F2FS byl jednoduchý: snížit počet operací přepisování buněk a rozložit na ně zátěž co nejrovnoměrněji. To vyžaduje provádět operace s několika buňkami ve stejném bloku současně a neznásilňovat je jednu po druhé. To znamená, že nepotřebujeme okamžité přepisování stávajících bloků na první žádost OS, ale cachování příkazů a dat, přidávání nových bloků do volného místa a zpožděné mazání buněk.

Dnes je již podpora F2FS v Linuxu (a potažmo v Androidu) oficiálně implementována, ale v praxi zatím žádné speciální výhody nepřináší. Hlavní rys tohoto souborového systému (odložené přepsání) vedl k předčasným závěrům o jeho účinnosti. Starý trik s ukládáním do mezipaměti dokonce oklamal rané verze benchmarků, kde F2FS nevykazovalo zjevnou výhodu o několik procent (jak se očekávalo) nebo dokonce několikrát, ale o řády. Jde jen o to, že ovladač F2FS ohlásil provedení operace, kterou řadič právě plánoval provést. Pokud je však skutečný nárůst výkonu v F2FS malý, opotřebení buněk bude určitě menší než při použití stejného ext4. Ty optimalizace, které levný řadič neumí, budou provedeny na úrovni samotného souborového systému.

Rozsahy a bitmapy

Zatímco F2FS je pro geeky vnímáno jako exotické. Dokonce i ve svém vlastním smartphony Samsung ext4 stále platí. Mnozí to považují za další vývoj ext3, ale není to tak úplně pravda. Jedná se spíše o revoluci než prolomení hranice 2 TB na soubor a pouhé zvýšení dalších metrik.

Když byly počítače velké a soubory malé, adresování bylo snadné. Každému souboru byl přidělen určitý počet bloků, jejichž adresy byly zaneseny do korespondenční tabulky. Takto fungoval souborový systém ext3, který se používá dodnes. Ale v ext4 se objevil zásadně jiný způsob adresování - rozsahy.

Oblasti lze považovat za rozšíření inodů jako diskrétní sady bloků, které jsou adresovány jako celek jako souvislé sekvence. Jeden rozsah může obsahovat celý středně velký soubor a pro velké soubory stačí přidělit tucet nebo dva rozsahy. To je mnohem efektivnější než adresování stovek tisíc malých bloků o čtyřech kilobajtech.

Samotný mechanismus zápisu se v ext4 změnil. Nyní dochází k distribuci bloků okamžitě v jednom požadavku. A to ne předem, ale bezprostředně před zápisem dat na disk. Zpožděná alokace více bloků vám umožňuje zbavit se zbytečných operací, které ext3 zhřešil: v něm byly bloky pro nový soubor alokovány okamžitě, i když se zcela vešel do mezipaměti a bylo naplánováno smazání jako dočasné.


dieta s omezením TUKU

Kromě vyvážených stromů a jejich modifikací existují další oblíbené logické struktury. Existují souborové systémy se zásadně odlišným typem organizace – například lineární. Pravděpodobně alespoň jeden z nich často používáte.

Tajemství

Hádejte hádanku: ve dvanácti začala přibírat, v šestnácti byla hloupá tlustá žena a ve dvaatřiceti ztloustla a zůstala prosťáčka. Kdo je ona?

Správně, toto je příběh o systému souborů FAT. Požadavky na kompatibilitu jí daly špatné dědictví. Na disketách to bylo 12bitové, na pevných discích to bylo nejprve 16bitové a dodnes se snížilo jako 32bitové. V každé další verzi se počet adresovatelných bloků zvyšoval, ale v samotné podstatě se nic nezměnilo.

Stále oblíbený souborový systém FAT32 se objevil před dvaceti lety. Dnes je stále primitivní a nepodporuje ACL, diskové kvóty, kompresi na pozadí ani jiné moderní technologie optimalizace dat.

Proč je v dnešní době potřeba FAT32? Vše stejné pouze pro účely kompatibility. Výrobci se správně domnívají, že jakýkoli operační systém dokáže číst oddíl FAT32. Vytvářejí jej proto na externích pevných discích, USB Flash a paměťových kartách.

Jak uvolnit flash paměť na vašem smartphonu

Karty MicroSD (HC) používané v chytrých telefonech jsou ve výchozím nastavení naformátovány na FAT32. To je hlavní překážkou instalace aplikací na ně a přenosu dat z vnitřní paměti. Abyste to překonali, musíte na kartě vytvořit oddíl s ext3 nebo ext4. Lze do něj přenést všechny atributy souborů (včetně vlastníka a přístupových práv), takže jakákoli aplikace může fungovat, jako by byla spuštěna z vnitřní paměti.

Windows neumí vytvořit více než jeden oddíl na flash discích, ale za tímto účelem můžete spustit Linux (alespoň ve virtuálním stroji) nebo pokročilou utilitu pro práci s logickými oddíly - například MiniTool Partition Wizard Free. Po nalezení dalšího primárního oddílu s ext3 / ext4 na kartě nabídne aplikace Link2SD a podobné mnohem více možností než v případě jednoho oddílu FAT32.


Dalším argumentem ve prospěch výběru FAT32 se často nazývá nedostatek přihlášení, což znamená, že více rychlé operace zápisy a menší opotřebení paměťových buněk NAND Flash. V praxi vede použití FAT32 k opaku a přináší mnoho dalších problémů.

Flash disky a paměťové karty prostě rychle umírají, protože jakákoli změna v FAT32 způsobí přepsání stejných sektorů, kde jsou umístěny dva řetězce tabulek souborů. Uložil jsem celou webovou stránku a byla stokrát přepsána - s každým přidáním dalšího malého GIF na flash disk. Spustili jste přenosný software? Vytvářel dočasné soubory a během práce je neustále mění. Proto je mnohem lepší používat NTFS na flash discích s tabulkou $ MFT odolnou proti chybám. Malé soubory lze ukládat přímo do hlavní tabulky souborů a zaznamenávat její přípony a kopie různé oblasti flash paměti. Indexování NTFS navíc zrychluje vyhledávání.

INFO

Pro FAT32 a NTFS nejsou teoretické limity na úrovni vnoření uvedeny, ale v praxi jsou stejné: v adresáři první úrovně lze vytvořit pouze 7707 podadresářů. Ocení to milovníci hnízdících panenek.

Dalším problémem, se kterým se většina uživatelů potýká, je to, že není možné zapsat soubor větší než 4 GB na oddíl FAT32. Důvodem je, že ve FAT32 je velikost souboru popsána 32 bity v alokační tabulce souborů a 2 ^ 32 (mínus jeden, abych byl přesný) dává jen čtyři koncerty. Ukazuje se, že na čerstvě zakoupenou flashku nelze nahrát ani film v běžné kvalitě, ani obraz DVD.

Kopírování velkých souborů je stále poloviční problém: když se o to pokusíte, chyba je alespoň okamžitě viditelná. V jiných situacích funguje FAT32 jako časovaná bomba. Přenosný software jste si například zkopírovali na USB flash disk a zpočátku jej můžete bez problémů používat. Po dlouhé době má některý z programů (například účetnictví nebo pošta) nafouklou databázi a ... prostě se přestane aktualizovat. Soubor nelze přepsat, protože dosáhl limitu 4 GB.

Méně zřejmým problémem je, že v systému FAT32 lze datum vytvoření souboru nebo adresáře zadat s přesností na dvě sekundy. To není dostatečné pro mnoho kryptografických aplikací, které používají časová razítka. Nízká přesnost atributu data je dalším důvodem, proč není FAT32 z hlediska zabezpečení považován za úplný souborový systém. Jeho slabiny však můžete využít pro své vlastní účely. Pokud například zkopírujete jakékoli soubory z oddílu NTFS na svazek FAT32, budou z nich vymazána všechna metadata a také zděděná a speciálně nastavená oprávnění. FAT je prostě nepodporuje.

exFAT

Na rozdíl od FAT12 / 16/32 byl exFAT navržen speciálně pro USB Flash a velké (≥ 32 GB) paměťové karty. Rozšířený FAT odstraňuje zmíněnou nevýhodu FAT32 – přepisování stejných sektorů při jakékoli změně. Jako 64bitový systém nemá prakticky žádná smysluplná omezení velikosti jednoho souboru. Teoreticky může mít délku 2 ^ 64 bajtů (16 bajtů) a karty této velikosti se brzy neobjeví.

Dalším velkým rozdílem v exFAT je jeho podpora pro seznamy řízení přístupu (ACL). To už není ten prosťáček z devadesátých let, ale uzavřený formát brání implementaci exFAT. Podpora ExFAT je plně a legálně implementována pouze ve Windows (od XP SP2) a OS X (od 10.6.5). Je podporován na Linuxu a * BSD buď s omezeními, nebo ne zcela legálně. Společnost Microsoft vyžaduje pro použití exFAT licence a v této oblasti existuje mnoho právních sporů.

Btrfs

Další prominentní příklad souborových systémů B-stromu se nazývá Btrfs. Tento FS se objevil v roce 2007 a byl původně vytvořen v Oracle s ohledem na práci s SSD a RAID. Lze jej například dynamicky škálovat vytvořením nových inodů v živém systému nebo rozdělením svazku na podsvazky, aniž by jim bylo přiděleno volné místo.

Mechanismus copy-on-write implementovaný v Btrfs a plná integrace s modulem Device mapper kernel vám umožňují vytvářet téměř okamžité snímky prostřednictvím virtuálních blokových zařízení. Předkomprese dat (zlib nebo lzo) a deduplikace urychlují základní operace a zároveň prodlužují životnost flash paměti. To je patrné zejména při práci s databázemi (komprese je dosahována 2–4násobně) a malými soubory (jsou zapisovány v uspořádaných velkých blocích a lze je ukládat přímo do „listů“).

Btrfs také podporuje plné žurnálování (data a metadata), kontrolu objemu bez odpojení a mnoho dalších moderních funkcí. Kód Btrfs je publikován pod licencí GPL. Tento souborový systém byl na Linuxu udržován jako stabilní od jádra 4.3.1.

Letové deníky

Téměř všechny více či méně moderní souborové systémy (ext3 / ext4, NTFS, HFSX, Btrfs a další) patří do obecné skupiny žurnálovaných, protože uchovávají záznamy o provedených změnách v samostatném protokolu (žurnálu) a kontrolují jej v případě selhání při operacích s diskem... Úroveň upovídanosti a odolnosti proti chybám u těchto systémů souborů je však odlišná.

Ext3 podporuje tři režimy protokolování: zpětná smyčka, sekvenční a úplné protokolování. První režim znamená zaznamenávání pouze obecných změn (metadat), prováděných asynchronně s ohledem na změny v samotných datech. Ve druhém režimu se provádí stejný záznam metadat, ale přísně před provedením jakýchkoli změn. Třetí režim je ekvivalentní plnému žurnálování (změny jak v metadatech, tak v samotných souborech).

Pouze druhá možnost zajišťuje integritu dat. Další dva pouze urychlují identifikaci chyb při kontrole a zaručují obnovení integrity samotného souborového systému, nikoli však obsahu souborů.

Protokolování NTFS je podobné druhému režimu protokolování ext3. Do protokolu jsou zaznamenávány pouze změny metadat a samotná data mohou být v případě poruchy ztracena. Tato metoda žurnálování NTFS nebyla koncipována jako způsob dosažení maximální spolehlivosti, ale pouze jako kompromis mezi výkonem a odolností proti chybám. To je důvod, proč lidé zvyklí pracovat s plně žurnálovacími systémy považují NTFS za pseudožurnálovaný.

Přístup NTFS je poněkud lepší než výchozí v ext3. V NTFS jsou navíc pravidelně vytvářeny kontrolní body, aby bylo zajištěno dokončení všech dříve nevyřízených diskových operací. Kontrolní body nemají nic společného s body obnovení v \ System Volume Infromation \. Toto jsou pouze režijní záznamy v protokolu.

Praxe ukazuje, že takové částečné žurnálování NTFS ve většině případů pro bezproblémový provoz stačí. Ostatně i při prudkém výpadku proudu disková zařízení nevypínejte okamžitě. Napájecí jednotka a četné kondenzátory v samotných pohonech poskytují právě onu minimální energetickou rezervu, která stačí k dokončení aktuální operace zápisu. Moderní SSD s jejich rychlostí a hospodárností obvykle stačí stejné množství energie k provedení nevyřízených operací. Pokus o přechod na úplné protokolování by několikrát snížil rychlost většiny operací.

Připojujeme souborové systémy třetích stran ve Windows

Použití souborových systémů je omezeno jejich podporou na úrovni OS. Například Windows nerozumí ext2 / 3/4 a HFS +, ale někdy je musíte použít. To lze provést přidáním příslušného ovladače.

VAROVÁNÍ

Většina ovladačů a pluginů pro podporu systémů souborů třetích stran má svá omezení a ne vždy fungují stabilně. Mohou zasahovat do jiných ovladačů, antivirových a virtualizačních programů.

Otevřený ovladač pro čtení a zápis ext2 / 3 oddílů s částečnou podporou ext4. Nejnovější verze podporuje rozsahy a oddíly až do 16 TB. LVM, ACL a rozšířené atributy nejsou podporovány.


Pro Total Commander existuje bezplatný plugin. Podporuje čtení ext2 / 3/4 oddílů.


coLinux je open source a bezplatný port linuxového jádra. Spolu s 32bitovým ovladačem vám umožňuje provozovat Linux na Windows 2000 až 7 bez použití virtualizačních technologií. Podporuje pouze 32bitové verze. Vývoj 64bitové modifikace byl zrušen. coLinux umožňuje mimo jiné organizovat přístup z Windows k oddílům ext2 / 3/4. Podpora projektu byla v roce 2014 pozastavena.

Windows 10 již může mít nativní podporu pro souborové systémy specifické pro Linux, je pouze skrytá. Tyto myšlenky jsou navrženy ovladačem na úrovni jádra Lxcore.sys a službou LxssManager, která je načtena jako knihovna procesem Svchost.exe. Více o tom viz přednáška Alexe Ionesca „The Linux Kernel Hidden Inside Windows 10“, kterou přednesl na Black Hat 2016.


ExtFS pro Windows je placený ovladač vydaný společností Paragon. Funguje na Windows 7 až 10, podporuje přístup pro čtení / zápis do ext2 / 3/4 svazků. Poskytuje téměř kompletní podporu ext4 ve Windows.

HFS + pro Windows 10 je další proprietární ovladač od Paragon Software. Navzdory názvu funguje ve všech verzích Windows počínaje XP. Poskytuje plný přístup k souborovým systémům HFS + / HFSX na discích s libovolným oddílem (MBR / GPT).

WinBtrfs je raný vývoj ovladače Btrfs pro Windows. Již ve verzi 0.6 podporuje přístup pro čtení i zápis do svazků Btrfs. Je schopen zpracovat tvrdé i symbolické odkazy, podporuje alternativní datové toky, ACL, dva typy komprese a asynchronní režim čtení/zápisu. WinBtrfs zatím nemůže používat mkfs.btrfs, btrfs-balance a další nástroje k údržbě tohoto souborového systému.

Možnosti a omezení souborového systému: Kontingenční tabulka

Souborový systém Mac-si-mal-ny velikost svazku Pre-del-velikost jednoho souboru Délka podle vlastního názvu souboru Délka celého názvu souboru (včetně cesty od kořenového adresáře) Pre-del počet souborů a / nebo katalogů Přesnost zadání data souboru / katalogu Práva dos-tu-pa Pevné odkazy Odkazy bez Sim Momentky Komprese dat na pozadí Šifrování dat na pozadí Dědeček-pli-ka-tion dat
FAT16 2 GB v 512 bajtových sektorech nebo 4 GB v 64 KB clusterech 2 GB 255 bajtů s LFN - - - - - - - - - -
FAT32 8 TB ve 2 kB sektorech 4 GB (2 ^ 32 – 1 bajt) 255 bajtů s LFN až 32 podadresářů s CDS 65460 10 ms (vytvoření) / 2 s (změna) Ne Ne Ne Ne Ne Ne Ne
exFAT ≈ 128 PB (2 ^ 32-1 clustery po 2 ^ 25-1 bajtech) teoreticky / 512 TB kvůli omezením třetích stran 16 EB (2 ^ 64 – 1 bajt) 2796202 v katalogu 10 ms ACL Ne Ne Ne Ne Ne Ne
NTFS 256 TB v klastrech o velikosti 64 kB nebo 16 TB v klastrech o velikosti 4 kB 16 TB (Win 7) / 256 TB (Win 8) 255 znaků Unicode (UTF-16) 32 760 znaků Unicode, ale ne více než 255 znaků na prvek 2^32-1 100 ns ACL Ano Ano Ano Ano Ano Ano
HFS + 8 EB (2 ^ 63 bajtů) 8 EB 255 znaků Unicode (UTF-16) samostatně neomezené 2^32-1 1 s Unix, ACL Ano Ano Ne Ano Ano Ne
APFS 8 EB (2 ^ 63 bajtů) 8 EB 255 znaků Unicode (UTF-16) samostatně neomezené 2^63 1 ns Unix, ACL Ano Ano Ano Ano Ano Ano
Ext3 32 TB (teoreticky) / 16 TB ve 4K clusterech (kvůli omezení programů e2fs) 2 TB (teoreticky) / 16 GB pro starší programy 255 znaků Unicode (UTF-16) samostatně neomezené - 1 s Unix, ACL Ano Ano Ne Ne Ne Ne
Ext4 1 EB (teoreticky) / 16 TB ve 4K clusterech (kvůli omezení programů e2fs) 16 TB 255 znaků Unicode (UTF-16) samostatně neomezené 4 miliardy 1 ns POSIX Ano Ano Ne Ne Ano Ne
F2FS 16 TB 3,94 TB 255 bajtů samostatně neomezené - 1 ns POSIX ACL Ano Ano Ne Ne Ano Ne
BTRFS 16 EB (2 ^ 64 – 1 bajt) 16 EB 255 znaků ASCII 2 ^ 17 bajtů - 1 ns POSIX ACL Ano Ano Ano Ano Ano Ano
Internet na Androidu