25.1.2014
IOSYS_2013: Soubory a souborové systémy
Operační systémy Tomáš Hudec 11 Soubory a souborové systémy Obsah: 11.1 Alokace prostoru na médiu, 11.1.1 Souvislá alokace (contiguous allocation), 11.1.2 Řetězená alokace (chained allocation), 11.1.3 Indexová alokace (indexed allocation), 11.2 Konzistence souborového systému, 11.2.1 Zachování konzistence pomocí žurnálování, 11.2.2 Zachování konzistence metodou copy‑on‑write, 11.3 Speciální soubory, 11.3.1 Odkazy, 11.3.2 Komunikační speciální soubory, 11.3.3 Soubory pro HW zařízení, 11.4 Přístupová práva, 11.4.1 Příklady oprávnění na různých souborových systémech, 11.5 Příklady dalších atributů souborů, 11.5.1 11.5.2 11.5.3 11.5.4
FAT, NTFS, Extended FS, Novell Netware,
11.6 Architektura správy souborů, 11.6.1 Organizace dat souborů, 11.7 Opakování.
Soubor (file) slouží jako univerzální forma dlouhodobého uložení dat v sekundární paměti (typicky na disku). Slouží pro uložení vstupních a výstupních dat pro programy i k uložení programů samotných, jejich archivaci či distribuci. Různé programy mohou pomocí souborů sdílet data. Soubory jsou na paměťovém médiu logicky organizovány pomocí adresářů (directory). Některé operační systémy používají též termín složka (folder). Obvykle je adresář reprezentován speciálním souborem, jehož obsah interpretuje operační systém. Obsahuje informace o souborech (a podadresářích) v něm obsažených. Adresáře umožňují hierarchicky uspořádat soubory do stromové struktury. Hlavní adresář se označuje jako kořenový (root). Aktuální adresář pro každý proces se nazývá pracovní (current, working). Cesta (path) vyjadřuje logické umístění souboru v adresářové struktuře. Podle vztažného bodu se rozlišuje cesta absolutní (vyjádřená od kořene) a relativní (vyjádřená z aktuálního adresáře). Souborový systém (file system) umožňuje uživatelům a procesům přístup k datům uloženým v souborech. Eviduje metadata souborů (atributy, oprávnění) a organizuje způsob uložení dat a metadat na paměťovém médiu. Zjednodušuje tak práci programátorům při manipulaci s daty. Příklady souborových systémů: Unixové systémy vytvářejí adresářovou strukturu s jediným kořenem, další souborové systémy se připojují do adresářů jako podstromy. Různé systémy podporují různé souborové systémy: Solaris: ufs, zfs; FreeBSD: ufs2; IRIX: efs, xfs; AIX: jfs. Linux: ext2, ext3, ext4, ReiserFS, Reiser4, btrfs, navíc podporuje mnoho dalších unixových i neunixových. OS X [ou es ten], iOS, Mac OS: HFS, HFS Plus, ufs (od verze OS X; původem ze systémů NeXTSTEP a BSD).
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
1/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Windows: FAT, NTFS, exFAT, ReFS (Resilient FS, od Windows 8 a Windows Server 2012). síťové souborové systémy – médiem je vzdálené úložiště, jedná se tak spíše o síťový protokol – NFS, SMB (CIFS). Metadata jsou data o datech (zde o souborech a souborovém systému). Jedná se o umístění souboru na médiu (adresy alokovaných bloků), vlastnosti souboru (typ, velikost, čas změny, …), vlastnictví a oprávnění (čtení, zápis, spuštění, …), a další atributy (skrytý, systémový, nesmazatelný, …). Metadata souborů jsou uložena ve struktuře souborového systému, v unixových souborových systémech je to i‑uzel (i‑node), na NTFS je to Master File Table (MFT), na FAT jsou metadata v adresáři a v alokační tabulce.
11.1 Alokace prostoru na médiu Souborové systémy alokují souborům prostor po alokačních blocích (používá se též pojem cluster), které mají velikost několik (obvykle mocnina dvou, tj. 1, 2, 4, 8, 16, …) sektorů, přičemž sektor je nejmenší alokovatelná jednotka na médiu (typicky 512, případně 2 048 bajtů). Díky alokaci prostoru po blocích zůstává poslední blok často nevyužit zcela – vzniká vnitřní fragmentace.
11.1.1 Souvislá alokace (contiguous allocation) Souboru jsou vždy přiděleny po sobě jdoucí bloky. V metadatech souboru se eviduje adresa prvního (počátečního) bloku a velikost souboru (v alokačních blocích). Při alokaci prostoru na médiu dochází k vnější fragmentaci – vznikají díry, které je obtížné využít. Soubor tak nemůže (bez přemístění) ani růst nad limit volného prostoru za posledním blokem.
Souvislá alokace
11.1.2 Řetězená alokace (chained allocation) Souboru se alokují jednotlivé bloky. Alokační tabulku tvoří zřetězené seznamy bloků. Každý blok obsahuje odkaz na následující blok nebo informaci o konci řetězu. Tato metoda alokace odstraňuje problém vnější fragmentace, neboť souboru lze přidělit libovolný volný blok. Logicky sousedící bloky tak mohou být na různých místech na médiu, čímž vzniká datová fragmentace. Jelikož se datová fragmentace typicky zvyšuje s tím, jak se souborový systém používá (vznikají a zanikají soubory, mění se jejich velikosti), používá se také termín stárnutí – file system aging. Tento způsob alokace používá souborový systém FAT (DOS, Windows).
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
2/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Řetězená alokace
11.1.3 Indexová alokace (indexed allocation) Metadata souboru obsahují index, který je tvořen seznamem alokovaných bloků souboru. Ani tento způsob alokace netrpí problémem vnější fragmentace. Index může být také nepřímý (víceúrovňový), tj. může obsahovat i odkaz na blok, který je opět indexem. Velikost bloku může být různá (cílem je redukovat vnitřní fragmentaci). Indexovou alokaci používají unixové souborové systémy. I‑uzel obsahuje několik přímých odkazů na bloky a (nepřímé) odkazy na indexy bloků.
Indexová alokace
11.2 Konzistence souborového systému Zápis dat do souboru znamená provedení několika operací na různých místech na médiu: metadata souborového systému – alokace nových bloků, aktualizace seznamu volných bloků, datová část souborového systému – zápis nových dat souboru, metadata souboru – aktualizace přidělených bloků, velikosti, času změny apod. Tyto změny probíhají postupně, čímž nutně vznikají stavy nekonzistence. Při pádu systému je třeba provést kontrolu stavu souborových systémů a případné nekonzistence odstranit.
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
3/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Zápis do souboru: Výchozí stav
Zápis do souboru: Alokace bloků na souborovém systému
Zápis do souboru: Zápis nových dat do souboru
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
4/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Zápis do souboru: Aktualizace alokovaných bloků souboru
Zápis do souboru: Aktualizace velikosti souboru, konečný stav
11.2.1 Zachování konzistence pomocí žurnálování Pro zachování konzistence dat a metadat souborového systému lze zavést transakční log nazývaný žurnál (journal). Jedná se v podstatě o kruhový buffer (circular buffer), do kterého se zapisují prováděné změny metadat (případně i dat). Teprve po potvrzení zápisu do žurnálu se provede patřičná změna souborového systému. Při startu systému po pádu tak není třeba kontrolovat konzistenci celého souborového systému, ale pouze těch míst, na kterých docházelo ke změnám bezprostředně před pádem. Tato místa se zjistí právě ze žurnálu a podle něj se případně opraví struktury souborového systému, takže ten je opět konzistentní. Výsledkem je mnohonásobné zrychlení kontroly konzistence souborového systému. Zavedení žurnálu má nicméně negativní vliv na výkonnost souborového systému. Protože se zapisuje vždy na dvě místa (do žurnálu a na místo změny), zápis do souborů je zpomalen. Z tohoto mnohé souborové systémy žurnálují pouze metadata, kterých je v porovnání s daty mnohem méně, a ušetří se tak čas pří zápise do žurnálu.
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
5/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Zápis do souboru s použitím žurnálu: Výchozí stav
Zápis do souboru s použitím žurnálu: Zápis transakce do žurnálu
Zápis do souboru s použitím žurnálu: Alokace bloků na souborovém systému
Zápis do souboru s použitím žurnálu: Zápis nových dat do souboru
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
6/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Zápis do souboru s použitím žurnálu: Aktualizace alokovaných bloků souboru
Zápis do souboru s použitím žurnálu: Aktualizace velikosti souboru, dokončení transakce, konečný stav
11.2.2 Zachování konzistence metodou copy‑on‑write Transakce na souborovém systému lze provádět také metodou copy‑on‑write. Jelikož jakékoliv nekonzistence vznikají při změně informací na médiu (při zápise), tato metoda se snaží vyhnout ztrátě integrity zápisem tak, že nikdy nemodifikuje bloky na místě. Při nutnosti přepsat některý blok novými informacemi se modifikuje (v paměti) kopie původního bloku a tato kopie se zapíše do nově alokovaného prostoru. Stejným způsobem se aktualizují také metadata. Po dokončení zápisu dat a metadat (do nových bloků) se atomicky provede zneplatnění původních dat a metadat a potvrdí se platnost nových. Souborový systém je tedy v každém okamžiku konzistentní. Navíc není třeba dvojího zápisu jako u metody žurnálování. Pomocí metody copy‑on‑write lze vytvářet a udržovat také několik verzí souborů případně i celého souborového systému (tzv. snapshot). Tuto metodu zachování konzistence používají souborové systémy ZFS (Solaris) a btrfs (Linux).
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
7/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Zápis do souboru metodou copy‑on‑write: Výchozí stav
Zápis do souboru metodou copy‑on‑write: Zápis nových dat do souboru
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
8/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Zápis do souboru metodou copy‑on‑write: Zápis nových metadat
Zápis do souboru metodou copy‑on‑write: Nastavení platnosti nových dat a metadat, konečný stav
11.3 Speciální soubory Některé souborové systémy umožňují vytvářet speciální soubory. Tyto soubory neobsahují reálná data, pouze na ně nějakým způsobem odkazují (odkazy) nebo reprezentují jinou entitu (roura, socket, HW).
11.3.1 Odkazy V adresáři lze vytvořit novou položku (nové jméno), která se bude odkazovat na stejná data a metadata jako nějaký existující soubor. Takto vzniklá položka se nazývá tvrdý (pevný) odkaz (hard link). Jedná se tedy o nové jméno pro již existující soubor včetně jeho metadat. Nové a původní jméno nelze od sebe odlišit (nelze poznat, které jméno vzniklo dříve), položky jsou vzájemně ekvivalentní. Nejedná se tak o speciální typ souboru, ale o vlastnost souborového systému. V metadatech souboru se eviduje počet takovýchto odkazů. K uvolnění dat dojde až při odstranění posledního odkazu. Tvrdé odkazy nelze vytvářet na adresáře (mohlo by to vést k porušení stromová hierarchie). Tvrdé odkazy nelze vytvářet mezi různými souborovými systémy. Jiný typ odkazu je symbolický odkaz (symbolic link). Jedná se o speciální typ souboru, v jehož datové části je uvedeno nové jméno. Při přístupu k symbolickému odkazu provede systém textovou záměnu jmen (jméno symbolického odkazu je nahrazeno novým jménem). Tato změna je pro proces transparentní. Odkaz může být buď absolutní (nové jméno začíná lomítkem), nebo
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
9/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
relativní. Symbolický odkaz se liší od zástupce (shortcut), což je normální soubor, který je interpretovaný grafickým uživatelským prostředím. Na souborovém systému NTFS lze vytvořit ještě tzv. junction point – speciální odkaz na (lokální) adresář.
11.3.2 Komunikační speciální soubory Pro komunikaci mezi procesy lze použít rouru nebo socket. Obojí lze na některých souborových systémech vytvořit také jako speciální typ souboru. Jméno tohoto souboru je pak adresou pro komunikaci. Pojmenovaná roura (named pipe) je jednosměrný komunikační nástroj ve formě souboru. Tento speciální soubor má dva nezávislé ukazatele – jeden pro čtení a druhý pro zápis. Jeden proces smí zapisovat a druhý číst. Roura se chová jako FIFO. Co bylo přečteno se z ní odstraní. Alternativní komunikační nástroj je socket. Na rozdíl od roury umožňuje procesům komunikovat obousměrně. Jako adresu lze opět použít jméno souboru, které tak tvoří na souborovém systému speciální typ souboru, tzv. (POSIX Local) IPC socket. Na rozdíl od síťového soketu umožňuje tento typ komunikovat pouze procesům běžícím na stejném systému. Tento typ souborů je používán zejména unixovými systémy, proto se obvykle používá spíše pojem Unix domain socket.
11.3.3 Soubory pro HW zařízení Unixové operační systémy používají pro jednotný přístup k hardwaru stejný model jako k souborům. Pro periferie tak vznikly speciální soubory, pomocí kterých mohou procesy k těmto periferiím přistupovat. Operace s periferiemi jsou stejné jako se soubory: zahájení práce – otevření souboru, čtení nebo zápis dat, ukončení práce – zavření souboru. Rozlišují se dva typy zařízení: bloková (s náhodným přístupem po blocích) – disky – a znaková (proudový přístup po bajtech) – terminály, tiskárny, skenery, zvukové karty apod. Podle toho jsou tedy speciální soubory blokové a znakové.
11.4 Přístupová práva Na mnoha souborových systémech jsou implementována oprávnění. Ta určují, co smí uživatel se souborem dělat. Uplatňují se v okamžiku, kdy se proces uživatele pokusí se souborem manipulovat. Možná oprávnění (obecně): žádné – uživatel se souborem nemá právo jakkoli manipulovat, ani nemusí být schopen zjistit existenci souboru, znalost existence – možnost zjistit metadata (jméno, velikost, vlastníka, oprávnění apod.), provádění (execute) – jednáli se o uložený program, smí jej uživatel spustit, ale nemá právo jej číst (kopírovat), čtení (read) – soubor lze otevřít ke čtení pro libovolné účely (výpis, kopírování, někdy i provádění), ale nelze v souboru dělat změny, přidávání (append) – do souboru lze přidávat další záznamy, ale nelze nijak modifikovat již uložená data, přepisování, zápis (update, write) – lze zapisovat i přepisovat, mazání (delete) – uživatel smí soubor odstranit, vytvoření (create) – uživatel smí v adresáři vytvořit nový soubor, změna práv (changing permissions) – uživatel může nastavit přístupová práva. Vlastník souboru má typicky všechna práva, ale nemusí tomu tak být vždy (např. Novell Netware). V unixových systémech smí vlastník automaticky měnit oprávnění.
11.4.1 Příklady oprávnění na různých souborových systémech FAT Nejsou implementovaná žádná oprávnění pro uživatele.
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
10/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Unixové souborové systémy Každý soubor je vlastněn právě jedním uživatelem a právě jednou skupinou. Práva se určují zvlášť pro vlastníka, skupinu a ostatní. Oprávnění jsou čtení, zápis a provádění pro soubory a čtení, zápis a vstup pro adresáře. Označují se písmeny rwx. Více vizte Správa operačních systémů.
Novell Netware Souborům lze přidělovat oprávnění pro libovolného uživatele. Oprávnění: supervisory – všechna práva, access control – lze přidělovat ostatním práva taková, jaká již uživatel má, read – čtení (u adresářů znamená vypsat obsah), write – zápis (u adresářů znamená možnost zápisu do existujících souborů v něm), create – vytváření souborů (pro adresáře), právo obnovit smazaný soubor (pro soubory), erase – smazání, modify – měnit atributy (nikoliv práva), file scan – znalost existence souboru (zobrazí se ve výpise obsahu adresáře).
NTFS Full control, Traverse Folder, Execute File, List Folder, Read Data, Read Attributes, Read Extended Attributes, Create Files, Write Data, Create Folders, Append Data, Write Attributes, Write Extended Attributes, Delete Subfolders and Files, Delete, Read Permissions, Change Permissions, Change Ownership.
11.5 Příklady dalších atributů souborů 11.5.1 FAT Souborový systém FAT podporuje čtyři základní atributy: readonly – soubor je pouze pro čtení, nelze smazat ani přepsat, hidden – skrytý, nezobrazuje se ve výpise adresáře, system – systémový, podobně jako skrytý plus navíc další omezení (např. zákaz odstranění či přesunutí), archive – soubor je připraven k archivaci (záloze), atribut se nastavuje vždy při zápisu do souboru.
11.5.2 NTFS Podporuje čtyři základní atributy jako FAT a navíc: not content indexed – neindexovaný obsah souboru, offline – data jsou na jiném (vzdáleném) zařízení (soubor není přístupný při provozu offline), může též znamenat, že soubor je jen lokální kopií (cache), temporary – dočasný soubor, compressed – automaticky komprimovaný soubor, encrypted – šifrovaný pomocí EFS, sparse – řídký soubor.
11.5.3 Extended FS Linuxový souborový systém ext2 a jeho novější verze (ext3 a ext4) podporují následující atributy: append only (a) – do souboru lze při zápise pouze přidávat na konec, compressed (c) – komprimovaný (v ext2 a ext3 neimplementováno), no dump (d) – nearchivovat programem dump, extent format (e) – používají se tzv. extents pro mapování bloků na disku, immutable (i) – soubor nelze měnit, data journalling (j) – žurnálovat i data (na ext2 nepodporováno),
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
11/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
secure deletion (s) – bezpečné mazání (při mazání se obsah několikrát přepíše), no tailmerging (t) – poslední blok souboru nebude slučován pro úsporu místa, undeletable (u) – soubor se při mazání neodstraní, aby šel obnovit, no atime updates (A) – neaktualizovat čas posledního přístupu, synchronous directory updates (D) – synchronní zápis změn v adresáři, synchronous updates (S) – synchronní zápisy změn souboru, top of directory hierarchy (T) – podadresáře nesouvisejí, alokace místa podadresářům je dovolena na různých místech na médiu.
11.5.4 Novell Netware Kromě atributů podle FAT podporuje pro soubory a adresáře: delete inhibit – nelze smazat, rename inhibit – nelze přejmenovat, purge – nelze obnovit po smazání. Pouze pro soubory navíc: readwrite – čtení i zápis, execute only – nelze kopírovat, pouze spouštět, indexed – pro rychlejší přístup k velkým souborům, transactional – lze definovat přístup v transakcích, shareable – lze otevřít více uživateli současně.
11.6 Architektura správy souborů Pro organizaci dat v souboru může programátor použít různé metody. Přístup k datům souboru však řídí operační systém. Následující obrázek znázorňuje jednotlivé vrstvy, kterými operace se soubory procházejí.
Přístup k datům souboru
Proces přistupuje k datům dle zvolené organizace. Virtuální souborový systém (VFS) implementuje základní operace se soubory a evidenci metadat: vytvoření, otevření, zavření, čtení/zápis, manipulace s atributy. Pro efektivnější pozdější přístup může uchovávat načtená data souborů v operační paměti (cache). VFS volá pak služby skutečného souborového systému (ext4, btrfs, NTFS, …), který určuje, jakým způsobem jsou data s metadaty uložena na médiu. Udržuje řídicí struktury souborového systému (volné místo, adresáře) a eviduje přiřazení logických bloků na médiu souborům. Plánovač základních vstupně‑výstupních operací odpovídá za inicializaci a ukončení těchto operací. Má na starost plánování a
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
12/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
řazení nevyřízených operací za účelem výkonové optimalizace. Využívá část operační paměti jako buffer cache pro urychlení operací – zapisuje data na médium se zpožděním. (Zapisujeli proces data po bajtech, je mnohem výhodnější zapsat je na médium jednorázově v celém bloku.) Na nejnižší softwarové úrovni je ovladač úložného zařízení, který odpovídá za správné příkazy pro hardware. Zpracovává také hardwarové přerušovací signály vyvolané vstupně‑výstupními operacemi.
11.6.1 Organizace dat souborů Základní element dat bude dále označován termínem pole (field). Pole je charakterizováno datovým typem a délkou. Záznam (record) je seskupení vzájemně souvisejících polí, např. záznam zaměstnance, výrobku apod. Pro soubor je záznam jednotkou dat.
Stoh (pile) Stoh je organizace dat souboru bez nutné vnitřní struktury. Jednotlivé záznamy nemají shodná pole. Přístup ke konkrétnímu záznamu se provádí úplným prohledáním (exhaustive search). Příklady: textové soubory – záznamy jsou řádky, ploché (flat) soubory – např. /etc/passwd.
Sekvenční soubor (sequential file) Všechny záznamy mají stejnou délku i strukturu všech polí (fixed format), jedno pole je jednoznačným klíčem. Záznamy mohou být uspořádány dle klíče. Nové záznamy se do seřazeného souboru neukládají přímo, zapisují se do transakčního logu. Hlavní soubor se aktualizuje dávkově po seřazení všech záznamů – šetří se tak čas a snižuje riziko ztráty dat.
Index‑sekvenční soubor (indexed sequential file) Jedná se o sekvenční soubor s indexem klíčů. Každá položka indexu obsahuje ukazatel na záznam v hlavním souboru. Úplný (exhaustive) index je nutné mít nad neseřazeným souborem. Pro neúplný index (neobsahuje všechny klíče) je třeba mít záznamy v souboru seřazené; po vyhledání nejbližšího indexovaného klíče se dohledává příslušný záznam sekvenčně. Oproti sekvenčnímu hledání přináší index výraznou úsporu času: např. při milionu záznamů je třeba pro vyhledání čistě sekvenčním procházením průměrně 500 000 přístupů. Budeli mít soubor index pouze pro každý tisící záznam, bude třeba průměrně pouze tisíc přístupů pro vyhledání (průměrně 500 přístupů pro sekvenční hledání v indexu a 500 přístupů pro sekvenční hledání v hlavním souboru). Důsledek: 500násobné zlepšení.
Indexovaný soubor (indexed file) Jako index‑sekvenční soubor, indexy mohou být pro různá pole. Typicky je potřeba úplný index (soubor typicky nemůže být seřazen podle všech polí).
Soubor s přímým přístupem (hashed / direct file) Adresa bloku, ve kterém je uložen záznam, je odvozena z klíče pomocí hešovací funkce. Každý záznam musí mít tedy klíč. Jelikož hešovací mají kolize, může více různých klíčů generovat stejnou adresu bloku. V takovém případě se po zaplnění bloku záznamy ukládají na volná místa v následujících blocích nebo do přeplňovacího souboru (overflow file). Pro implementaci lze využít tzv. řídké soubory (sparse files): jedná se o soubor, jehož prázdné bloky nejsou na médiu alokovány. Fyzicky takový soubor zabírá na médiu méně místa než je jeho skutečná velikost.
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
13/14
25.1.2014
IOSYS_2013: Soubory a souborové systémy
Řídký soubor
11.7 Opakování 1. 2. 3. 4. 5. 6. 7. 8. 9.
Popište obecnou strukturu souborového systému. Definujte pojmy cesta, pracovní adresář, kořenový adresář. Definujte pojem metadata. Jmenujte možná oprávnění na souborovém systému. Uveďte netriviální konkrétní příklad implementace práv na zvoleném souborovém systému. Jmenujte některé atributy souborů na vybraných souborových systémech. Popište metody alokace prostoru na médiu pro soubory. Popište metody zachování konzistence souborových systémů. Popište architekturu správy souborů. Definujte řídký soubor.
Naposledy změněno: Pondělí, 7. říjen 2013, 15.43
http://fei-learn.upceucebny.cz/mod/page/view.php?id=5286
14/14