GNU/Linux >> Znalost Linux >  >> Linux

Co jsou speciální znaky a speciální soubory bloků v systému Unix?

Tato otázka zde již obsahuje odpovědi :Jak fungují znakové zařízení nebo speciální soubory znaků?

(5 odpovědí)
Uzavřeno před 2 lety.

Jak se liší speciální soubory znaků a speciální soubory bloků od běžných souborů v systému podobném Unixu? Proč se jim říká „character special“ a „block special“?

Přijatá odpověď:

Když program čte nebo zapisuje data ze souboru, požadavky jdou do ovladače jádra. Pokud je soubor běžným souborem, data jsou zpracována ovladačem souborového systému a jsou obvykle uložena v zónách na disku nebo jiném úložném médiu a data, která se načítají ze souboru, jsou data, která byla na toto místo dříve zapsána. Existují další typy souborů, u kterých se dějí různé věci.

Při čtení nebo zápisu dat do souboru zařízení je požadavek zpracován ovladačem pro toto zařízení. Každý soubor zařízení má přiřazené číslo, které identifikuje ovladač, který se má použít. Co zařízení s daty dělá, je jeho vlastní věc.

Bloková zařízení (také nazývaná blokové speciální soubory) se obvykle chovají hodně jako běžné soubory:jsou to pole bajtů a hodnota, která je načtena na daném místě, je hodnota, která tam byla naposledy zapsána. Data z blokového zařízení lze ukládat do mezipaměti a zpětně číst z mezipaměti; zápisy lze ukládat do vyrovnávací paměti. Bloková zařízení jsou normálně vyhledatelná (tj. existuje pojem pozice uvnitř souboru, kterou může aplikace změnit). Název „blokové zařízení“ pochází ze skutečnosti, že odpovídající hardware obvykle čte a zapisuje celý blok najednou (např. sektor na pevném disku).

Znaková zařízení (také nazývaná znakové speciální soubory) se chovají jako roury, sériové porty atd. Zápis nebo čtení do nich je okamžitá akce. Co řidič s daty udělá, je jeho věc. Zápis bajtu do znakového zařízení může způsobit jeho zobrazení na obrazovce, výstup na sériový port, převedení na zvuk, … Čtení bajtu ze zařízení může způsobit, že sériový port čeká na vstup, může vrátit náhodný bajt ( /dev/urandom ), … Název „znakové zařízení“ pochází ze skutečnosti, že s každým znakem se zachází individuálně.

Další informace najdete na Wikipedii a porozumění /dev a jeho podadresářům a souborům.

Související:Linux – Sloučit podle data více souborů protokolu, které také obsahují nedatované řádky (např. trasování zásobníku)?
Linux
  1. Co jsou soubory .run?

  2. Co jsou řídké soubory v Linuxu

  3. rozdíl mezi souborem zařízení a ovladačem zařízení

  1. Jaké jsou rozdíly mezi lsof a netstat na linuxu?

  2. Jaký je účel souborů /etc/shadow a shadow cache v operačním systému Linux?

  3. Co je to linuxový kontejner a linuxový hypervizor?

  1. Jak zjistit, kdo je přihlášen ve vašem systému a co dělá

  2. Jaká jsou nativní volání OS/systému Windows a Linuxu prováděná z malloc()?

  3. Co je vdso a vsyscall?