"Ал. Стивенс. Техника программирования на турбо-С" - читать интересную книгу автора

при увеличении числа независимых задач, для которых необходимо
обеспечить в асинхронном режиме быстрый переход от одной
задачи к другой, возможности однозадачной операционной системы
DOS для IBM PC могут быть превышены. Для обеспечения возможности
переключениязадач в этом случае должны использоваться
резидентные в памятипрограммы. Эти программы не обеспечивают
настоящего мультизадачного режима, но позволяют установить
удобный для пользователя режим использования некоторых утилит в
командной среде DOS.

Программы из этой книги образуют библиотеку программных
инструментальных средств, использующих окна для ввода текстовых и
числовых данных, выдачи справочной информации пользователю и
организации меню. Эти программы могут быть сделаны резидентными.
Программные модули библиотеки написаны для компилятора Турбо Си и
предназначены для использования программами, также написанными
для Турбо Си. Для того чтобы использовать программы из этой
книги, вы должны иметь общее представление о DOS и о тех
средствах, которые она предоставляет программисту. В книге
разбираются вопросы внутренней организации DOS, а также некоторые
из ее функций, обеспечивающие резидентность программ и по которым
нет документации. Отличным справочным руководством по программным
средствам DOS и ROM-BIOS является книга "Advanced MS-DOS" Рэя
Дункана (Microsoft Press, 1986). Данная же книга содержит только
сведения, необходимые для изложения вопросов, касающихся
предлагаемой программистам библиотеки. Дункан с иронией
представляет свою книгу, как нечто облегченное, но вы должны
отнестись к ней со всей серьезностью.

Программное обеспечение из этой книги может быть
представлено в виде шести уровней, как на рисунке 1.1. Уровни на
диаграмме располагаются сверху вниз, но изложение материала будет
соответствовать движению от нижних уровней к верхним.



┌───────────────────┐
│ │
Уровень 1 │ TSR - драйвер │
│ │
└─────────┬─────────┘


┌─────────┴──────────┐
Уровень 2 │ │
│ Загрузочный │
│ модуль │
│ │
└─────────┬──────────┘