Nahoru
 

K čemu jsou systémy souborů

Každý uživatel počítače pravidelně využívá možnosti vytváření, kopírování, či mazání souborů i složek. Svým způsobem jde o jednu z nejpodstatnějších funkcí operačních systémů. Některá zařízení, jako například flash-disk, musí umět strukturu souborů a složek předložit různým zařízením, což nemusí být vždy jednoduché. O tyto úkony se zpravidla stará tzv. systém souborů.

Základy ukládání dat

Abychom pochopili, jak systémy souborů pracují, musíme začít od hardwaru, na který se fyzicky ukládají data. Vezměme si například Hard Disk Drive (HDD – klasický pevný disk ve většině PC). Samotný disk umí pouze číst a zapisovat po bajtech. Kdyby neexistovaly systémy souborů, neměli bychom přehled o tom, co vlastně čteme nebo zapisujeme. Pokud bychom chtěli například otevřít uloženou fotografii, bez systému souborů nemáme tušení, kde ji hledat (nebo co vlastně hledat, jak je fotka velká, v jaké složce se nachází atd.).

Představte si, jak by bez systémů souborů vypadala situace, kdybyste kamarádovi na disk překopírovali fotky z dovolené, aby je doma shlédl. Kromě disku byste mu také museli říci, že první bajt začíná na pozici 801280, že jedna fotografie je velká 4608 bajtů že je tam dohromady 50 fotografií. Kamarád si disk vezme, otevře nějaký program pro prohlížení fotografií, tam nastaví tyto parametry a až poté bude moci shlížet fotografie.

Takovým způsobem s daty samozřejmě nepracujeme. Téměř vždy máme k dispozici hierarchii složek a souborů pro snadnou navigaci. Mohlo by nás napadnout, že si operační systém mimo disk zmapuje, co a kde je uložené a podle toho nám ukáže soubory i složky. To by mohlo fungovat, avšak s jednou vadou. Daný disk bychom nemohli připojit k jinému zařízení, protože všechno mapování by zůstalo na starém zařízení.

V praxi se zmapování souborů a složek na disku vždy zapíše na disk samotný. Často ve formě nějaké tabulky do úložného prostoru (na samotný disku).

Ve skutečném světe se na disk nikdy fyzicky nezapisuje bajt po bajtu, ale po tzv. nejmenší adresovatelné jednotce, jíž se říká sektor. Sektor má často velikost 512B.

Systém souborů

Systém souborů zajišťuje známé operace se soubory a složkami. Snad všechny používané systémy souborů pracují tak, že si na disk zmapují prostor celého disku. Na zmapovaném disku máme přehled o struktuře souborů a složek. Strukturální informace jsou uchované v metadatech, tudíž není potřeba práce se samotnými daty našich souborů.

Z předchozího poznatku vyplívají dvě věci. Za prvé: režijní náklady pro systém souborů (zmapování) vždy zaberou část místa na disku, a tudíž je nám reálně k dispozici menší kapacita disku, než opravdová velikost. Druhou důležitou věcí je možnost přenositelnosti. Pevný disk můžeme bez problému připojit na jiný PC, který však musí znát daný systém souborů.

Zavedení námi jmenovaného zmapování na určité uložiště se často říká formátování. Když např. Ve Windows zformátujeme Flash paměť, můžeme si všimnout, že nám systém dá na výběr, jaký systém souborů na zařízení chceme.

Na systémy souborů se kladou vysoké nároky snad na všechny jeho vlastnosti. Ať už se jedná o efektivitu, velikost zmapování, funkcionalitu apod. Bohužel, nejde mít systém souborů, jež bude zároveň nejefektivnější a bude obsahovat nejvíc funkcionalit. Z tohoto důvodu se vždy hledá nějaký kompromis a různé systémy souborů najdou uplatnění na jiných místech.

Jeden z nejstarších a nejjednodušších systémů souborů se nazývá FAT (File Allocation Table). FAT, jak už z názvu napovídá, funguje na principu alokační tabulky, kterou zmapuje celý prostor uložiště. Soubory a složky jsou interně řetězeny do spojových seznamů. V dnešní době se již příliš nevyužívá, ale lze jej nalézt např. na některých SD kartách v mobilních telefonech.

Nejčastějšími systémy souborů, se kterými se dnes běžně setkáme jsou NTFS a Ext4. Oba systémy souborů jsou tzv. žurnálovací (jsou schopni do jisté míry opravovat soubory při náhlém vypnutí počítače) a disponují všemi možnými funkcionalitami jako je třeba indexování, které umožňuje rychlé vyhledávání souborů apod. NTFS najdeme na většině Windows zařízeních, Ext4 zase často vidíme na Linuxových počítačích, včetně Androidu. Mimo to existuje ještě další spousta jiných systémů souborů (UFS, ZFS, …), které najdou své uplatnění jinde.

Systémy souborů nám, běžným smrtelníkům, umožňují pracovat s pamětí pomocí souborů, složek, vyhledávání a dalších esenciálních funkcí, namísto zapisování a čtení z uložiště po bajtech. Jejich část se téměř vždy ukládá na samotné zařízení, pro zajištění přenositelnosti. Systémů souborů máme opravdu hodně a je jen na nás, který si na svou periferii vybereme.