GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué Linux necesita tener `/dev/cdrom` y `/media/cdrom`?

/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.


Linux
  1. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  2. Linux – ¿Por qué `/dev/ptmx` y `/dev/pts/ptmx` no son archivos de dispositivo?

  3. ¿La salida del comando `tty` y el archivo `/dev/tty` se refieren ambos a la terminal de control del proceso Bash actual?

  4. ¿Qué son los archivos /dev/zero y /dev/null en Linux?

  5. ¿Por qué necesitamos un gestor de arranque en un dispositivo integrado?

¿Qué es un servidor Linux y por qué su negocio necesita uno?

Comando de archivo de Linux:qué hace y cómo usarlo

¿Cómo dividir una partición monolítica en dos, una para `/` y otra para `/home`?

¿Cómo diferencia Linux entre archivos reales e inexistentes (p. ej.:dispositivo)?

¿Por qué en algunos sistemas Linux, el sistema de archivos raíz aparece como /dev/root en lugar de /dev/<nodo de dispositivo real> en mtab?

¿Por qué hay `/lib` y `/lib64` pero solo `/bin`?