Odkaz na periferie je v operačním systému UNIX realizován pomocí speciálních souborů, jejichž popis jsme z pohledu systému souborů uvedli již v odst. 3.3. Podle obr. 3.15 je také zřejmé, jakým způsobem je speciální soubor spojen s ovladačem v jádru. Principem obsluhy v/v (vstupně/výstupních, i/o input/output) zařízení jádrem a možnostmi, které má správce systému k dispozici, se budeme věnovat v této kapitole.
Při práci s periferií, a tedy se speciálním souborem, používá proces
volání jádra jako při práci s obyčejným souborem. Jde trochu o paradox,
protože disk je také periferie a přístup k ní znamená také aktivaci rutin
ovladače. Tehdy však proces neotevírá speciální soubor odpovídajícího svazku
disku, protože jádro systém souborů procesům zpřístupňuje na základě připojení
svazků voláním jádra mount, které
je privilegovaným procesem na jádru požadováno v průběhu startu operačního
systému. Jde o komfort práce se soubory a adresáři, který je popsán v kap.
3. Přesto i disky musí mít své speciální soubory a pokud má proces potřebná
přístupová práva, může s každým svazkem zacházet pomocí speciálního souboru
přímo. Doporučuje se přitom mít svazek odpojen (volání jádra umount
dříve připojený svazek odpojí). Proces v další práci musí znát strukturu
uložení dat na disku, tj. způsob implementace svazku. Přestože myšlenka
práce se sekcemi disků tímto způsobem se zdá netypická a nesnadná, musíme
si uvědomit, že takto musí postupovat všechny systémové procesy, které
svazky testují, případně v nich provádějí opravné zásahy (jedná se např.
o fsck nebo fsdb).
Správce systému také může používat sekci disku nikoliv za účelem připojitelného
svazku, ale např. jako zařízení pro sekvenční úschovu dat, např. při archivaci
pomocí programu tar nebo
cpio na místě archivního
zařízení (přenášet soubory na výměnných discích je dnes běžná praxe). Pak
proces řízený takovým programem přistupuje k diskové periferii jako k sekvenčnímu
znakovému souboru a nikoliv po blocích podle organizace dat odpovídajícího
typu svazku. Svazek je organizace dat vytvořená v sekci disku programem
mkfs a jádro tuto organizaci
přijímá, svými vnitřními algoritmy akceptuje a usnadňuje tak procesům (potažmo
uživatelům) snadnější práci. Jde tedy o vyšší vrstvu, která ale nemusí
být při práci s periferií využita.1 O paradoxu
jsme mluvili v tomto kontextu, protože pro přístup k periferiím musíme
mít nejprve viditelný adresář /dev
výchozího svazku operačního systému, který je implementován pomocí organizace
svazku.
Práce jádra se speciálním souborem periferie vychází z hlavního čísla
i-uzlu speciálního souboru a ...