Diferencia entre / dev y / sys

19

¿Cuál es exactamente la diferencia entre devfs y sysfs ? Ambos parecen mantener una lista de hardwares conectados al sistema . Entonces, ¿por qué surgió la necesidad de 2 fs separadas? Por lo que puedo obtener / sys mantiene una lista de dispositivos algo "en bruto" (como "ser0"). Udev actúa en esos dispositivos, obtiene información variada y aplica varias reglas para presentarlos como nombres reconocibles que luego se asignan a / dev (como "cámara"). ¿Es esta la única razón? Y luego montamos los dispositivos correspondientes desde / dev fs (no podemos hacerlo desde / sys fs) en / media fs.

¿He leído la respuesta en Diferencia entre / dev y / sys / class? . Pero no puedo obtener la parte del sistema donde dice que

Sysfs contiene la jerarquía de dispositivos, ya que están conectados a la computadora

¿Los archivos en / sys no son archivos de nodo de dispositivo? Entonces, ¿qué tipo de archivos son?

sounak
fuente
1
Posible duplicado de ¿Cuál es la diferencia entre procfs y sysfs?
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
No creo que esto sea un duplicado. Las respuestas a ambas preguntas se ven sysfsdesde diferentes perspectivas y ninguna de las respuestas a la otra pregunta explica cómo se /devrelaciona el directorio sysfs.
Anthony G - justicia para Mónica

Respuestas:

27

El /syssistema de archivos (sysfs) contiene archivos que proporcionan información sobre dispositivos: si está encendido, el nombre y modelo del proveedor, en qué bus está conectado el dispositivo, etc. Es de interés para las aplicaciones que administran dispositivos.

El /devsistema de archivos contiene archivos que permiten que los programas accedan a los propios dispositivos: escribir datos en un puerto serie, leer un disco duro, etc. Es de interés para las aplicaciones que acceden a los dispositivos.

Una metáfora es que /sysproporciona acceso al embalaje, mientras que /devproporciona acceso al contenido de la caja.

Los archivos /sysno son nodos de dispositivo, sino enlaces simbólicos y archivos normales. Esos archivos regulares son especiales porque leerlos o escribirles invoca funciones específicas del archivo en el núcleo, como los nodos de dispositivos. La diferencia es que los archivos /sysfuncionan de esta manera debido al sistema de archivos en el que se encuentran, mientras que los nodos de dispositivos funcionan de esta manera debido a las características de sus nodos de dispositivos (el tipo de archivo indica un dispositivo (bloque o carácter) y el número de dispositivo mayor y menor que indica de qué dispositivo es).

La razón de /devexistir independientemente /syses parcialmente histórica: /devse remonta a los albores de Unix, mientras que /syses una invención mucho más reciente. Si Linux fue diseñado hoy sin antecedentes históricos, /dev/sdapodría serlo /sys/block/sda/content.

Gilles 'SO- deja de ser malvado'
fuente
3
Ver también: man hier.
HalosGhost