WorldodTech

Регистрация


Технологии вокруг нас

Скорость Wi-Fi сегодня

Новая 3D технология ...

Режимы ядра и пользователя Windows

В этой книге регулярно используются термины режим ядра (kernel mode) и пользовательский режим (user mode). Перед определением этих терминов рассмотрим историю их происхождения.

Система Windows NT проектировалась, как переносимая операционная система, в которой весь код, зависимый от процессора и аппаратного обеспечения, изолирован в модуле, называемом уровнем аппаратных абстракций (hardware abstraction layer – HAL). Этот модуль рассматривается в разделе 1.3.1 далее в главе. Хотя Windows NT действительно раньше поддерживала несколько архитектур центральных процессоров, включая PowerPC и Alpha, современные версии Windows NT поддерживают только процессоры компании Intel и совместимые с ними модели (например, компании AMD). Некоторые базовые особенности архитектуры процессоров Intel рассматриваются далее в этом разделе, причем вместо описания всех возможностей архитектуры х86 затрагиваются лишь наиболее важные аспекты.

Архитектура Intel х86 поддерживает четыре режима работы: реальный, виртуальный х86, управления системой и защищенный.

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

Виртуальный режим х86 (virtual х86 mode) предоставляет возможность выполнять несколько приложений реального режима, когда процессор работает в защищенном режиме. Операционная система Windows NT 4.0 поддерживает этот режим с помощью подсистемы NT Virtual DOS Machine

Рис. 1.1. Уровни привилегий архитектуры Intel х86

Рис. 1.1. Уровни привилегий архитектуры Intel х86

(NTVDM). Необходимость запуска приложений DOS под управлением Windows NT возникает все реже и реже, поэтому роль подсистемы NTVDM со временем становится все менее важной.

Защищенный режим (protected mode) представляет собой основной режим Windows NT. Он обладает четырьмя рабочими уровнями (рис. 1.1). Ha. уровне 0 (или кольце 0). который чаще всего называется режим ядра (kernel mode), доступны инструкции процессора и функции для обеспечения защиты памяти и работы с виртуальной памятью. Кроме того, на уровне 0 доступны привилегированные инструкции, например для управления регистрами процессора. Операционная система Windows NT не использует уровни (кольца) 1 и 2. Самый нижний уровень привилегий – уровень 3, или пользовательский режим (user mode). – обеспечивает наилучшую защиту, предотвращая доступ системных процессов к коду и памяти другого процесса.

Далее представлены некоторые функциональные возможности Windows NT для архитектуры х86.

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

Дополни тельная информация приводится в разделе 1.3.3.6.

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

Перейти на страницу: 1 2