Введение

Несмотря на бурное развитие операционных систем с графическим интерфейсом, таких как Microsoft Windows и OS/2, интерес пользователей персональных компьютеров и программистов к MS-DOS по-прежнему достаточно высок. Самые современные многозадачные и многопользовательские операционные системы соревнуются между собой в скорости выполнения программ MS-DOS. Эмуляторы MS-DOS, встроенные в такие операционные системы, претендуют на то чтобы быть "лучшей MS-DOS, чем сама MS-DOS" (например, эмулятор MS-DOS операционной системы OS/2).

Одна из причин широкого распространения MS-DOS - наличие у пользователей "маломощных" компьютеров. Только операционная система MS-DOS способна работать достаточно быстро на компьютере с процессором i80286, особенно если объем оперативной памяти не превышает 1 Мбайт.

Другая, не менее важная причина, - огромное количество программ, созданных для MS-DOS. Многие из этих программ получили настолько большую популярность, что пользователи не представляют себе, как можно без них обойтись. Это такие программы, как Norton Commander, Word Perfect for DOS, Microsoft Word for DOS, Лексикон для DOS и т. д.

Хорошее знание принципов работы и программного интерфейса MS-DOS необходимо и для тех программистов, кто занимается разработкой приложений для Microsoft Windows. Причина этого заключается в том, что операционная система Microsoft Windows не является, строго говоря, полнофункциональной операционной системой, а работает в тесном взаимодействии с MS-DOS. В частности, широко распространена такая практика, когда драйверы и приложения Microsoft Windows взаимодействуют с драйверами и резидентными программами MS-DOS.

Самый первый том нашей серии книг "Библиотека системного программиста" был посвящен операционной системе MS-DOS версии 4.01. С момента появления этой книги прошло уже несколько лет, за которые фирмой Microsoft были созданы две новые версии MS-DOS (версии 5.0 и 6.0), не считая различных модификаций.

Нельзя сказать, что новые версии MS-DOS внесли революционный вклад в развитие теории операционных систем. Однако все же они стали удобнее для пользователя, не в последнюю очередь, за счет расширения состава программ, поставляющихся в составе MS-DOS. Кроме того, в новых версиях было улучшено взаимодействие с Microsoft Windows, упрощена процедура оптимизации использования оперативной памяти. Операционная система MS-DOS версий 6.0, 6.2 и 6.22 содержит в себе средства динамической компрессии дисков, особенно удобные для компьютеров с небольшим объемом дисковой памяти.

Наша новая книга представляет собой переработанный вариант первого тома серии "Библиотека системного программиста", в котором мы учли особенности новой версии MS-DOS и переделали все исходные тексты для системы разработки Borland C++ версий 3.0 и 3.1. Кроме того, мы полностью переписали главу, посвященную резидентным программам.

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

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

Из-за ограниченного объема книги мы не будем описывать процесс установки MS-DOS. При необходимости обратитесь к первому тому нашей серии книг "Персональный компьютер - шаг за шагом", который называется "Введение в MS-DOS, MS Windows, MS Word for Windows". Кроме того, в 10 томе серии "Библиотека системного программиста" вы найдете немало полезных советов по настройке и оптимизации MS-DOS.

Присылайте ваши отзывы и предложения в издательство или непосредственно нам через электронную почту по адресу:

frolov@glasnet.ru

Благодарности

В создании серий "Библиотека системного программиста" и "Персональный компьютер - шаг за шагом" нам помогали очень многие люди. Сейчас, когда мы вновь вернулись к самому первому тому нашей первой серии, нам бы хотелось выразить свою признательность.

Прежде всего, мы благодарим Ивана Качинского, которому принадлежала идея создания учебного пособия по системному программированию. Именно он пригласил нас для выполнения этой работы в АО "Диалог-МИФИ".

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

Мы благодарим Настю Болотову, которая была нашим первым читателем и редактором.

Без активного участия Юрия Петровича Красильникова и Ольги Александровны Красильниковой было бы невозможно решение всех коммерческих и технических вопросов, связанных с выпуском первых томов серии "Библиотека системного программиста".

Сергей Ноженко и Максим Синев высказали немало советов и рекомендаций. Они оказали нам существенную помощь в создании томов, посвященных программированию для Microsoft Windows и MS-DOS.

Алексей Вашковский, Сергей Горин и Рустэм Биккинин помогали нам в работе над книгами, посвященными локальным сетям персональных компьютеров.

Выражаем особую благодарность Олегу Александровичу Голубеву, который за короткое время обеспечил выход в свет многих наших книг.

Мы признательны сотрудникам издательского отдела АО "Диалог-МИФИ" Елене Виноградовой, Наталье Дмитриевой и Оксане Кузьминовой, которые взяли на себя верстку и художественное оформление.

Корректор Виктор Кустов проделал огромную работу, исправляя рукописи наших книг. Он оказал положительное влияние на наш стиль изложения, во многом даже сформировал его.