Zařízení (soubor): Porovnání verzí

Smazaný obsah Přidaný obsah
Oprava odkazu na Diskový oddíl, přepis úvodní části
Znaková a bloková zařízení
Řádek 1:
'''Speciální soubor''' nebo '''soubor zařízení''' je speciální soubor (anglicky '''special file''' nebo '''device file'''), které je [[rozhraní]]m (interface) k [[ovladač zařízení|ovladač]]i zařízení, které se nachází v [[souborový systém|souborovém systému]], jako by to byl normální [[soubor]]. Myšlenka speciálních souborů umožňuje používat při práci se zařízeními stejné funkce jako pro práci se soubory, což zjednodušuje jejich ovládání.
 
Speciální soubor může představovat celé fyzické zařízení (např. [[tiskárna (počítačová)|tiskárnu]] nebo [[pevný disk|disk]]), část zařízení (např. [[diskový oddíl]] nebo jeden kanál [[zvuková karta|zvukové karty]]) nebo se může jednat o virtuální zařízení bez fyzického protějšku (např. [[generátor pseudonáhodných čísel]]).
 
== Unix (a Linux) ==
 
V [[Unix]]u (a, [[Linux]]u apod.)a i u jiných podobných operačních systémů existují dva typy speciálních souborů &ndash; '''znaková zařízení''' a '''bloková zařízení'''. Jejich rozlišení vyplývá z toho, jak daný kus hardware komunikuje s operačním systémem. Speciální soubory jsou soustředěny do adresáře <CODE>/dev</CODE>, ale v zásadě mohou být umístěné kdekoliv, protože operační systém je rozlišuje pomocí záznamu v metadatech souboru a ne podle jejich jména. Speciální soubory se vytvářejí příkazem <CODE>mknod</CODE> a rozlišuje je tzv. ''major'' a ''minor'' číslo zařízení, která jsou pevně stanovena.
 
=== Znaková zařízení ===
Znaková zařízení jsou taková, se kterými se komunikuje po znacích. Každým zápisem i čtením se přenáší jeden znak. Některá znaková zařízení mohou být pouze pro zápis nebo jen pro čtení, případně pro čtení i zápis. Typickým zástupcem je paralelní port (ke kterému je připojena [[tiskárna (počítačová)|tiskárna]]), sériový port (z připojené [[počítačová myš|počítačové myši]] se data pouze čtou), USB (s připojenou [[Flash paměť|flash pamětí]]) nebo teminál (zapsaný znak je vypsán na obrazovku a čtením získáváme znaky napsané na klávesnici).
Se znakovými zařízeními se komunikuje po znacích. Každý zápis jde přímo do ovladače a každé čtení přímo z ovladače po jednom znaku. Nejčastěji funguje jako roura: zapisovaná data tečou dovnitř a nemají žádnou souvislost s daty čtenými.
 
|+Základní=== Bloková zařízení ===
Typickými příklady je [[tiskárna (počítačová)|tiskárna]] nebo [[terminál (informatika)|terminál]].
Bloková zařízení jsou taková, které komunikují po blocích dat. Chceme-li přečíst nebo zapsat jediný bajt, musíme přečíst nebo zapsat celý blok. Typickým zástupcem je pevný disk, magnetická páska (blok je 512 bajtů), jednotka CD nebo DVD (blok je 2048 bajtů). Tyto zařízení jednotlivé bloky číslují a lze si vybrat, se kterým blokem se bude pracovat.
 
Hlavním rozdílem od znakových zařízení je [[buffer]]ování dat. Pro každé zařízení operační systém alokuje buffer, do kterého je při čtení přenesen ze zařízení celý blok dat. Čtení jednotlivých znaků uvnitř tohoto bloku pak probíhají již jen v rámci bufferu a k zařízení již není potřeba přistupovat. Při zápisu jsou změny nejdříve prováděny do bufferu a teprve až jsou změny kompletní, přenese operační systém celý blok do zařízení a blok je vymazán.
Znaková jsou také následující speciální virtuální zařízení:
* <tt>/dev/null</tt>: tzv. [[bit bucket]]. Do tohoto zařízení lze zapsat libovolně mnoho dat, které v něm nenávratně zmizí. Při čtení je prázdné. Používá se např. pro zahazování nechtěného výstupu programu.
* <tt>/dev/zero</tt>: Při zápisu se chová jako <tt>/dev/null</tt>, při čtení produkuje neomezené množství nulových bajtů.
* <tt>/dev/random</tt>: Toto zařízení vrací [[náhodná čísla|náhodná data]]. V Linuxu vrací obsah interního zásobníku [[entropie]].
 
=== Bloková Pseudo-zařízení ===
Bloková zařízení jsou taková, se kterými se komunikuje po blocích. Bloky mají určené pořadí a vytváří adresový prostor. Stejně jako u obyčejného [[soubor]]u lze tyto bloky číst i zapisovat v libovolném pořadí. Základním rozdílem mezi znakovým a blokovým zařízením je [[buffer]]ování dat u blokových zařízení.
 
Některá speciální zařízení nemusí být skutečným harwarovým zařízením. Jsou to virtuální zařízení, která je také výhodné prezentovat pomocí speciálních souborů:
Typickými příklady je [[diskový oddíl]] nebo [[elektronická paměť|paměť]].
 
* <CODE>/dev/null</CODE>
== MS-DOS ==
** lze do něj zapsat libovolně mnoho dat, které v něm nenávratně zmizí
** při čtení je prázdné
** používá se například pro zahazování nepotřebného výstupu programu
* <CODE>/dev/zero</CODE>
** při zápisu se chová jako <CODE>/dev/null</CODE>
* <tt>/dev/zero</tt>: Při zápisu se chová jako <tt>/dev/null</tt>,* při čtení produkuje neomezené množství nulových bajtů.
* <CODE>/dev/random</CODE>
** při čtení vrací [[náhodná čísla]]
** zápis se nepoužívá
** v Linuxu vrací obsah interního zásobníku [[entropie]]
 
== MS-DOS ==
PrvníOperační verzesystém [[MS DOS|MS-DOSu]] převzal myšlenku speciálních souborů od Unixu, ale přejmenoval je na '''soubor zařízení'''. Protože první verze DOSu neměly vůbecimplementovány [[adresář]]e., Protobyla bylyspeciální zařízení implementovánadefinována jako rezervovaná slova, které nebylo nikde možné použít jako jména klasických souborů ani adresářů (ani s odlišnou příponou). Kvůli zpětné kompatibilitě platí toto platíomezení i v aktuálních verzích [[Microsoft Windows|Windows]] a nelze proto vytvořit obyčejný soubor se jménem jako zařízení přítomné v systému (a to ani s příponou).
 
DOS sice obsahuje bloková i znaková zařízení, ale pouze znaková zařízení jsou soubory. Bloková zařízení dostávají místo toho pořadové písmeno disku.
 
V následující tabulce jsou uvedeny některé '''soubory zařízení'''. Jejich názvy byly zvoleny podle parametrů speciálních souborů v příkazu [http://en.wikipedia.org/wiki/Peripheral_Interchange_Program PIP] v operačním systému [[CP/M]].
 
{| class="wikitable" cellpadding=4
|+Základní zařízení
!Jméno
!Účel
Řádek 40 ⟶ 51:
| Pomocné zařízení (zpravidla sériový port)
|-
| <tt>COM0 COM1 COM2 COM3 COM4 PRN</tt>
| [[Sériový port|Sériové porty]]
|-
Řádek 52 ⟶ 63:
| Virtuální zařízení ovladače [[EMS]]
|}
 
DOS sice obsahuje bloková i znaková zařízení, ale pouze znaková zařízení jsou soubory. Bloková zařízení dostávají místo toho pořadové písmeno disku.
 
[[Kategorie:Počítače]]