Systém souborů v Unixu

Systém souborů v Unixu je tvořen hierarchickým uspořádáním souborů a adresářů (stromová struktura), jejímž kořenem je adresář root, který se označuje „/“.

Charakteristika

V Unixu je, oproti některým jiným systémům (např. MS Windows), jeden strom adresářů (na jehož vrcholu leží právě root - kořen). Kořen se připojuje při startu operačního systému (jádra). Další systémy souborů (filesystem) jsou připojeny do nějakého adresáře.

Vlastnosti systému souborů v UNIXu :

  • možnost vytvářet a mazat soubory
  • konzistentní přístup k datům v souboru
  • ochrana dat v souborech
  • kořenový systém souborů nelze odpojit

Rozdělení

Skoro vše v Unixu je soubor. V Unixu rozlišujeme tři základní skupiny souborů:

  • adresáře
  • soubory
  • speciální soubory

Adresáře

  • Domovský adresář (též domácí, angl. home directory) – uživatel by měl mít vlastní domovský adresář. Po přihlášení do operačního systému je domovský adresář nastaven jako pracovní.
  • Pracovní adresář (angl. working directory) je ten, ve kterém momentálně uživatel pracuje.
  • Rodičovský adresář (angl. parent directory) je o úroveň výše ve vztahu s kterýmkoliv adresářem

Soubory

Obsahují vlastní data a programy, se kterými uživatel pracuje. Každému souboru přísluší tyto atributy:

  • jméno
  • velikost v bytech
  • číslo I-uzlu (angl. I-node number)
  • přístupová práva
  • majitel a skupina
  • datum poslední změny, datum posledního přístupu

Speciální soubory

  • reprezentují I/O zařízení
  • jsou soustředěny v adresáři /dev
  • soubory znakových zařízení – čtou a zapisují po jednom znaku (sériový a paralelní port, USB, terminál)
  • soubory blokových zařízení – čtou a zapisují celý blok dat najednou (disk, disketa, CD, DVD)
  • další speciální soubory: socket (přímá dvousměrná komunikace mezi programy) a roura (trubka, angl. pipe, jednosměrná komunikace)

Názvy souborů a adresářů

Při tvorbě názvů souborů a adresářů v Unixu je jediný zakázaný znak „/“ (které odděluje adresáře). Odlišují se zde velká a malá písmena. Názvy nemají strukturu – znak . (tečka) je stejný jako ostatní. Přípony se používají dle dohody, vůbec nebo násobné. Název „.“ označuje aktuální, „..“ nadřazený adresář a „~“ domovský adresář přihlášeného uživatele. Názvy začínající tečkou označují skrytý soubor nebo adresář.

Příklady přípon v Unixu
.czdrojový kód Jazyce C
.txt(ASCII) text
.psPostskript (formát pro text i obrázky)

Žurnálování

V žurnálovém souborovém systému je přítomna speciální datová struktura (žurnál), do kterého se zapisují změny se soubory. Žurnálují se – metadata nebo metadata + data. Při změnách ve Filesystému je změna nejprve zapsána do žurnálu. Po provedení změny (data, metadata) je úspěch zapsán do žurnálu, poté je žurnál operace zrušen. Pokud dojde k neočekávané havárii je Filesystém opraven dle žurnálu.

Operační systém Linux má soubor s názvem EXT (Extended file systém).

  • ext, ext2, ext3 (v současnosti), ext4 (stabilní verze od r.2008)
Systém souborů v Ext3:
bootSUPERBLOKi-uzlydatové blokySUPERBLOK

Superblok

  • služební informace o svazku
  • velikost (skupiny)
  • příznak „čistoty“ (zda je odpojen korektně)
  • verze
  • počet i-nodu
  • velikost alokační jednotky

i-uzel (i-node)

Základní jednotka, která nese metadata o souboru (přístupová práva, počet odkazů – hard links, vlastník + skupina, délka)

Související články