Чому модерування ядра замість поділу привілеїв?


12

Моделювання ядра спочатку було болісно потрапляти на Linux, але зараз це досить приголомшливо. Я маю на увазі, X не потрібно запускати як root? Приставки з прискореним апаратним прискоренням? Класні речі.

Проблема в тому, що на багатьох платформах UNIX немає модеруючих драйверів ядра. Тож апаратне забезпечення, яке покладається на KMS, зараз здебільшого обмежено Linux.

Моє запитання: чому насправді реалізувати це в ядрі?

Якщо для встановлення роздільної здатності екрана потрібен апаратний доступ, чому б не використати окремий привілейований демон або невеликий встановлений бінарний файл? Це дозволило б зберегти перевагу відокремлення привілейованого коду та дозволити серверу дисплеїв працювати як обмежений користувач; позбавляючись від спеціальних вимог до драйверів та полегшуючи підтримку між UNIX. Правильно? Або я пропускаю щось значне тут?


В цьому ідея архітектури ОС Microkernel .
Бармар

У цьому випадку я не замислююсь про модель мікро-ядра, а просто про портативність між різними ядрами.
DanL4096

1
KMS також використовується OpenBSD та FreeBSD, а також Solaris також має KMS у своїх роботах. Таким чином, коли розробники роблять робочий драйвер для Linux, тоді підтримка драйверів також надходитиме до інших, які використовують KMS.
hspaans

1
Це архітектурна річ. Апаратний доступ - це одне, якщо не ТЕ, то завдання ядра. Розбиття роботи між ядром та простором користувача незручно, тому що вам знадобляться два компоненти, які фактично виконують лише одну роботу з розмитим інтерфейсом. Зрештою, ви будете виконувати роботу в домені ядра, тому є вагомий випадок, щоб все це було розміщено в ядрі. Звичайно, ви можете реалізовувати це все, де завгодно. Надійна платформа стосується чітко (!) Визначених архітектур та інтерфейсів. Це все хитко коливається.
Bananguin

1
Був досить тривалий період, коли різного роду збої залишали консоль у дивному режимі, коли X більше не працював, але доступ до конолів у стилі TTY фактично не був відновлений. Проблеми та збої прискорення GL IIRC, які часто провокують цю ситуацію. KMS означає, що ядро ​​знає, як усунути проблему та відновити стан консолі. IOW частково покращив зручність використання. Хоча можна стверджувати, що ядро ​​може попросити демона простору користувача зробити це, я думаю, це може не завжди працювати добре. Також помістити його в ядро ​​означає відсутність труднощів із закритим кодом.
Джеймс Янгмен

Відповіді:


1

Ядро вже управляє мережевим обладнанням, звуковим обладнанням, вентиляторами та іншим обладнанням, тому має сенс, що графічне обладнання також управляється ядром.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.