DOS-extender для компилятора Borland C++ 3.1
Категория реферата: Рефераты по информатике, программированию
Теги реферата: решебник по геометрии класс, дипломная работа методика
Добавил(а) на сайт: Savinkov.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Самый впечатливший меня DOS-extender. Список поддерживаемых функций просто поражает. Поддерживает все распространенные среды программирования: Visual C++ 4 и позже, Borland C++ 4 и позже,
Delphi 2 и позже. При желании никто не запрещает использовать
Assembler.
2. Обоснование выбора средств.
DOS-экстендеры обычно поставляются в комплекте с трансляторами, редакторами связей, отладчиками и библиотеками стандартных функций
(например, библиотеками для транслятора языка Си). Код DOS-extender
линкуется либо уже к готовому исполняемому файлу специальной программой
(чаще), либо линковка полностью проходит при помощи программы-линкера, специально разработанного для данного компилятора.
В настоящий момент науке известны всего один DOS-extender для Borland
C++ 3.1. Это программа фирмы Phar Lap, не имеющая собственного названия.
Фирмы, к сожалению, давно уже нет, как и исходных текстов этого DOS-
extender-а. В него входил собственная программа – линкер и набор
специальных библиотек функций специально для Borland C++ 3.1, которой и
проводилась окончательная сборка EXE-файла.
Написание собственной среды разработки, вроде программ-линкеров и собственных трансляторов языка Ассемблера явно выходит за переделы данного курсового проекта. Поэтому остановимся на разработке набора функций, позволяющих:
- реализовать защищенный режим процессора 80286,
- адресовать до 16 Мб памяти,
- обрабатывать прерывания реального режима DOS
- реализуем набор средств для создания параллельно выполняющихся потоков в среде DOS.
После разработки необходимых средств, напишем программу–пример с их использованием. Собственно это получится не просто программа, а некий прототип многозадачной операционной системы.
Итак, согласно заданию буду пользоваться следующими средствами разработки:
- Borland C++ 3.1
- Borland Turbo Assembler из поставки Borland C++ 3.1
3. Реализация работы программы в защищенном режиме процессора 80286.
3.1 Адресация защищенного режима процессора 80286.
Логический адрес в защищённом режиме (иногда используется термин
"виртуальный адрес") состоит из двух 16-разрядных компонент - селектора и
смещения. Селектор записывается в те же сегментные регистры, что и
сегментный адрес в реальном режиме. Однако преобразование логического
адреса в физический выполняется не простым сложением со сдвигом, а при
помощи специальных таблиц преобразования адресов.
В первом приближении можно считать, что для процессора i80286 селектор является индексом в таблице, содержащей базовые 24-разрядные физические адреса сегментов. В процессе преобразования логического адреса в физический процессор прибавляет к базовому 24-разрядному адресу 16-разрядное смещение, т.е. вторую компоненту логического адреса (Рис. 1).
Такая схема формирования физического адреса позволяет непосредственно адресовать 16 мегабайт памяти с помощью 16-разрядных компонент логического адреса.
Таблиц дескрипторов в системе обычно присутствует от одной до
нескольких десятков. Но всегда существует так называемая таблица GDT
(Global Descriptor Table), в которой обычно хранится описание сегментов
самой операционной системы защищенного режима 80286. Таблицы LDT (Local
Descriptor Table) создаются на каждый новый запускаемый процесс в
операционной системе, и в них хранится описание сегментов только одной
отдельной задачи.
Таблица дескрипторов - это просто таблица преобразования адресов, содержащая базовые 24-разрядные физические адреса сегментов и некоторую другую информацию. То есть каждый элемент таблицы дескрипторов (дескриптор) содержит 24-разрядный базовый адрес сегмента и другую информацию, описывающую сегмент.
Процессор 80286 имеет специальный 5-байтный регистр защищенного режима
GDTR, в котором старшие 3 байта содержат 24-разрядный физический адрес
таблицы GDT, младшие два байта - длину таблицы GDT, уменьшенную на 1.
[pic]
Рис. 1. Схема преобразования логического адреса в физический в защищенном режиме процессора 80286.
Рекомендуем скачать другие рефераты по теме: диплом купить, скачать конспект урока.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата