|
Мы часто склонны делать резидентными программы,
которые просто реализовать в обычной программе переднего плана. В
этой главе обсуждаются некоторые ключевые средства DOS, которые
важны для написания TSR. Вы должны отдавать себе отчет, что боль-
шая часть этих материалов не описана и, следовательно, может быть
изменена.
Структуры данных ввода/вывода DOS
DOS поддерживает много важных для TSR структур. Некоторые из
них являются общими для всех резидентных программ. Например, DOS
поддерживает две системные таблицы файлов, одна для обработчика
доступа, другая для функционирования блока управления файлом
(FCB). Все программы имеют доступ к одним и тем же системным таб-
лицам. Другие структуры данных индивидуальны для каждой програм-
мы. Например, каждая программа имеет свой сегмент программного
префикса (PSP).
Когда DOS загружает программу, она записывает PSP этой прог-
раммы в общие переменные (В DOS 3.10 эти переменные размещены со
смещением 02DEh в сегменте DOS). Программа, чей PSP записан в
сегменте DOS, становится текущей. Как только IBMBIO загрузила яд-
ро системы, имеется всегда одна и только одна текущая программа.
Когда программа делает запрос на ввод/вывод, она передает
DOS описатель или блок управления файлом.
|