#15
|
|||
|
|||
Реальное время в Linux
Eugene Muzychenko написал(а) к Alexey Vissarionov в Nov 20 10:13:25 по местному времени:
Привет! 28 Nov 20 22:30, you wrote to me: AV> А вот в этих ваших интернетах пишут, что %windir/system32/ntoskrnl.exe AV> работает в ring0, всякие драйверы в ring1, системные процессы в ring2, AV> а пользовательские процессы в ring3... Неужели врут? Про системы до десятки - однозначно врут, не читай те интернеты. Я, как бы, двадцать лет пишу под ядро NT, так что немного знаю, что и как там работает. :) AV> Гипервизор есть в любом уважающем себя ядре. И не сбоку, а в основе AV> защиты памяти. Ну так эти гипервизоры, что виндовый, что линуксовый, работают на так называемом "ring -1" за счет дополнительной аппаратной виртуализации. Но линуксовый, насколько я знаю, не занимается контролем доступа в ядро, а лишь помогает его виртуализовать для виртуальных машин. EM>> Форточка загружает драйверы точно так же. AV> Насколько я пони мяу, именно поэтому они и работают в ring1. Они всегда работают в ring 0, как и все ядро, кроме гипервизора (а до десяток - и вообще все). AV> Ядро само из него читает унифицированные структуры - он же в его AV> адресном пространстве находится. Посмотри макросы module_init() и AV> module_exit() Я там вижу, что само (без явного указания от модуля) ядро ничего из модуля не читает. В module_init передается адрес функции, которая вызывается для инициализации модуля. Обычно она регистрирует драйвер в системе - в ходе этого передаются и структуры. Но может и тупо завершиться - тогда, насколько я понимаю, модуль просто останется в АП ядра, но никто к нему обратиться не сможет. EM>> Но вопрос-то остается: что плохого в наличии у ОС гарантированной EM>> скорости реакции на события? AV> Что плохого в КПД 100% ? :-) Не понял. :) КПД 100%, судя по всему, недостижим в силу объективных свойств мира. А гарантированная скорость реакции вполне достижима, и на современном железе это отнюдь не миллисекунды, а максимум десятки микросекунд. Всего доброго! Евгений Музыченко eu-gene@muzy-chen-ko.net (все дефисы убрать) --- GoldED+/W32-MSVC 1.1.5-b20170303 |