Режим работы процессора

Режим работы процессора (англ. CPU mode) — состояние процессора, определяющее его поведение при выполнении различных команд и возможность доступа к различным данным.

По способу адресации памяти (на примере x86):

Защищённый режим: обращение к памяти происходит по виртуальным адресам с использованием механизмов защиты памяти. Набор доступных операций определяется уровнем привилегий.По уровню привилегий (в защищённом режиме):

  • Режим пользователя (прикладной): минимальный уровень привилегий, разрешены только операции с данными и переходы в пределах адресного пространства пользователя. Все остальные операции либо игнорируются, либо с помощью механизма обработки исключений вызывают переключение в привилегированный режим и передачу управления ядру операционной системы для выполнения специальных функций (например, отображения данных на дисплее) или аварийного завершения потока управления.

Привилегированный режим (режим ядра): наравне с операциями режима пользователя, разрешены дополнительные операции — запрет или разрешение прерываний, доступ к портам ввода-вывода, специальным регистрам процессора (например, для настройки блока управления памятью).После включения процессор x86 всегда начинает работу в реальном режиме. Позже, если загружается соответствующая операционная система - процессор переходит в защищённый привилегированный режим, в котором происходит инициализация ядра. Затем при запуске пользовательских программ - процессор переходит в защищённый пользовательский режим, а при необходимости возвращается обратно, и так продолжается до завершения работы.

Процессоры, не имеющие реального режима - начинают работу в защищённом привилегированном режиме.

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

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я