• Jaká je struktura souborového systému. Souborový systém. co to je

    souborové systémy. Typy souborové systémy. Operace se soubory. Katalogy. Adresářové operace.

    Soubor je pojmenovaná oblast externí paměti, do které lze zapisovat a z ní číst.

    Hlavní účely použití souboru.

      Dlouhodobé a spolehlivé uchovávání informací . 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 ochranou přístupu k souborům a celkové organizaci. programový kód Operační systém, ve kterém selhání hardwaru nejčastěji nezničí informace uložené v souborech.

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

    Systém souborů (FS) je součástí operačního systému, včetně:

      souhrn všech souborů na disku;

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

      systémové 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ů.

    Souborový systém tedy hraje roli mezivrstvy, 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 jednoduchých -to-use příkazy pro manipulaci se soubory.

    Následující systémy souborů jsou široce známé:

      souborový systém operační systém SLEČNA - DOS , který je založen na alokační tabulka souborů - TLUSTÝ ( soubor Přidělení stůl ).

    Tabulka obsahuje informace o umístění všech souborů (každý soubor je rozdělen na shluky podle dostupného místa na disku nemusejí shluky stejného souboru nutně sousedit). Souborový systém MS-DOS má značná omezení a nevýhody, např. pod název Pro soubor je přiděleno 12 bajtů, práce s velkým pevným diskem vede k výrazné fragmentaci souborů;

    Hlavní funkce v takovém FS jsou zaměřeny na řešení následujících úkolů:

      pojmenování souborů;

      softwarové rozhraní pro aplikace;

      Zobrazit logický model souborový systém k fyzické organizaci datového úložiště;

      odolnost souborového systému vůči výpadkům napájení, hardwarovým a softwarovým chybám.

      OS /2 volal HPFS ( vysoký - Výkon soubor Systém - rychlý souborový systém).

    Poskytuje možnost mít název souboru o délce až 254 znaků. Soubory zapsané na disk mají minimální fragmentaci. Umí pracovat se soubory napsanými v MS DOS;

    K výše uvedeným úkolům se přidá nový úkol Sdílení souboru z více procesů. Soubor je v tomto případě sdílený prostředek, což znamená, že souborový systém musí vyřešit celý komplex problémů spojených s takovými prostředky. FS by měl zejména poskytovat prostředky pro blokování souboru a jeho částí, zabránění závodům, odstranění uváznutí, koordinaci kopií atd.

    Ve víceuživatelských systémech se objevuje další úkol: ochrana souborů jednoho uživatele před neoprávněným přístupem jiného uživatele.

      souborový systém operačního systému Okna 95

    Má vrstvenou strukturu, která vám umožňuje podporovat více systémů souborů současně. Starý souborový systém MS-DOS je přímo podporován a neoriginální souborové systémy Microsoft, podporované speciálem moduly. Je možné použít dlouhé (až 254 znaků) názvy souborů.

      souborové systémy operačního systému Unix

    Poskytují jednotný způsob přístupu k souborovým I/O systémům.

    Oprávnění k souboru prakticky určují systémová oprávnění (vlastníkem souboru je uživatel, který jej vytvořil).

    Typy souborů

    Souborové systémy podporují několik funkcí různé typy soubory, 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ří v důsledku provozu systémových a uživatelských programů. Většina moderních operačních systémů (např. UNIX, Windows, OS/2) obsah a strukturu běžného souboru nijak neomezuje ani neřídí. Obsah běžného souboru je určen aplikací, která s ním pracuje. 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 číst na obrazovce a tisknout na tiskárně. Binární soubory nepoužívají znakové kódy, mají často složitou vnitřní strukturu, např. spustitelný programový kód popř archivní soubor. Všechny operační systémy by měly být schopny rozpoznat alespoň jeden typ souboru – své vlastní spustitelné soubory.

    Katalogy jsou speciálním typem souborů, které obsahují systém informace o pozadí o sadě souborů seskupených uživateli podle nějaké neformální funkce (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 jakýkoli typ souboru, včetně jiných adresářů, což vede ke stromové struktuře, kterou lze snadno najít. Adresáře mapují názvy souborů na charakteristiky používané systémem souborů ke správě souborů. Mezi takové charakteristiky patří zejména informace (nebo ukazatel na jinou strukturu obsahující tato data) o typu souboru a jeho 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í systémem souborů jako s normálními soubory.

    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 prostřednictvím normálních příkazů pro zápis nebo čtení souborů. Tyto příkazy jsou nejprve zpracovány programy souborového systému a poté, v určité fázi požadavku, jsou převedeny operačním systémem na příkazy pro ovládání odpovídajícího zařízení.

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

    Hierarchická struktura souborového systému

    Uživatelé odkazují na soubory symbolickými názvy. 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 výrazně rozšířit tyto hranice. To je důvod, proč má většina souborových systémů hierarchickou strukturu, ve které jsou úrovně vytvářeny tím, že je adresář více nízká úroveň může být zařazen do adresáře vyšší úrovně (obr. 7.3).

    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. 7.3, b), a síť - pokud soubor může vstupovat do více adresářů najednou (obr. 7.3, c). Například v MS-DOS a Windows tvoří adresáře stromovou strukturu, zatímco v UNIXu tvoří síťovou strukturu. Ve stromové struktuře je každý soubor list. samotný katalog nejvyšší úroveň volal kořenový adresář nebo kořenový adresář ( vykořenit ).

    S takovou organizací je uživatel osvobozen od pamatování si názvů všech souborů, stačí, aby si zhruba představil, do jaké skupiny lze ten či onen soubor zařadit, aby jej sekvenčním procházením adresářů našel. Hierarchická struktura je vhodná pro víceuživatelskou práci: každý uživatel se svými soubory je umístěn ve svém vlastní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. 7.3, a).

    Názvy souborů

    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ý název 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í OS 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 jmen 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ý název nemohl 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í dávat souborům snadno zapamatovatelné názvy, které jasně říkají, co je v tomto souboru obsaženo. Proto moderní systémy souborů, stejně jako vylepšené verze stávajících systémů souborů, mají tendenci podporovat dlouhé, jednoduché symbolické názvy souborů. Například v systémech souborů NTFS a FAT32, které jsou součástí operačního systému Windows NT, může mít název souboru až 255 znaků.

    V hierarchických souborových systémech mohou mít různé soubory stejný jednoduchý symbolický název za předpokladu, že patří do různých adresářů. To znamená, že zde funguje schéma „mnoho souborů – jeden jednoduchý název“. Pro jednoznačnou identifikaci souboru v takových systémech se používá 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. Plně kvalifikovaný název je tedy složený název, ve kterém jednoduchá jména odděleny od sebe oddělovačem akceptovaným v OS. Často se jako oddělovač používá dopředné nebo zpětné lomítko a je obvyklé vynechat název kořenového adresáře. Na Obr. Na obrázku 7-3b 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ém souborovém systému, mezi souborem a jeho celé jméno existuje individuální korespondence „jeden soubor – jedno celé jméno“. V souborových systémech, které mají síťovou strukturu, může být soubor zahrnut v několika adresářích, a proto může mít několik úplný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í název souboru je definován pomocí konceptu "aktuálního adresáře". Pro každého uživatele je v každém okamžiku aktuální jeden z adresářů souborového systému a tento adresář si volí uživatel sám na příkaz OS. Systém souborů opraví název aktuálního adresáře, takže jej lze použít vedle relativních jmen 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ými prochází cesta z aktuálního adresáře do daného souboru. Pokud je například aktuální adresář /user, pak relativní název souboru /user/anna/main.exe je anna/main.exe.

    Některé operační systémy umožňují přiřazení více jednoduchých názvů stejnému souboru, které lze interpretovat jako aliasy. V tomto případě, stejně jako v systému se síťovou strukturou, je 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 platí vztah „jeden soubor – jedno jedinečné jméno“. Jedinečný název existuje spolu s jedním nebo více symbolickými názvy přiřazenými souboru uživateli nebo aplikacemi. 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 souboru je číslo inodu v systému UNIX.

    Atributy souboru

    Pojem "soubor" zahrnuje nejen data a jméno, které jsou v něm uloženy, ale také atributy. Atributy je informace, která popisuje vlastnosti souboru. Příklady možných atributů souboru:

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

      vlastník souboru;

      tvůrce souborů;

      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 soubor;

      příznak pouze pro čtení;

      podepsat "skrytý soubor";

      podepsat "systémový soubor";

      podepsat "archivní soubor";

      znak "binární/znak";

      podepsat "dočasné" (po dokončení procesu smazat);

      známka blokování;

      délka záznamu ve spisu;

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

      délka klíče.

    Sada atributů souborů je určena specifiky souborového systému: v souborových systémech různých typů lze k charakterizaci souborů použít různé sady atributů. Například v souborových systémech, které podporují ploché soubory, není nutné používat poslední tři atributy ve výše uvedeném seznamu související se strukturováním souborů. V OS pro jednoho uživatele 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, informace o oprávnění k přístupu k souboru.

    Uživatel může přistupovat k atributům pomocí prostředků, které pro tento účel poskytuje systém souborů. Obvykle je povoleno číst hodnoty libovolného atributu, ale pouze některé z nich lze změnit. Uživatel může například změnit oprávnění k souboru (za předpokladu, že k tomu má potřebná oprávnění), ale nesmí změnit datum vytvoření nebo aktuální velikost souboru.

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

    Rýže. 7.6. Struktura adresářů: a - struktura záznamů adresáře MS-DOS (32 bajtů), b - struktura záznamů adresářů OS UNIX

    Další možností je umístit atributy do speciálních tabulek, pokud adresáře obsahují pouze odkazy na tyto tabulky. Tento přístup je implementován například v souborovém systému UNIX ufs. 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 deskriptor inodu souboru, jak se nazývá tabulka v ufs, ve které jsou soustředěny hodnoty atributů souboru (obr. 7.6, b).

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

    Operace se soubory

    Většina moderních operačních systémů zachází se souborem jako s nestrukturovanou sekvencí bajtů proměnné délky. Ve standardu POSIX V souboru jsou definovány následující operace:

      int OTEVŘENO ( char * jméno , int vlajky , režimu _ t režimu )

    Tato operace ``otevře"" soubor a vytvoří spojení mezi programem a souborem. Tím se získá program deskriptor souboru je celé číslo identifikující toto spojení. Ve skutečnosti se jedná o index v systémové tabulce otevřených souborů pro tento úkol. Všechny ostatní operace používají tento index k odkazování na soubor.

    Parametr char * fname určuje název souboru. int flags je bitová maska, která určuje režim otevření souboru Soubor lze otevřít pouze pro čtení, pouze pro zápis a pro čtení a zápis; kromě toho můžete otevřít existující soubor nebo se můžete pokusit vytvořit nový soubor nulová délka. Volitelný režim třetího parametru se používá pouze při vytvoření souboru a specifikuje atributy souboru.

      vypnuto _ t lhledat ( int Rukojeť , vypnuto _ t offset , int odkud )

    Tato operace přesune ukazatel pro čtení/zápis v souboru. Parametr offset určuje počet bajtů, o které by se měl ukazatel posunout, a parametr wherece určuje, odkud se má offset počítat. Předpokládá se, že offset lze počítat od od začátku souboru (SEEK_SET), od jeho konce (SEEK_END) a od aktuální pozice ukazatele (SEEK_CUR). Operace vrátí pozici ukazatele, počítanou od začátku souboru. Volání lseek(handle, 0, SEEK_CUR) tedy vrátí aktuální pozici ukazatele bez jeho posunutí.

      int read(int handle, char * where, size_t how_moch)

    Operace čtení ze souboru. Ukazatel where určuje vyrovnávací paměť, kam by měla být umístěna načtená data; třetí parametr určuje, kolik dat se má číst. Systém načte požadovaný počet bajtů ze souboru, počínaje ukazatelem čtení/zápisu v tomto souboru, a přesune ukazatel na konec sekvence čtení. Pokud soubor skončil dříve, přečte se tolik dat, kolik zbývalo před jeho koncem. Operace vrátí počet přečtených bajtů. Pokud byl soubor otevřen pouze pro zápis, volání čtení vrátí chybu.

      int zápis (int handle, char * co, velikost_t kolik_moc)

    Operace zápisu do souboru. Ukazatel what určuje začátek datové vyrovnávací paměti; třetí parametr určuje, kolik dat se má zapsat. Systém zapíše požadovaný počet bajtů do souboru, počínaje ukazatelem pro čtení/zápis v tomto souboru a nahradí data uložená v tomto souboru. umístění a přesunutí ukazatele na konec zapsaného bloku. Pokud soubor skončil dříve, jeho délka se prodlouží. Operace vrátí počet zapsaných bajtů.

    Pokud byl soubor otevřen jen pro čtení, volání zápisu vrátí chybu.

      int ioctl(int popisovač, int cmd, ...) ; int fcntl ( int Rukojeť , int cmd , ...)

    Další operace se souborem. Zpočátku se zjevně předpokládalo, že ioctl jsou operace se souborem samotným a fcntl jsou operace s otevřeným deskriptorem souboru, ale pak historický vývoj funkce těchto systémových volání poněkud promíchal. Standard POSIX definuje některé operace jak na deskriptoru, jako je duplikace (v důsledku této operace získáme dva deskriptory spojené se stejným souborem), tak na samotném souboru, například operace zkrátit - oříznutí souboru na danou délku Ve většině verzí Unix Operaci zkrácení lze také použít k vyjmutí dat ze středu souboru. Při čtení dat z takto vyříznuté oblasti se čtou nuly a tato oblast sama o sobě nezabírá místo na fyzickém disku.

    Důležitou operací je blokování částí souboru.Standard POSIX nabízí pro tento účel funkci knihovny, ale v systémech rodiny Unix tato funkce je implementována prostřednictvím volání fcntl.

    Většina implementací standardu POSIX nabízí své další operace. Ano, v Unix SVR4 tyto operace mohou nastavit synchronní nebo zpožděné nahrávání atd.

      caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int handle, off_t offset)

    Mapování části souboru na virtuální adresový prostor procesu Parametr prot určuje přístupová práva k mapované části: čtení, zápis a spouštění. Mapování může probíhat na danou virtuální adresu, nebo si systém může zvolit adresu, která se zobrazí sama.

    Další dvě operace se již neprovádějí se souborem, ale s jeho názvem: jedná se o operace přejmenování a smazání souboru. V některých systémech, například v systémech rodiny Unix, soubor může mít více jmen a k odstranění názvu existuje pouze systémové volání. Soubor je smazán, když je odstraněno příjmení.

    Je vidět, že množina operací se souborem v tomto standardu je velmi podobná množině operací na externí zařízení. S oběma se zachází jako s nestrukturovaným proudem bajtů. Pro doplnění obrázku je třeba říci, že hlavním prostředkem meziprocesové komunikace v systémech rodiny Unix (trubka) je také nestrukturovaný datový tok. Myšlenka, že většinu datových přenosů lze zredukovat na byte stream, je poměrně stará, ale Unix byl jedním z prvních systémů, kde byla tato myšlenka dovedena k logickému závěru.

    Přibližně stejný model práce se soubory je převzat v CP/ M a sadu souborů systémová volání MS DOS skutečně zkopírované z hovorů Unix proti7 . ve svém pořadí, OS/2 A Windows NT zdědil principy práce se soubory přímo od MS DOS.

    Na druhou stranu v systémech bez Unix v rodokmenu lze použít trochu jiný výklad pojmu soubor, nejčastěji se se souborem zachází jako se souborem záznamů. Systém obvykle podporuje záznamy pevné i proměnné délky. Například textový soubor je interpretován jako soubor se záznamy proměnné délky a každý řádek textu odpovídá jednomu záznamu. Toto je model pro práci se soubory v VMS a v řádku OS OS/360 -MVS od IBM.

    Datové struktury

    Souborové systémy

    · Všeobecné. V teorii informatiky jsou definovány následující tři hlavní typy datových struktur – lineární, tabulkové, hierarchické. Ukázka knihy: sekvence listů - lineární struktura. Části, oddíly, kapitoly, odstavce - hierarchie. Obsah - tabulka - spojuje - hierarchické s lineárním. Strukturovaná data mají nový atribut – Adresa.

    · Lineární struktury (seznamy, vektory). Pravidelné seznamy. Adresa každého prvku je jednoznačně určena jeho číslem. Pokud mají všechny prvky seznamu stejnou délku– datový vektor.

    · Tabulkové struktury (tabulky, matice). Rozdíl mezi tabulkou a seznamem - každý prvek - je určen adresou, která se skládá ne z jednoho, ale z několika parametrů. Nejběžnějším příkladem je matice - adresa - dva parametry - číslo řádku a číslo sloupce. Vícerozměrné tabulky.

    · Hierarchické struktury. Používá se k reprezentaci nepravidelných dat. Adresa - určuje se podle trasy - z vrcholu stromu. Systém souborů je počítač. (Trasa může překročit - hodnota dat, dichotomie - vždy dvě vidlice - levá a pravá).

    · Uspořádání datových struktur. Hlavní způsob je třídění. ! Při přidávání nového prvku do objednané struktury je možné změnit adresu stávajících. Pro hierarchické struktury - indexování- každý prvek má jedinečné číslo - které se dále využívá při řazení a vyhledávání.

    Historicky první krok v ukládání a správě dat byl používání systémů pro správu souborů.

    Soubor je pojmenovaná oblast externí paměť do kterých lze data zapisovat a ze kterých lze data číst. Tři možnosti:

    Posloupnost libovolného počtu bajtů,

    Jedinečné vlastní jméno (ve skutečnosti adresa).

    Data jednoho typu - typ souboru.

    Pravidla pro pojmenování souborů, způsob přístupu k datům uloženým v souboru a struktura těchto dat závisí na konkrétním systému správy souborů a případně na typu souboru.

    Za prvé, v moderní chápání, pokročilý souborový systém byl vyvinut společností IBM pro svou řadu 360 (1965-1966). Ale v současných systémech se prakticky nepoužívá. Použité datové struktury seznamu (EC-svazek, sekce, soubor).

    Většina z vás zná souborové systémy moderních operačních systémů. Jedná se především o MS DOS, Windows a některé s budováním souborového systému pro různé varianty UNIXu.

    · Struktura souboru. Soubor je kolekce datových bloků umístěných na externí média. K výměně s magnetický disk na úrovni hardwaru musíte zadat číslo cylindru, číslo povrchu, číslo bloku na odpovídající stopě a počet bajtů, které se mají zapsat nebo přečíst od začátku tohoto bloku. Proto jsou ve všech souborových systémech explicitně nebo implicitně alokovány nějakou základní linii, který zajišťuje práci se soubory, které představují sadu přímo adresovatelných bloků v adresním prostoru.



    · Pojmenování souborů. Všechny moderní systémy souborů podporují víceúrovňové pojmenování souborů udržováním v externí paměti další soubory se speciální strukturou - adresáře. Každý adresář obsahuje názvy adresářů a/nebo souborů obsažených v tomto adresáři. Tím pádem, plně kvalifikovaný název souboru se skládá ze seznamu jmen adresářů plus jména souboru v adresáři, přímo obsahující daný soubor. Rozdíl mezi tím, jak jsou soubory pojmenovány v různých souborových systémech, spočívá v tom, kde začíná řetězec pojmenování. (Unix, DOS-Windows)

    · Ochrana souborů. Systémy správy souborů by měly poskytovat oprávnění k přístupu k souborům. V obecný pohled přístup je, že s ohledem na každému registrovanému uživateli daný výpočetní systém pro každý existující soubor akce, které jsou povolené nebo zakázané daný uživatel. Byly pokusy implementovat tento přístup jako celek. To však způsobilo příliš mnoho režie jak při ukládání nadbytečných informací, tak při používání těchto informací ke kontrole způsobilosti přístupu. Proto ve většině moderní systémy správa souborů používá přístup k ochraně souborů, který propagoval operační systém UNIX (1974). V tomto systému má každý registrovaný uživatel dvojici celočíselných identifikátorů: identifikátor skupiny, do které tento uživatel patří, a svůj vlastní identifikátor ve skupině. V souladu s tím je pro každý soubor uložen úplný identifikátor uživatele, který tento soubor vytvořil, a je uvedeno, jaké akce může se souborem provádět, jaké akce se souborem jsou dostupné ostatním uživatelům ze stejné skupiny a kteří uživatelé jiných skupin může se souborem dělat. Tyto informace jsou velmi kompaktní; velký počet akce a tento způsob řízení přístupu je ve většině případů uspokojivý.

    · Režim přístupu pro více uživatelů. Pokud operační systém podporuje víceuživatelský režim, je docela možné, že se dva nebo více uživatelů současně pokusí pracovat se stejným souborem. Pokud budou všichni tito uživatelé soubor pouze číst, nestane se nic špatného. Ale pokud alespoň jeden z nich změní soubor, pro správné fungování tato skupina vyžaduje vzájemnou synchronizaci. Historicky souborové systémy zvolily následující přístup. V operaci otevření souboru (první a povinná operace, kterou by měla začít relace práce se souborem) byl kromě dalších parametrů uveden i režim operace (čtení nebo změna). + k dispozici speciální postupy synchronizace uživatelských akcí. Nelze zaznamenat!

    Jednou ze součástí OS je souborový systém – hlavní úložiště systémových a uživatelských informací. Všechny moderní operační systémy pracují s jedním nebo více systémy souborů, například FAT (File Allocation Table), NTFS (NT File System), HPFS (High Performance File System), NFS (Network File System), AFS (Andrew File System) , Internetový souborový systém.

    Souborový systém je část operačního systému, jejímž účelem je poskytovat uživateli uživatelsky přívětivé rozhraní při práci s daty uloženými v externí paměti a zajistit sdílení soubory více uživateli a procesy.

    V širokém slova smyslu pojem „systém souborů“ 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ů, alokační tabulky volného a použitého místa na disku;

    Sada systémových softwarových nástrojů, které implementují správu souborů, zejména: vytváření, ničení, čtení, zápis, pojmenovávání, vyhledávání a další operace se soubory.

    Souborový systém se obvykle používá jak při načítání OS po zapnutí počítače, tak během provozu. Souborový systém plní následující hlavní funkce:

    Definuje možné způsoby organizace souborů a struktura souborů na médiu;

    Implementuje metody pro přístup k obsahu souborů a poskytuje prostředky pro práci se soubory a struktura souboru. Přístup k datům může být zároveň organizován souborovým systémem jak podle jmen, tak podle adres (číslo sektoru, povrch a stopa média);

    stopy volný prostor v médiích.

    Když aplikačního programu odkazuje na soubor, netuší, jak se informace v konkrétním souboru nachází, ani na jakém fyzickém typu média (CD, pevný disk nebo blok paměti flash) jsou zaznamenány. Vše, co program zná, je název souboru, velikost a atributy. Tato data přijímá z ovladače systému souborů. Je to souborový systém, který určuje, kam a jak bude soubor zapsán fyzická média(například pevný disk).

    Z pohledu operačního systému je celý disk souborem clusterů (paměťových oblastí) o velikosti 512 bajtů a více. Ovladače souborového systému organizují clustery do souborů a adresářů (což jsou ve skutečnosti soubory obsahující seznam souborů v daném adresáři). Stejné ovladače sledují, které clustery jsou aktuálně používány, které jsou volné a které jsou označeny jako neúspěšné. Aby bylo jasné, jak jsou data na discích ukládána a jak k nim OS poskytuje přístup, je nutné alespoň v obecné rovině představit logickou strukturu disku.


    3.1.5 Struktura logického disku

    Chcete-li umožnit počítači ukládat, číst a zapisovat informace tvrdé Disk musí být nejprve označen. Na něm se pomocí příslušných programů vytvářejí oddíly – říká se tomu „rozdělení pevného disku“. Bez tohoto označení nebude možné nainstalovat operační systém na pevný disk (ačkoli Windows XP a 2000 lze nainstalovat na disk bez oddílů, toto označení provádějí samy během procesu instalace).

    HDD lze rozdělit do několika sekcí, z nichž každá bude používána samostatně. K čemu to je? Jeden disk může obsahovat několik různých operačních systémů umístěných v různých oddílech. Vnitřní struktura oddílu přiděleného operačnímu systému je zcela určena tímto operačním systémem.

    Kromě toho existují další důvody pro rozdělení disku, například:

    Možnost používat disky s kapacitou větší než
    32 MB;

    Pokud je disk poškozen, budou ztraceny pouze informace, které byly na tomto disku;

    Reorganizace a vyjmutí malého disku je snazší a rychlejší než velký;

    Každý uživatel může mít svůj vlastní logický pohon.

    Operace přípravy disku pro práci se nazývá formátování nebo inicializace. Vše dostupné místo na disku je rozdělena na strany, stopy a sektory, přičemž stopy a strany jsou číslovány od nuly a sektory - od jedné. Sbírka skladeb na stejnou vzdálenost od osy disku nebo svazku disků se nazývá válec. Fyzická adresa sektoru je tedy určena těmito souřadnicemi: číslo stopy (cylindr - C), číslo strany disku (hlava - H), číslo sektoru - R, tzn. CHR.

    Hned v prvním sektoru pevný disk(C=0, H=0, R=1) obsahuje hlavní spouštěcí záznam Hlavní spouštěcí záznam. Tento záznam nezabírá celý sektor, ale pouze jeho počáteční část. Hlavní spouštěcí záznam je program - zavaděč mimo systém.

    Na konci prvního tvrdý disk obsahuje tabulku oddílů disku - Tabulka oddílů. Tato tabulka obsahuje čtyři řádky popisující maximálně čtyři oddíly. Každý řádek v tabulce popisuje jednu sekci:

    1) aktivní sekce nebo ne;

    2) číslo sektoru odpovídající začátku sekce;

    3) číslo sektoru odpovídající konci sekce;

    4) velikost oddílu v sektorech;

    5) kód operačního systému, tzn. do jakého OS tento oddíl patří.

    Oddíl se nazývá aktivní, pokud obsahuje spouštěcí program operačního systému. První byte v prvku sekce je příznak aktivity sekce (0 - neaktivní, 128 (80H) - aktivní). Slouží k určení, zda je oddíl systémový (zaváděcí), a k nutnosti zavést z něj operační systém při startu počítače. Aktivní může být pouze jedna sekce. Malé programy, nazývané boot managery (Boot Manager), mohou být umístěny v prvních sektorech disku. Interaktivně se uživatele zeptají, ze kterého oddílu se má zavést systém, a podle toho upraví příznaky aktivity oddílu. Vzhledem k tomu, že tabulka oddílů obsahuje čtyři řádky, na disku mohou být až čtyři různé operační systémy, takže disk může obsahovat několik primárních oddílů patřících různým operačním systémům.

    Příklad logické struktury pevného disku sestávajícího ze tří oddílů, z nichž dva patří DOSu a jeden UNIXu, je znázorněn na obrázku 3.2a.

    Každá aktivní sekce má svůj vlastní spouštěcí záznam- program, který načte tento OS.

    V praxi se disk nejčastěji dělí na dva oddíly. Velikosti oddílů, ať už jsou deklarovány jako aktivní nebo ne, nastavuje uživatel během procesu. Těžké trénování disk do práce. To se provádí pomocí speciální programy. V DOSu se tento program nazývá FDISK, ve verzích Windows-XX se nazývá Diskadministrator.

    V DOSu je primární oddíl − Primární oddíl, toto je část, která obsahuje zavaděč operačního systému a samotný OS. Primární oddíl je tedy aktivní oddíl používaný jako logická jednotka s názvem C:.

    Operační systém WINDOWS (jmenovitě WINDOWS 2000) změnil terminologii: aktivní oddíl se nazývá systémový oddíl a spouštěcí oddíl je logická jednotka, která obsahuje systémové soubory. soubory WINDOWS. Spouštěcí logická jednotka může být stejná jako systémový oddíl, ale může být na jiném oddílu na stejném pevném disku nebo na jiném pevném disku.

    Rozšířená sekce rozšířený oddíl lze rozdělit na několik logické disky se jmény od D: do Z:.

    Obrázek 3.2b ukazuje logickou strukturu pevného disku, který má pouze dva oddíly a čtyři logické disky.

    Souborový systém je způsob organizace ukládání dat na paměťová média. Systém souborů také určuje délku názvu souboru, maximální velikost souboru a sekce, atributy souboru. V tomto článku budeme hovořit o tom, co jsou souborové systémy.

    Úkoly, které by měl souborový systém vyřešit:

    • pojmenování souboru.
    • softwarové rozhraní pro uživatelské programy.
    • ochrana dat před výpadky napájení a chybami hardwaru a softwaru.
    • ukládání parametrů souboru.

    Moderní souborové systémy lze rozdělit do několika skupin podle jejich účelu:

    • Souborové systémy pro média s náhodným přístupem (pro flash disky): FAT32, HPFS, ext2 a mnoho dalších.
    • Souborové systémy pro paměťová média se sekvenčním přístupem (magnetické pásky): QIC atd.
    • Souborové systémy pro optické disky: ISO9660, HFS, UDF atd.
    • Virtuální souborové systémy: AEFS atd.
    • Síťové souborové systémy: NFS, SSHFS, CIFS, GmailFS atd.
    • Souborové systémy určené výhradně pro: YAFFS, exFAT, ExtremeFFS.

    Populární systémy souborů:

    TLUSTÝ je souborový systém vyvinutý Billem Gatesem a Markem McDonaldem v 70. letech minulého století. Pro svou jednoduchost se stále používá ve flash discích. Existují tři verze systému souborů FAT: FAT12, FAT16 a FAT32. Tyto verze systému souborů FAT se liší bitovostí záznamů (počet bitů, které jsou vyhrazeny pro uložení čísla clusteru). To znamená, že čím větší je bitová hloubka, tím větší je objem disku, se kterým může souborový systém FAT pracovat. Pro FAT32 je tedy maximální velikost disku 127 gigabajtů.

    NTFS je souborový systém nové generace od společnosti Microsoft. Tento souborový systém se používá pro všechny operační systémy. systémy Microsoft Windows NT. NTFS se poprvé objevil v roce 1993 spolu s operačním systémem Windows NT 3.1. Ve srovnání s FAT, soubor systém NTFS dostal spoustu vylepšení. Prakticky tedy zmizel limit na maximální velikost souboru a disku. Kromě toho je zde podpora pevných odkazů, šifrování a komprese.

    ext- souborový systém navržený speciálně pro operační systémy na Linuxové jádro. Vývoj byl poprvé představen v roce 1992. Nyní existuje několik verzí tohoto souborového systému: ext, ext2, ext3, ext3cow a ext4. souborový systém ext4 zapnutý tento moment je nejnovější a současná verze ext, což je verze, kterou používá většina moderních distribucí Linuxu.

    Soubory a souborový systém

    Všechny programy a data jsou uložena v energeticky nezávislé (externí) paměti počítače jako soubory.

    Soubor- jedná se o 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ého názvu souboru a přípony, která definuje jeho typ (program, data atd.). Skutečný název souboru je dán uživatelem a typ souboru je obvykle nastaven programem automaticky při jeho vytvoření (tabulka 4.2).

    Na různých operačních systémech existují různé formáty názvy souborů. V operačním systému MS-DOS nesmí samotný 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á písmena, například: proba.txt

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


    Souborový systém. Na každém paměťovém médiu (flexibilní, tuhé nebo laserový disk) může ukládat velké množství souborů. 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 se skládá ze sektorů.

    Pro disky s malým počtem souborů (až několik desítek) můžete použít 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 pro usnadnění vyhledávání vrstvený 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 vnořené adresáře 1. úrovně, každý z nich zase může obsahovat vnořené adresář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ě (Katalog_1, Adresář_2) a jeden soubor (Soubor_1). Adresář 1. úrovně (Catalog_1) zase obsahuje dva podadresáře druhé úrovně (Catalog_1.1 a Directory_1.2) a jeden soubor (File_1.1) - obr. 4.21.

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

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

    Nechť jsou dva adresáře 1. úrovně (GAMES, TEXT) v kořenovém adresáři jednotky C: a jeden adresář 2. úrovně (CHESS) v adresáři GAMES. V tomto případě adresář TEXT obsahuje soubor proba.txt a adresář CHESS obsahuje soubor chess.exe (obr. 4.22).

    Cesta k souboru. Jak najít existující soubory (chess.exe, proba.txt) v daném hierarchickém souborovém systému? Chcete-li to provést, musíte zadat cestu k souboru. Cesta k souboru obsahuje logický název jednotky zapsaný přes oddělovač "\" a posloupnost názvů vnořených adresářů, z nichž poslední obsahuje požadovaný soubor. Způsoby jak výše uvedené soubory lze napsat následovně:

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

    Příklad celého názvu souboru:

    C \HRY\ŠACHY\šachy.exe

    Reprezentace souborového systému pomocí grafického rozhraní. V operačním systému je zastoupen hierarchický souborový systém MS-DOS obsahující adresáře a soubory. systém Windows pomocí grafického rozhraní v podobě hierarchického systému složek a dokumentů. Složka ve Windows je analogická adresáři 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ích.

    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 lokální síť) - rýže. 4.23.

    2. Výběr jedné z položek nabídky Zobrazit (velké ikony, malé ikony, seznam, tabulka), můžete upravit formulář pro prezentaci 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 vzdálené složky a soubory. V případě potřeby vyjmout a uložit do košík složky a dokumenty lze obnovit.

    3. Chcete-li trvale odstranit soubory, zadejte příkaz [Soubor vyprázdnit koš].

    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řesunutí (samotný soubor se přesune do jiného adresáře);
    • smazání (záznam o souboru je odstraněn z adresáře);
    • přejmenování (změní název souboru).

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

    V některých případech je nutné pracovat s rozhraním příkazový řádek. Systém Windows poskytuje režim provozu s rozhraním 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.

    V reakci na systémovou výzvu můžete z klávesnice zadávat příkazy 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. Příkazů MS-DOSu jsou desítky a každý příkaz má svůj vlastní formát a parametry, které jsou poměrně těžko zapamatovatelné. Chcete-li získat informace nápovědy k příkazu, zadejte za názvem příkazu přepínač /?

    Například za pomoc s příkaz formátování v reakci na systémovou výzvu musíte zadat: С:\WINDOWS>formát/?


    Otázky k zamyšlení

    1. Který prvek je vrcholem hierarchie v systému souborů MS-DOS? V GUI Okna?

    Praktické úkoly

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

    4.12. Seznamte se s velikostí disků vašeho počítače a také s množstvím obsazeného a volného místa.

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