2015-02-04 1 views
1

Чтение ОС из нескольких ресурсов осталось путать с режимом супервизора. Так, например, в Википедии:Вопросы о режиме супервизора

В режиме ядра, процессор может выполнять любую операцию, допускаемое его архитектуры ..................

В другие режимы ЦП, определенные ограничения на операции ЦП выполняются аппаратным обеспечением. Как правило, некоторые команды не допускаются (особенно те, в том числе операций ввода/вывода, которые могут изменить глобальное состояние машины), некоторые области памяти не могут быть доступны

Означает ли это, что инструкции, такие как LOAD и STORE запрещены? или это означает что-то еще?

Я прошу об этом, потому что на чистом RISC процессоре единственными инструкциями, которые должны обращаться к IO/памяти, являются LOAD и STORE. Таким образом, простая программа, которая оценивает некоторое арифметическое выражение, нуждается в режиме супервизора для чтения своих операндов.

Приносим извинения, если это расплывчато. Если возможно, можете ли кто-нибудь объяснить это примером?

ответ

0

Я вижу, что этот вопрос был задан несколько месяцев назад, и на это нужно было ответить долго.

Я попытаюсь установить несколько вещей прямо перед тем, как говорить о части ввода-вывода вашего вопроса.

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

В машинах RISC, НАГРУЗКА И МАГАЗИН, как правило, связаны с регистрами. Фактически, с точки зрения процессора, трафик в и из основной памяти на самом деле не считается операцией ввода-вывода. Передача данных между основной памятью и процессором происходит очень автоматически, благодаря предварительно запрограммированной таблице страниц (если только необходимые данные НЕ найдены в основной памяти, и в этом случае обычно она должна выполнять операции ввода-вывода). Очевидно, что ОС заранее программирует эту страницу таблицы и выполняет ее операции по хранению книг.

Операция ввода-вывода обычно относится к устройствам с другими внешними устройствами, доступными через контроллер прерываний. Всякий раз, когда операция ввода-вывода завершается, соответствующее устройство вызывает прерывание по отношению к процессору, и это заставляет ОС немедленно изменять уровень привилегий процессора соответствующим образом. Процессор, в свою очередь, обрабатывает запрос, вызванный прерыванием. Это прерывание - это программа, написанная разработчиками ОС, которая может содержать определенные привилегированные инструкции. Этот повышенный привилегированный уровень несколько раз упоминается как «режим ядра».