GNU/Linux >> Znalost Linux >  >> Linux

Proč Linux potřebuje mít `/dev/cdrom` i `/media/cdrom`?

/media/cdrom je konvence pro připojovací bod , zatímco /dev/cdrom je speciální zařízení, které lze namontovat na první.

Potřebujete obojí, protože slouží různým účelům:většina aplikací nečte přímo ze speciálního zařízení, ale může číst ze souborového systému (něco, co je připojeno)


(Děkuji za tolik odpovědí na mou otázku. Po chvíli hledání na webu se chci podělit o své vlastní porozumění.)

Podle zde:

V operačních systémech podobných Unixu je soubor zařízení nebo speciální soubor rozhraním pro ovladač zařízení který se objeví v systému souborů, jako by to byl obyčejný soubor.

Podle zde:

Příkaz mount slouží k připojení souborového systému nalezen na nějakém zařízení do velkého stromu souborů.

Takže si myslím, že zde existují 2 různé úrovně softwarové abstrakce:

  • /dev/cdrom je speciální soubor zařízení. Abstrahuje hardware CD-ROM jako blokové IO zařízení. Tuto abstrakci poskytuje ovladač zařízení.

  • /media/cdrom je přípojný bod pro souborový systém. Poskytuje tedy vyšší úroveň abstrakce hardwaru CD-ROM, tedy jako souborového systému. Například souborový systém ISO-9660. A tuto abstrakci poskytuje ovladač systému souborů.

Takže v podstatě 2 různá umístění souborů pro 2 různé úrovně abstrakce. A v různých scénářích můžeme potřebovat jiný. Myslím, že jiné operační systémy, jako je Windows, také poskytují tak odlišné možnosti, pouze Linux je sjednocuje do jedné hierarchie souborů.

(Myslím, že bych možná měl udělat nějaký experiment a napsat nějaký kód C na Linuxu, abych mohl komunikovat s oběma /dev/cdrom a /media/cdrom . A uvidíte, jak vše pokračuje.)

(Budu se neustále učit a zdokonalovat své chápání podle potřeby.)


Proč máme oba /dev/cdrom a /media/cdrom ?

Proč máme oba /dev/sda2 a /home ?

V podstatě /dev/cdrom je soubor . Když k němu přistupujete, přistupujete k jednotlivým bitům a bajtem na CD (pokud tam nějaký je). Zatímco /media/cdrom je složka . Když k němu přistupujete, přistupujete k souborům uložené na disku CD.

Podobně /dev/sda2 představuje nezpracovaný obsah druhého oddílu na prvním pevném disku. Do toho byste zapsali přímo, např. pokud byste chtěli oddíl naformátovat. (mkfs program doslova otevře /dev/sda2 nebo cokoliv jiného a zapíše na něj konkrétní bitové vzory.) Poté připojíte /dev/sda2 řekněme na /home a nyní máte přístup ke skutečným souborům . Jak přistupujete k souborům přes přípojný bod, ovladač souborového systému čte a zapisuje základní soubor zařízení.

Toto je prostě způsob, jakým Unix dělá věci.


Linux
  1. Proč potřebujeme bootloader ve vestavěném zařízení?

  2. Proč Linux uvádí jednotky NVMe jako /dev/nvme0 namísto /dev/sda?

  3. Proč Linux používá odkládací oddíl místo souboru?

  1. Linux:Rozdíl mezi /dev/console , /dev/tty a /dev/tty0

  2. Proč existují `/lib` a `/lib64`, ale pouze `/bin`?

  3. K čemu se používá `/dev/console`?

  1. Co je to linuxový server a proč jej vaše firma potřebuje?

  2. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  3. Linux – Proč Linux ukazuje více i méně paměti, než jsem fyzicky nainstaloval?