Защищенный режим процессоров Intel

         

Защищенный режим процессоров Intel

Хорошо известная система разработки программного обеспечения Borland C также может работать в защищённом режиме, при этом её производительность заметно возрастает. Перспективная операционная система Microsoft WINDOWS NT также использует защищённый режим работы процессора. Новая версия 6.0 операционной системы MS-DOS будет активно использовать защищённый режим работы процессора.
В настоящее время в области программного обеспечения отчётливо прослеживается тенденция ориентации на оболочку Microsoft WINDOWS, пользующейся огромной популярностью во всём мире. Однако не все знают, что Microsoft WINDOWS - это не только прекрасная графика, продуманный дизайн и удобство в работе. Все программы, разрабатываемые специально для WINDOWS, работают в защищённом режиме и они используют всю мощь современных процессоров и все возможности компьютера (в отличии от программ, ориентированных только на MS-DOS).
Поэтому если вы планируете составлять программы для WINDOWS, вам совершенно необходимо знать особенности работы процессора в защищённом режиме. Особенно, если вы будете разрабатывать драйверы или другие программы, работающие с аппаратурой, либо если ваши программы будут обратаывать большие массивы данных (порядка нескольких мегабайт или даже несколько десятков мегабайт). Наша книга может стать для вас первым шагом к программированию для мультизадачных операционных систем, таких как WINDOWS, OS/2 или UNIX.

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

Подготовка к переключению
Подготовка к переключению - 2
Подготовка к переключению - 3
Переключение в защищённый режим
Возврат в реальный режим
Пример программы переключения режима
Пример программы переключения режима - 2
Пример программы переключения режима - 3
Пример программы переключения режима - 4
Особенности защищённого режима I80286

Создание алиасного дескриптора для сегмента кода
Так как в защищённом режиме модификация сегмента кода с использованием селектора CS невозможна, для решения такой задачи необходимо создать дескриптор сегмента данных, который бы указывал на сегмент кода (т.е. имел бы такой же базовый адрес и предел). Такой дескриптор является алиасом дескриптору сегмента кода и может быть создан при помощи функции 000Ah.

Получить дескриптор
Установить дескриптор
Получить конкретный дескриптор в таблице LDT
Получить блок памяти из пула памяти DOS
Освободить блок памяти, взятый из пула DOS
Изменить размер блока памяти из пула DOS
Получить вектор прерывания реального режима
Установить вектор прерывания реального режима
Получить адрес обработчика исключения
Установить адрес обработчика исключения

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

Адресация памяти в реальном режиме
Адресация памяти в реальном режиме - 2
Адресация памяти в реальном режиме - 3
Адресация памяти в защищённом режиме
Преобразование в защищённом режиме
Преобразование в защищённом режиме - 2
Схема преобразования адресов
Схема преобразования адресов - 2
Схема преобразования адресов - 3
Схема преобразования адресов - 4

Установить дескриптор
Функция позволяет получить дескриптор по его селектору. Регистры на входе AX 000Dh BX Селектор сегмента, для которого требуется получить дескриптор. Регистры на выходе: CARRY 0, если функция выполнилась без ошибки, 1, если произошла ошибка.

Отмена перехвата передачи управления
Получить адреса процедур сохранения
Получить адрес процедуры переключения режима
Получить версию спецификации DPMI
Получить информацию о свободной памяти
Получить блок памяти
Освободить блок памяти
Изменить размер блока памяти
Зафиксировать линейную область памяти
Расфиксирование блока памяти


Архитектура среды тестирования на основе моделей, построенная на базе компонентных технологий
Информационные компьютерные сети
Документация на MySQL
Основы информационной безопасности
Информатика для юристов и экономистов
Технические средства обработки информации
Лекции по информационной безопасности
База знаний предприятий
Курс лекций по информатике
Языки информационного обмена
Новые информационные технологии. Основы и аппаратное обеспечение
Информатика -продвинутый курс
Информатика на практике
Практическая информатика
Разработка систем безопасности
Самоучитель по Protection to information
Технические средства обработки информации
Информационное обеспечение систем управления
Информатика -взгляд второй
Информатика как она есть