Estoy leyendo "controladores de dispositivo Linux, 3ª edición", y encontré algo que no puedo entender.¿Cómo es que dos dispositivos comparten el mismo número de dispositivo mayor-menor?
en el capítulo 3.2, el autor dijo:
Tradicionalmente, el mayor número identifica el controlador asociado con el dispositivo. El kernel usa el número menor para determinar exactamente a qué dispositivo se hace referencia.
Entonces intentado "ls -l/dev" para echar un vistazo, me encontré con algo inusual:
brw-rw---- 1 root disk 1, 1 2011-08-23 23:52 ram1
brw-rw---- 1 root disk 1, 2 2011-08-23 23:52 ram2
brw-rw---- 1 root disk 1, 3 2011-08-23 23:52 ram3
brw-rw---- 1 root disk 1, 4 2011-08-23 23:52 ram4
brw-rw---- 1 root disk 1, 5 2011-08-23 23:52 ram5
...
crw-r----- 1 root kmem 1, 1 2011-08-23 23:52 mem
crw-r----- 1 root kmem 1, 4 2011-08-23 23:52 port
crw-rw-rw- 1 root root 1, 3 2011-08-23 23:52 null
crw-rw-rw- 1 root root 1, 5 2011-08-23 23:52 zero
Estos dispositivos (ram1-ram5) tienen un clon, con el mismo gran -minor, pero diferente nombre y tipo. Pensé que el autor decía "número principal significa clase de dispositivo, y número menor significa índice de dispositivo. Por lo tanto, Major-Minor identifica un dispositivo único."
Ahora estoy confundido. ¿Cómo es que dos dispositivos podrían compartir el mismo menor de edad? ¿Cuáles son exactamente los números de los dispositivos?
Corrígeme si me equivoqué .. Gracias de antemano.
por lo que son archivos totalmente diferentes que asocian diferentes dispositivos? También encontré esto en LDD3: "** Los kernels modernos de Linux permiten que varios controladores compartan números mayores, pero la mayoría de los dispositivos que verá todavía están organizados según el principio de uno-mayor-uno-controlador. **": si es así, ¿Cómo puede el núcleo elegir el controlador correcto para el dispositivo? – kumo
@Shello, primero, esto está desactualizado, la asignación dinámica es mucho más común en estos días. En segundo lugar, es más exacto decir, one-major-and-type-pair-one-driver (es decir, puede considerar que el tipo es parte de la especialización) – bdonlan