-1

Концепция привилегированного кольца реализована компанией Intel в ее оборудовании.

В руководстве для разработчиков Intel содержится около 15 инструкций, для выполнения которых необходимо обязательно вызвать 0.

В OS-книгах и других ресурсах вы можете прочитать, что большая часть кода ядра выполняется на кольце 0. Но трудно понять, что большая часть кода ядра состоит из этих 15 инструкций.

Означает ли это, что операционная система реализует свои собственные виртуальные защитные кольца? (например, вы можете рассматривать управление виртуальной памятью как компонент этого) Или, что более важно, что запускает регистр RPL в 0?

надеюсь, что вы можете понять и в конечном итоге помочь,

Спасибо заранее

2 ответа2

2

Операционные системы обычно используют программные прерывания для реализации системы, называемой syscall и sysret(urn). Таблица дескрипторов прерываний может быть установлена, если этот обработчик будет повышен до уровня 0. Так реализуется понятие "пространство ядра" и "пространство пользователя".

x86 также имеет более гибкую концепцию, называемую вызовами. Они работают путем вызова функции, за исключением того, что как часть этого вызова глобальная или локальная таблица дескрипторов может изменить кольцо, называемое удаленным вызовом. Большинство современных ОС не используют их для совместимости.

1

Но трудно понять, что большая часть кода ядра состоит из этих 15 инструкций.

Это не так. Кольцо 0 имеет полный доступ к тем же инструкциям, что и кольцо 3.

На самом деле это означает, что кольцо 0 может использовать на 15 инструкций больше, чем кольцо 3.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .