/media/cdrom
es una convención para el punto de montaje , mientras que /dev/cdrom
es el dispositivo especial que podría montarse en el primero.
Necesita ambos, porque sirven para diferentes propósitos:la mayoría de las aplicaciones no leen directamente desde el dispositivo especial, pero pueden leer desde un sistema de archivos (algo que está montado)
(Gracias por tantas respuestas a mi pregunta. Después de buscar en la web por un tiempo, quiero compartir mi propio entendimiento).
Según aquí:
En los sistemas operativos similares a Unix, un archivo de dispositivo o un archivo especial es una interfaz para un controlador de dispositivo. que aparece en un sistema de archivos como si fuera un archivo ordinario.
Según aquí:
El comando de montaje sirve para adjuntar el sistema de archivos encontrado en algún dispositivo al árbol de archivos grande.
Entonces, creo que hay 2 niveles diferentes de abstracción de software aquí:
-
/dev/cdrom
es un archivo especial de dispositivo. Abstrae el hardware de CD-ROM como un dispositivo IO de bloque. Esta abstracción la proporciona el controlador del dispositivo. -
/media/cdrom
es un punto de montaje para un sistema de archivos. Por lo tanto, proporciona un mayor nivel de abstracción del hardware de CD-ROM, es decir, como un sistema de archivos. Como el sistema de archivos ISO-9660. Y esta abstracción la proporciona el controlador del sistema de archivos.
Básicamente, 2 ubicaciones de archivos diferentes para 2 niveles diferentes de abstracción. Y en diferentes escenarios, podemos necesitar uno diferente. Creo que otros sistemas operativos, como Windows, también brindan opciones tan diferentes, solo que Linux las unifica en una sola jerarquía de archivos.
(Supongo que tal vez debería hacer algún experimento escribiendo código C en Linux para interactuar con ambos /dev/cdrom
y /media/cdrom
. Y mira cómo sigue todo.)
(Seguiré aprendiendo y refinando mi comprensión según corresponda).
¿Por qué tenemos ambos /dev/cdrom
y /media/cdrom
?
¿Por qué tenemos ambos /dev/sda2
y /home
?
Básicamente, /dev/cdrom
es un archivo . Cuando accede a él, accede a los bits y bytes individuales del CD (si lo hay). Mientras que /media/cdrom
es una carpeta . Cuando accedes a él, estás accediendo a los archivos almacenado en el CD.
Del mismo modo, /dev/sda2
representa el contenido sin procesar de la segunda partición en el primer disco duro. Escribiría en esto directamente, por ejemplo, si quisiera formatear la partición. (El mkfs
el programa literalmente abre /dev/sda2
o lo que sea, y escribe patrones de bits particulares en él). Luego monta /dev/sda2
en, digamos, /home
, y ahora puede acceder a los archivos reales . A medida que accede a los archivos a través del punto de montaje, el controlador del sistema de archivos lee y escribe el archivo del dispositivo subyacente.
Así es como Unix hace las cosas.