На главную
Подписка
Новости










Главная / MS-DOS / MS-DOS. РУКОВОДСТВО РАЗРАБОТЧИКА / Глава 4 / Глобальные переменные DOS Сделать домашней страницей Добавить в избранное Написать писмо

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Глобальные переменные DOS

Для сохранения информации о состоянии функционирования и для поддержки контекста запросов BIOS операционная система DOS использует многие глобальные переменные. DOS обеспечивает рабочую область буферизованного ввода и для поддержки буферизованного редактирования входной строки сохраняет дорожку текущего столбца. Одни переменные управляют протоколированием экрана, алгоритмом распределения памяти и текущим переключением символов. Глобальные переменные включают флажки критической ошибки и критической секции, текущую PSP и текущую дисковую область передачи (DTA - disk transfer area). Другие глобальные переменные описывают операции обработки в/в; они записывают адреса входов SFN, JFT и много другой важной и полезной информации о запросе.


DTA является "коварной" структурой данных, потому что DOS использует ее в непредсказуемых случаях. Для грамматического разбора имен файлов и поиска каталогов DOS поддерживает свою собственную DTA, а результаты этих операций она копирует в DTA пользователя. DOS замещает адрес DTA адресом буфера для чтения и записи обрабатываемого файла. Такие операции как find first/find next (найти первый/найти следующий) осуществляют запись непосредственно в текущий DTA.


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


НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Hosted by uCoz