Программная модель МП PentiumIV. Совокупность всех программно доступных регистров микропроцессора, страница 4

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

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

•  Страничное  преобразование невидимо для прикладного программиста. Оно осуществляется аппаратными средствами процессора, который автоматически преобразует логический адрес операнда в искомый адрес физической памяти.

•  Блок управления памятью процессора Pentium содержит блок сегментации и блок управления страницами.

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

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

19. Организация защиты памяти в МП PentiumIV.

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

Защита накладывает на обычные программы, не входящие в ОС, три типа ограничений:

- обычным программам запрещается выполнять некоторые команды;

- обычным программам должны быть недоступны определенные области памяти;

- в программы ОС можно войти только в разрешенных точках входа.

•  Для обнаружения и идентификации ошибок процессоры P4 сконструированы  со встроенным механизмом защиты.

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

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

•  В защищенном режиме реализован принцип разделения адресного пространства пользовательских программ от адресного пространства операционной системы  и адресных пространств отдельных пользователей друг от друга.

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

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

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

•  Тип сегмента помогает процессору проверять соответствие сегмента исполняемой команде. В частности, в сегмент кода нельзя записывать, а с сегментом таблицы LDT  и сегментом TSS нельзя явно производить операции считывания, записи и выполнения

•  Права, которыми может быть помечен дескриптор, ограничивают множество операций, которое можно производить с его сегментом.

Уровни привелегий:

•  Уровень привилегий программы определяет конкретное подмножество сегментов адресного пространства, к которому программа может обращаться.