Perché impostare il kernel invece della separazione dei privilegi?


12

Inizialmente la modalità kernel era un po 'dolorosa per entrare su Linux, ma ora è davvero fantastico. Voglio dire, X non ha bisogno di funzionare come root? Console con accelerazione hardware ad alta risoluzione? Roba forte.

Il problema è che molte piattaforme UNIX non dispongono di driver kernel kernel di alcun tipo. Quindi l'hardware che si basa su KMS è ora per lo più limitato a Linux.

La mia domanda: perché implementarlo effettivamente nel kernel?

Se è necessario l'accesso all'hardware per impostare la risoluzione dello schermo, perché non utilizzare un demone privilegiato separato o un piccolo binario setuid? Ciò manterrebbe il vantaggio di separare il codice privilegiato e di far funzionare il server di visualizzazione come utente limitato; eliminando i requisiti speciali del driver e facilitando il supporto cross-UNIX. Giusto? O mi sto perdendo qualcosa di significativo qui?


Questa è l'idea alla base delle architetture del sistema operativo microkernel .
Barmar,

In questo caso non sto pensando al modello di microkernel, più semplicemente alla portabilità tra kernel diversi.
DanL4096,

1
KMS è anche usato da OpenBSD e FreeBSD, e Solaris ha anche KMS in lavorazione. In questo modo, quando gli sviluppatori creano un driver funzionante per Linux, il supporto del driver passerà anche ad altri che usano KMS.
hspaans,

1
È una cosa architettonica. L'accesso all'hardware è uno, se non IL, compito di un kernel. Dividere il lavoro tra kernel e spazio utente è imbarazzante, perché avrai bisogno di due componenti che in realtà fanno solo un lavoro con un'interfaccia sfocata. Alla fine eseguirai un lavoro all'interno del dominio del kernel, quindi c'è un valido motivo per mettere tutto nel kernel. Ovviamente puoi implementarlo comunque e dove vuoi. Le piattaforme robuste riguardano architetture e interfacce chiaramente (!) Definite. È tutto traballante.
Bananguin,

1
C'è stato un periodo piuttosto lungo in cui vari tipi di crash lasciavano la console in una strana modalità in cui X non funzionava più, ma l'accesso conole in stile TTY non è stato effettivamente ripristinato. I problemi di accelerazione e gli arresti anomali di IIRC GL erano soliti provocare questa situazione abbastanza spesso. KMS significa che il kernel sa come risolvere il problema e ripristinare lo stato della console. IOW in parte un miglioramento dell'usabilità. Mentre si potrebbe sostenere che il kernel potrebbe chiedere a un demone dello spazio utente di farlo, suppongo che potrebbe non funzionare sempre bene. Inoltre, inserirlo nel kernel non comporta difficoltà di origine chiusa.
James Youngman

Risposte:


1

Il kernel gestisce già hardware di rete, hardware audio, ventole e altro hardware, quindi ha senso che anche l'hardware grafico sia gestito dal kernel.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.