Режимы выполнения программного кода
Два режима: пользователя и ядра, четыре уровня привилегий (кольца) для защиты от менее привилегированного кода (модель защиты Intel).
Уровень привилегий 0, режим ядра, максимальный.
Уровень привилегий 3, режим пользователя, минимальный.
ОС Windows используют только 0 и 3 уровни.
Режим ядра (кольцо 0) – наиболее привилегированный режим:- имеет прямой доступ к аппаратному обеспечению;
- имеет доступ ко всей памяти компьютера;
- не может быть вытеснен в страничный файл на жестком диске;
- выполняется с большим приоритетом, чем процессы режима пользователя.
Компоненты режима ядра защищены архитектурно, процессор предотвращает их изменение другой программой.
Процесс режима пользователя характеризуется следующим:- не имеет прямого доступа к аппаратуре, это защищает систему от неисправных приложений или неавторизированного доступа;
- ограничен выделенным им адресным пространством. Этим обеспечивается целостность ОС;
- может быть вытеснен из физической памяти в виртуальную память на жестком диске. Пространство на диске используется как дополнительное ОЗУ;
- выполняется с меньшим приоритетом, чем ядро.
Процессы режима пользователя получают меньший доступ к процессу, чем процессы режима ядра. ОС не ожидает окончания выполнения приложения. Неисправный программный компонент не вызывает разрушения системы.