Проблема, не нормально хотеть оставить ЦП неактивным, в то время как Вы должны проделать работу. Обычно Вы поставили фоновую задачу, чтобы БЕЗДЕЙСТВОВАТЬ приоритет и позволить ОС обработать планирование всего этого процессорное время, которое не используется интерактивными задачами.
Это звучит мне как проблема, сторожевой процесс.
, Если Ваша фоновая задача является зависящей от ЦП тогда, Вы хотите, чтобы она заняла все неиспользованное процессорное время для своей задачи.
, Возможно, необходимо ли посмотреть на фиксацию сторожевой программы?
Согласно Википедии , это Гибридное ядро . То, что может быть, а может и не быть, просто маркетингом, говорит о том же, что и монолитный. Графика на последней странице действительно проясняет некоторые вещи.
Самое главное, что почти ни одна программа в Windows не использует напрямую API ядра. И вся подсистема Windows API находится в пользовательском пространстве, которое, как мы видим, составляет довольно большую часть ОС. А в более поздних версиях Microsoft начала вытягивать все больше и больше драйверов устройств из пространства ядра в пространство пользователя (что особенно хорошо для некоторых драйверов, например для видеокарт, которые, вероятно, столь же сложны, как и сама операционная система).
Ветвь Windows NT имеет гибридное ядро. Это ни монолитное ядро, где все службы работают в режиме ядра, ни микро-ядро, где все работает в пользовательском пространстве. Это обеспечивает баланс между защитой, получаемой от микроядра, и производительностью, которую можно увидеть в монолитном ядре (поскольку здесь меньше переключателей контекста пользовательского режима / режима ядра).
Например, драйверы устройств и уровень аппаратной абстракции работают в узле ядра, но служба рабочей станции работает в пользовательском режиме. В статье в Википедии о гибридных ядрах есть хороший обзор.
В книге Windows Internals дается объяснение гибридного подхода
... Мах из Университета Карнеги-Меллона операционная система, современная пример архитектуры микроядра, реализует минимальное ядро, которое включает планирование потоков, сообщение передача, виртуальная память и устройство драйверы. Все остальное, в том числе различные API, файловые системы и сеть, работает в пользовательском режиме. Однако коммерческие реализации операционная система микроядра Mach обычно запускают по крайней мере всю файловую систему, сеть и управление памятью код в режиме ядра. Причина в том просто: чистый дизайн микроядра коммерчески непрактично, потому что это слишком неэффективно.