Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ Лекции Ч1 (Л1-Л7).doc
Скачиваний:
139
Добавлен:
10.11.2019
Размер:
2 Мб
Скачать
☆

3.3. Организация защищенного режима

33.1. Основные понятия защищенного режима

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

Минимальная защита, которая используется во всех компьютерах предусматривает использование двух режимов работы: - системного режима (режим супервизора - Supervisor) и пользовательского режима (User). На уровне этой защиты ограничивается доступ пользователей в систему, в то время как супервизорные программы имеют доступ ко всем ресурсам системы. В самом простом случае для этого используются привилегированные команды, такие как команда ввода/вывода, работы с системными регистрами, на которые откликается операционная система В режиме User программам запрещается бесконтрольно влиять на общесистемные ресурсы.

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

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

Основным защищаемым ресурсом является память, в которой хранятся коды, данные (включая стек) и различные системные таблицы. Защищать требуется и совместно используемую аппаратуру, обращение к которой обычно происходит через операции ввода/вывода и прерывания В защищенном режиме процессор аппаратно реализует многие функции защиты, необходимые для построения супервизора многозадачной ОС в том числе механизм виртуальной памяти. '

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

Процессор может обращаться только к тем сегментам памяти, для которых имеются дескрипторы в таблицах. Для неиспользуемых сегментных регистров предназначен нулевой селектор сегмента, формально адресующийся к самому первому элементу глобальной таблицы. Попытка обращения к памяти по такому сегментному регистру вызовет исключение. Исключение возникнет и при попытке загрузки нулевого селектора в регистр CS или SS.

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

Контроль характеристик защиты дескрипторов (поля "Тип" и DPL) позволяет установить форматы требуемых дескрипторов в соответствие с назначением используемого сегмента. Данный контроль проводится при загрузке в сегментный регистр селектора дескриптора для контроля допустимости такой операции и при выполнении команды обращения к сегментному регистру.

Защита памяти с помощью сегментации не позволяет:

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

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

- адресоваться к элементам, выходящим за границу сегмента;

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

Защищенный режим предоставляет средства переключения задач. Состояние каждой задачи (значение всех связанных с ней регистров процессора) может быть сохранено в специальном сегменте состояния задачи TSS, на который указывает селектор в регистре задачи ТР. При переключении задач достаточно загрузить новый селектор в регистр задачи, и состояние текущей задачи автоматически сохранится в ее TSS, а в процессор загрузится состояние новой (возможно, ранее прерванной) задачи, и начнется (продолжится) ее выполнение.

Механизм виртуальной памяти позволяет любой задаче использовать логическое адресное пространство размером до 64 Тбайт (16 К сегментов по 4 Гбайт). Неиспользуемый сегмент может быть выгружен из оперативной памяти во внешнюю, а на освободившееся место из внешней памяти может загружаться другой сегмент (свопинг или подкачка).

Лекция 4. Системная память персонального компьютера

Системная память ПК включает в себя оперативную или основную память (ОЗУ), кэш-память, постоянную память (ПЗУ), энергонезависимую память и буферную память различных адаптеров.

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

ОЗУ (RAM - Random Access Memory) - память с произвольным доступом. Произвольность доступа подразумевает возможность операций записи или чтения с любой ячейкой ОЗУ в произвольном порядке. Требования, предъявляемые к основной памяти:

- большой объем, исчисляемый единицами, десятками и даже сотнями мегабайт;

- быстродействие и производительность, позволяющие реализовать вычислительную мощность современных процессоров;

- высокая надежность хранения данных - ошибка даже в одном бите в принципе может привести к ошибкам вычислений, искажению и потере данных.

ОЗУ сохраняет информацию только при включенном питании ПК. При отключении питания информация в ОЗУ разрушается.

Кэш-память - сверхоперативная память (СОЗУ), является промежуточным буфером между ОЗУ и его «клиентами» - процессором (одним или несколькими) и другими абонентами системной шины, более быстродействующая и используется для сокращения времени доступа к данным. Кэш-память не является самостоятельным хранилищем; информация в ней не адресуема клиентами подсистемы памяти, присутствие кэша для них «прозрачно». Кэш хранит копии блоков данных тех областей ОЗУ, к которым происходили последние обращения, и весьма вероятное последующее обращение к тем же данным будет обслужено кэш-памятью существенно быстрее, чем оперативной памятью.

Постоянная память используется для энергонезависимого хранения системной информации. Эта память при обычной работе компьютера только считывается, поэтому ее название - ROM (Read Only Memory - память только для чтения). Требуемый объем памяти этого типа невелик - например, BIOS PC/XT помещалась в 8 Кбайт, в современных компьютерах типовое значение - 128 Кбайт. ПЗУ программируется при изготовлении ПК, во время работы используется только в режиме чтения и хранит программу тестирования ПК при включении питания (процедуру POST), а также драйверы управления модулями ПК (BIOS) и необходимые для их работы данные, т.е. обработчики аппаратных и программных прерываний BIOS.

Полупостоянная память используется для хранения информации о конфигурации компьютера. Традиционная память конфигурации вместе с часами-календарем (CMOS Memory и CMOS RTC) имеет объем несколько десятков байт, ESCD - (Extended Static Configuration Data) область энергонезависимой памяти, используемая для конфигурирования устройств Plug and Play - имеет объем несколько килобайт. Сохранность данных полупостоянной памяти при отключении питания компьютера обеспечивается маломощной внутренней батарейкой или аккумулятором.

Буферная память различных адаптеров (коммуникационных, дисковых и пр.) обычно является разделяемой между процессором (точнее, абонентами системной шины) и контроллерами устройств. К этой памяти относятся и 16-байтные FIFO-буферы СОМ-портов, и 16-мегабайтные (и более) кэш-буферы высокопроизводительных SCSI-адаптеров.