Режимы ЦП - CPU modes - Wikipedia
Эта статья нужны дополнительные цитаты для проверка.Ноябрь 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Режимы ЦП (также называемый режимы процессора, Состояния процессора, Уровни привилегий ЦП и другие названия) - это режимы работы центральное процессорное устройство некоторых компьютерные архитектуры которые накладывают ограничения на тип и объем операций, которые могут выполняться определенными процессы выполняется ЦП. Такая конструкция позволяет Операционная система работать с большим количеством привилегий, чем программное обеспечение.
В идеале только очень надежные ядро код может выполняться в неограниченном режиме; все остальное (включая неконтролирующие части операционной системы) работает в ограниченном режиме и должно использовать системный вызов (через прерывать ), чтобы запросить ядро выполнить от его имени любую операцию, которая может повредить или поставить под угрозу систему, что делает невозможным изменение или повреждение других программ (или самой вычислительной системы) ненадежными программами.
На практике, однако, системные вызовы требуют времени и могут снизить производительность вычислительной системы, поэтому разработчики систем нередко позволяют некоторым срочный программное обеспечение (особенно драйверы устройств ) для запуска с полными привилегиями ядра.
Могут быть реализованы несколько режимов, что позволяет гипервизор запускать несколько супервизоров операционной системы под ним, что является базовой схемой многих виртуальная машина доступные сегодня системы.
Типы режимов
Неограниченный режим часто называют режим ядра, но существует много других обозначений (главный режим, режим супервизора, привилегированный режим, так далее.). Ограниченные режимы обычно называются пользовательские режимы, но также известны под многими другими именами (рабский режим, состояние проблемы, так далее.).
- Ядро
- В режиме ядра ЦП может выполнять любую операцию, разрешенную его архитектурой; может быть выполнена любая инструкция, инициирована любая операция ввода-вывода, доступна любая область памяти и так далее. В других режимах ЦП определенные ограничения на операции ЦП устанавливаются аппаратным обеспечением. Как правило, определенные инструкции не разрешены (особенно те, в том числе операции ввода-вывода, которые могут изменить глобальное состояние машины), некоторые области памяти недоступны и т. Д. Возможности ЦП в пользовательском режиме обычно являются подмножеством этих доступны в режиме ядра, но в некоторых случаях, например, при аппаратной эмуляции неродных архитектур, они могут значительно отличаться от тех, которые доступны в стандартном режиме ядра.
- Пользователь
- Некоторые архитектуры ЦП поддерживают несколько пользовательских режимов, часто с иерархией привилегий. Часто говорят, что эти архитектуры имеют кольцевая безопасность, при этом иерархия привилегий напоминает набор концентрических колец с режимом ядра в центре. Мультики Аппаратное обеспечение было первой значительной реализацией кольцевой безопасности, но многие другие аппаратные платформы были разработаны в соответствии с аналогичными принципами, включая Intel 80286 защищенный режим, а IA-64 также, хотя в этих случаях он упоминается под другим именем.
Защита режима может распространяться на ресурсы, выходящие за рамки самого аппаратного обеспечения ЦП. Аппаратные регистры отслеживают текущий режим работы ЦП, но дополнительно виртуальная память регистры, таблица страниц записи и другие данные могут отслеживать идентификаторы режима для других ресурсов. Например, ЦП может работать в кольце 0, что обозначено словом состояния в самом ЦП, но каждый доступ к памяти может дополнительно проверяться по отдельному номеру кольца для сегмента виртуальной памяти, на который направлен доступ, и / или по номеру звонка для целевой физической страницы (если есть). Это было продемонстрировано на портативной системе PSP.
Оборудование, поддерживающее Требования к виртуализации Попека и Голдберга значительно упрощает написание программного обеспечения для эффективной поддержки виртуальной машины. Такая система может запускать программное обеспечение, которое «считает», что оно работает в режиме супервизора, но фактически работает в пользовательском режиме.