2016-08-18 11 views
2

Как я понимаю, в большинстве операционных систем есть два привилегированных кольца: режим ядра и пользовательский режим. Может ли разработчик операционной системы создавать дополнительные кольца привилегий, такие как режим промежуточного программного обеспечения или режим модуля ядра?Создание дополнительных привилегированных колец

ответ

0

Это зависит от архитектуры процессора. IA-32 (и AMD64 тоже) фактически поддерживают четыре уровня привилегий (кольца) - кольцо 3 (usermode) и кольцо 0 (kernelmode). Вы можете выполнять код на других кольцах (1 или 2), управляя таблицей глобального/локального дескриптора (GDT/LDT).

IMHO, гипервизоры используют преимущества других уровней звонка по соображениям производительности (ядро виртуальной машины выполняется на кольце 1 вместо 0, а только привилегированные команды, которые могут выполняться только на кольце 0, - emuleated).

+0

Я спросил о создании большего количества привилегий с помощью программного обеспечения. – Melab

+0

Это зависит от того, какие привилегии вы хотите ограничить таким созданным программным обеспечением кольцом. Термины «режим промежуточного программного обеспечения» или «режим модуля ядра» недостаточно ясны. Я считаю, что уровни 1 и 2 уровня были предназначены для таких сценариев, но не используются по причинам производительности. Вы определенно можете использовать аппаратную виртуализацию, чтобы «создать» свой собственный «уровень звонка» (например, запретить определенные привилегированные инструкции). –

 Смежные вопросы

  • Нет связанных вопросов^_^