Концепция привилегированного кольца

292
benny d

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

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

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

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

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

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

-1
Вы подразумеваете неправильный путь. Это не «звонок 0 => одна из 15 инструкций», а скорее «одна из 15 инструкций => звонок 0». Он не делает никаких заявлений о других инструкциях. Daniel B 6 лет назад 1
@DanielB не думай, что это то, что пытается сказать аскер. Английский не кажется их родным языком. jdwolf 6 лет назад 0

2 ответа на вопрос

2
jdwolf

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

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

1
grawity

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

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

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

Похожие вопросы