Электронный учебник:


Курс лекций:


Дополнительно:

Практикум:



Наши хостеры:

Реальные и защищенные режимы работы процессора

В защищенном режиме определение физии-ческого адреса осущ-ествляется испол-ьзованием сегментных механизмов для орган-изации виртуальной  памяти. При этом адр-есат задается 32-битн-ым значением, кроме того возможна стран-ичная трансляция адресов с 32-битного значения. При работе в защищенном режиме, который по умолчанию предполагает 32-битный код, возможно использование двоичных команд, созданных для работы в 16-битном режиме. Для этого введем режим виртуальной машины и 20-битные адреса реального режима, которые транслируются с помощью страничного механизма в 32-битное значение защищенного режима.

Защита адресногопространства задач.

Для возможности создания надежных мультипрограммных о.с. в процессорах семейства i80x86 имеются несколько механизмов защиты: это и разделение адресных пространств задач и введение уровней привилегий для сегментов кода и сегмента данных, все это позволяет обеспечить как защиту задач друг то друга, так и защиту самой о.с. от прикладных задач, защиту одной части о.с. от других ее компонентов, защиту самих задач от своих ошибок. Защита адресного пространства задач осуществляется за счет того, что каждая задача имеет свое собственное локальное адресное пространство. О.с. должна корректно манипулировать дескрипторами таблиц.

Сами таблицы дескрипторов относятся к адресному пространству о.с. и имеют соответствующие привилегии доступа, исправлять их, задачи не могут. Для организации взаимодействия задач имеющих разные виртуальные пространства надо иметь общее адресное пространство, и здесь для обеспечения защиты самой о.с. используется механизм защиты сегментов с помощью уровней привилегий.

            Уровни привилегий для защиты адресного пространства задач.

Для того, чтобы запретить пользователю задач модифицировать область памяти, принадлежащую о.с. надо иметь специальные средства, одного разграничения адресного пространства через механизм сегментов мало, так как можно указывать различное значение адреса начала сегмента и тем самым получать доступ к чужим сегментам, то есть надо в явном виде разграничивать системные сегменты от сегментов пользователя. этому были введены два режима процессора: пользовательский и ядра. В режиме ядра программа может выполнять все действия и иметь доступ по любым адресам в пользовательском режиме существует ограничения, чтобы обнаруживать и пресекать запрещенные действия, перехватывать их и передавая их управление ядру о.с., в пользовательском режиме запрещается выполнение команды ввода-вывода и некоторые других, чтобы гарантировать , что только о.с. выполняет эти операции, то есть эти два режима имеют разные уровни привилегий. Микропроцессоры i80x86 имеют 4 уровня привилегий, часто уровни привилегий называются кольцами защиты, так как это помогает объяснить принцип действия самого механизма. Для указания уровня привилегий используются два вида, поэтому код 00 обозначает самый высший уровень, а 11 низший. Самый высший уровень привилегий предназначен для ядра о.с. , низкий-прикладных задач.Промежуточные уровни привилегий введены для большей свободы системных программистов в организации надежных вычислений при создании о.с. Предполагается, что уровень с кодом 1 может быть использован для систем сервиса-программ, обслуживающих аппаратуру, работу с портами вводавывода. Уровень привилегий с кодом 2 может быть использован для создания пользовательских интерфейсов, систем управления базами данных, то есть для реализации специальных системных функций, которые по отношению к ядру о.с. ведут себя как обычные приложения. На практике используются только два уровня:0 и 3.

предыдущаяследующая