Pourquoi la mise en mode du noyau, au lieu de la séparation des privilèges?

12

Le réglage du mode du noyau était un peu difficile à obtenir sur Linux au début, mais maintenant c'est assez génial. Je veux dire, X pas besoin de s'exécuter en tant que root? Consoles accélérées matérielles haute résolution? Truc cool.

Le problème est que de nombreuses plates-formes UNIX ne disposent d'aucune sorte de pilotes de noyau de définition de mode. Ainsi, le matériel qui repose sur KMS est désormais principalement limité à Linux.

Ma question: pourquoi implémenter cela dans le noyau?

Si un accès matériel est nécessaire pour définir la résolution d'écran, pourquoi ne pas utiliser un démon privilégié séparé ou un petit binaire setuid? Cela conserverait l'avantage de séparer le code privilégié et de laisser le serveur d'affichage fonctionner en tant qu'utilisateur limité; tout en supprimant l'exigence de pilote spécial et en facilitant la prise en charge inter-UNIX. Droite? Ou est-ce que je manque quelque chose d'important ici?

DanL4096
la source
C'est l'idée derrière les architectures de micro-noyau OS.
Barmar
Dans ce cas, je ne pense pas au modèle de type micro-noyau, mais plus simplement à la portabilité entre des noyaux disparates.
DanL4096
1
KMS est également utilisé par OpenBSD et FreeBSD, et Solaris a également KMS en préparation. De cette façon, lorsque les développeurs créent un pilote fonctionnel pour Linux, la prise en charge du pilote est également transmise aux autres utilisateurs de KMS.
hspaans
1
C'est une chose architecturale. L'accès au matériel est une tâche, sinon LA, d'un noyau. Il est difficile de répartir le travail entre le noyau et l'espace utilisateur, car vous aurez besoin de deux composants qui ne font en fait qu'un seul travail avec une interface floue. En fin de compte, vous effectuerez un travail dans le domaine du noyau, il y a donc de bonnes raisons de mettre le tout dans le noyau. Bien sûr, vous pouvez l'implémenter comme bon vous semble et où vous le souhaitez. Les plates-formes robustes reposent sur des architectures et des interfaces clairement définies! Tout est bancal et vacillant.
Bananguin
1
Il y a eu une assez longue période pendant laquelle divers types de plantages laissaient la console dans un mode étrange où X ne fonctionnait plus, mais l'accès à la console de style TTY n'était pas réellement restauré. Les problèmes d'accélération GL de l'IIRC et les accidents provoquaient souvent cette situation. KMS signifie que le noyau sait comment résoudre le problème et restaurer l'état de la console. IOW en partie une amélioration de l'utilisabilité. Bien que l'on puisse dire que le noyau pourrait demander à un démon de l'espace utilisateur de le faire, je suppose que cela ne fonctionnerait pas toujours bien. Le mettre également dans le noyau ne signifie aucune difficulté de source fermée.
James Youngman

Réponses:

1

Le noyau gère déjà le matériel réseau, le matériel audio, les ventilateurs et tout autre matériel, il est donc logique que le matériel graphique soit également géré par le noyau.

Alexandre
la source