¿Por qué el modo de configuración del núcleo, en lugar de la separación de privilegios?

12

La configuración del modo del núcleo fue un poco dolorosa al principio en Linux, pero ahora es bastante impresionante tenerla. Quiero decir, ¿X no necesita ejecutarse como root? ¿Consolas aceleradas de hardware de alta resolución? Cosas interesantes.

El problema es que muchas plataformas UNIX no tienen controladores de kernel de configuración de modo de ningún tipo. Por lo tanto, el hardware que depende de KMS ahora se limita principalmente a Linux.

Mi pregunta: ¿por qué implementar esto en el núcleo?

Si se necesita acceso al hardware para establecer la resolución de la pantalla, ¿por qué no usar un demonio privilegiado separado o un pequeño binario setuid? Eso mantendría la ventaja de separar el código privilegiado y permitir que el servidor de visualización se ejecute como usuario limitado; mientras elimina el requisito de controlador especial y facilita el soporte cruzado de UNIX. ¿Derecho? ¿O me estoy perdiendo algo significativo aquí?

DanL4096
fuente
Esa es la idea detrás de las arquitecturas de microkernel OS.
Barmar
En este caso, no estoy pensando en el modelo de tipo microkernel, sino solo en la portabilidad entre núcleos dispares.
DanL4096
1
KMS también está siendo utilizado por OpenBSD y FreeBSD, y Solaris también tiene KMS en proceso. De esta manera, cuando los desarrolladores crean un controlador que funcione para Linux, el soporte del controlador también fluirá a otros que usan KMS.
hspaans
1
Es una cosa arquitectónica. El acceso al hardware es una, si no LA, tarea de un núcleo. Dividir el trabajo entre el núcleo y el espacio de usuario es incómodo, ya que necesitará dos componentes que realmente solo hacen un trabajo con una interfaz borrosa. En última instancia, realizará el trabajo dentro del dominio del kernel, por lo tanto, existe un fuerte argumento para poner todo en el kernel. Por supuesto, puede implementarlo sin embargo y donde lo desee. Las plataformas robustas tienen que ver con arquitecturas e interfaces claramente definidas (!). Todo es wibbly tambaleante.
Bananguin
1
Hubo un período bastante largo en el que varios tipos de bloqueos dejarían la consola en un modo extraño en el que X ya no funcionaba, pero el acceso al cono de estilo TTY en realidad no se restableció. Los problemas de aceleración IIRC GL y los bloqueos solían provocar esta situación con bastante frecuencia. KMS significa que el núcleo sabe cómo solucionar el problema y restaurar el estado de la consola. IOW en parte una mejora de usabilidad. Si bien uno podría argumentar que el núcleo podría pedirle a un demonio del espacio de usuario que haga esto, supongo que eso no siempre funciona bien. También ponerlo en el núcleo significa que no hay dificultades de código cerrado.
James Youngman

Respuestas:

1

El kernel ya administra hardware de red, hardware de audio, ventiladores y otro hardware, por lo que tiene sentido que el hardware de gráficos también sea administrado por el kernel.

Alejandro
fuente