Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

MS-DOS для программиста

© Александр Фролов, Григорий Фролов
Том 18, М.: Диалог-МИФИ, 1995, 254 стр.

[Назад] [Содеожание] [Дальше]

2. Векторная таблица связи MS-DOS

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

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

Вся информация, приведенная в данной главе, отсутствует в документации на операционную систему MS-DOS. Мы собирали ее из разных доступных источников, таких, например, как список прерываний Ральфа Брауна, и проверили для MS-DOS версии 6.22.

Не будет лишним напомнить еще раз, что использование недокументированных возможностей всегда сопряжено с риском. Программа, активно использующая недокументированные прерывания и структуры данных, возможно, не будет работать в следующей версии MS-DOS. Так как многие пользователи запускают программы MS-DOS в среде виртуальной машины операционных систем Microsoft Windows или OS/2, могут возникнуть проблемы совместимости - такие виртуальные машины часто способны предоставить в распоряжение программ только документированные прерывания.

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

Итак, что же представляет собой векторная таблица связи?

Вслед за областью данных BIOS , расположенной в начале оперативной памяти, расположена область данных MS-DOS. Здесь находятся внутренние переменные и структуры данных MS-DOS.

Основные структуры данных организованы в виде дерева. Корнем является векторная таблица связи, которая содержит адреса всех остальных структур: список блоков управления памятью (MCB ), список блоков управления устройствами MS-DOS , таблицу файлов, дисковые буферы и т. д.

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

Если понятия и термины, перечисленные выше, вам незнакомы, не огорчайтесь. Через некоторое время мы их подробно рассмотрим. А пока займемся описанием формата векторной таблицы связи, а также назначением отдельных полей этой таблицы.

[Назад] [Содеожание] [Дальше]