Системное программное обеспечение персональных ЭВМ

приходится бежать со всех ног,


Деревянко. СПО ПЭВМ.
Введение


  - Ну, а здесь, - сказала Королева, - приходится бежать со всех ног, чтобы только остаться на том же месте! Ну, а если хочешь попасть в другое место, тогда нужно бежать по крайней мере вдвое быстрее!
  Л.Кэрролл. "Сквозь зеркало и что там увидела Алиса"

Цитата, вынесенная в эпиграф, как нельзя лучше отражает ситуацию, в которую попадает преподаватель, ведущий курс "Системное программное обеспечение ЭВМ". Автору хотелось бы верить в то, что к моменту выхода этого пособия литература, содержащая исчерпывающую справочную информацию по компьтеру IBM PC и его программному обеспечению, будет легко доступна любому пользователю. Кроме того, автор не уверен в том, что его сегодняшние студенты, придя в ближайшем будущем на инженерные рабочие места, не встретят на них качественно новую технику и программное обеспечение. Какова же в таком случае цель нашего пособия? К сожалению, в нашем постоянном стремлении "бежать вдвое быстрее" мы подчас забываем о том, что на каждом этапе гонки за прогрессом все же остаются идеи, решения, структуры, алгоритмы, которые не обесцениваются, а либо наследуются следующим этапом, либо неожиданно для многих "всплывают" через несколько поколений. Поэтому главной нашей задачей являлось не заранее обреченное на поражение соперничество со справочниками, а стремление показать "как это сделано внутри" применительно к системному программному обеспечению.
Программы, тексты которых представляют, по-видимому, основную ценность данной работы, не предназначены для "промышленного" применения; не являются они также и "заготовками" для пользовательских программ, выполняющих некоторые системные действия (хотя не исключается и такое их применение); - они задумывались прежде всего как иллюстрации возможностей и модели системных программ , изучая которые мы получаем шанс лучше понять организацию и функционирование Системного Программного Обеспечения.


Предполагается, что читатель знаком с архитектурой ПЭВМ IBM PC (желательно, но не обязательно, и с языком Ассемблера) и с основами языка программирования Си в объеме, например, книги Кернигана и Ритчи. Мы полностью оставили без внимания "внешнюю" сторону MS DOS - команды, утилиты и т.п., потому что эти вопросы достаточно полно рассмотрены в общедоступной литературе (Брябрин, Фигурнов). Некоторые главы пособия непосредственно пересекаются с темами курса "Периферийные устройства ЭВМ", в таких случаях мы старались по возможности ограничиваться чисто программными вопросами. Программные примеры, представленные в этом пособии, разрабатывались и отлаживались на ПЭВМ класса XT в среде операционной системы MS DOS 3.30 и на ПЭВМ класса AT в среде MS DOS 5.0. Во всех случаях, когда могут возникнуть противоречия между описаниями и текстом программного примера, следует отдавать предпочтение тексту программы.
Об обозначениях. Поскольку в данном пособии используется в качестве инструмента язык Си, в тексте применяется Си-нотация шестнадцатеричных чисел (префикс 0x), хотя в выдачах приведенных программ можно встретить Ассемблерную нотацию (постфикс H).
Для сокращения записи во многих программных примерах вводятся макроопределения:
#define byte unsigned char #define word unsigned int #define dword unsigned long
Условимся, что эти макроопределения включены и для структур данных, описываемых в тексте.
В описаниях DOS последовательность символов кода ASCII, заканчивающуюся кодом 0 - признаком конца строки, именуется ASCIIZ-строкой. Везде в нашем тексте, где упоминаются "ASCIIZ-строка" или просто "строка" речь идет именно о таком представлении (если не оговорено другое).

Содержание раздела