- •1. Структура и принципы работы ms-dos
- •1.1. Основные компоненты операционной системы
- •Msdos.Sys
- •Command.Com
- •Config.Sys
- •Autoexec.Bat
- •Wina20.386
- •Драйверы
- •Внешние команды
- •Подготовка системной дискеты
- •Программа fdisk
- •Резидентные программы
- •1.2. Процесс загрузки операционной системы
- •1.3. Состав и общая схема работы ms-dos
- •Файловая система
- •Система управления памятью
- •Система управления программами
- •Система связи с драйверами устройств
- •Система обработки ошибок
- •Служба времени
- •Работа с консолью оператора
- •Другие системы ms-dos
- •1.4. Обзор прерываний bios
- •Определение конфигурации компьютера
- •Определение объема оперативной памяти
- •Работа с видеоконтроллером
- •Выбрать видеорежим (00h)
- •Установить размеры и форму курсора (01h)
- •Свернуть окно (06h, 07h)
- •Работа с клавиатурой
- •Обслуживание дисковой подсистемы
- •Перезагрузка операционной системы
- •Системный сервис для машин класса at
- •1.5. Обзор прерываний ms-dos
- •Получение системной информации
- •Символьный ввод и вывод
- •Работа с файловой системой
- •Управление программами
- •Управление памятью
- •Связь с драйверами устройств
- •Другие функции
- •1.6. Обработка ошибок
- •1.7. Вызов прерываний ms-dos
- •1.8. Программа errcode
- •1.9. Переменная errno
- •1.10. Программа errno
Система обработки ошибок
Система обработки ошибок MS-DOS проста и удобна. Для обнаружения ошибок, возникающих при вызове прерываний MS-DOS, как правило, используется флаг переноса процессора. Если после обращения к прерыванию MS-DOS флаг переноса установлен в 1, произошла ошибка. Для того чтобы проанализировать ошибку и предпринять какие-то действия, можно вызвать соответствующую функцию MS-DOS, которая вернет уточняющую информацию об ошибке и предоставит соответствующие рекомендации (разумеется, лишь в виде кодов, находящихся в регистрах процессора).
Если произошла критическая ошибка ввода/вывода (например, невозможно прочитать дискету), вызывается стандартная процедура MS-DOS, которая выводит на экран запрос о дальнейших действиях. Программа может подключить вместо системной свою функцию обработки критических ошибок.
Служба времени
Любой компьютер оборудован системными часами. Это часы с питанием от аккумулятора. Их содержимое не сбрасывается при выключении компьютера.
Дополнительно для формирования временных интервалов используется таймер, постоянно вырабатывающий прерывания. Программа может использовать прерывания таймера для регулярного выполнения каких-либо функций.
Операционная система MS-DOS ведет подсчет времени и хранит текущие показания часов, а также текущую дату. Программа может опросить часы, обратившись к MS-DOS через одну из функций прерывания INT 21h, или установить новое состояние часов.
В составе операционной системы MS-DOS имеется драйвер устройства CLOCK$. Прикладная программа может обратиться к этому устройству для чтения показания часов или для установки часов.
Работа с консолью оператора
Консоль оператора состоит из двух устройств - клавиатуры и дисплея. Эти два устройства обслуживаются одним драйвером - драйвером консоли CON. Вы можете рассматривать консоль как одно устройство с именем CON.
Операционная система обслуживает консоль с помощью функций прерывания INT 21h, обеспечивающих ввод и вывод символов на устройство CON. Для работы с клавиатурой и видеоконтроллером этот драйвер вызывает прерывания BIOS.
Другие системы ms-dos
MS-DOS имеет драйверы для работы с параллельными и последовательными портами, которые обеспечивают обмен данными в символьном режиме и управление подключенными к ним устройствами (обычно это принтеры, мышь или факс-модемы).
Кроме того, для печати текста в фоновом режиме в состав MS-DOS входит программа print.com. Эта практически единственная "мультизадачная" программа MS-DOS является примером стандартной резидентной программы. Она позволяет выполнять почти любую работу (такую, например, как редактирование текста или прием файла через модем) параллельно с печатью текста.
Специально следует отметить драйверы электронного диска и кэш-памяти. Драйвер электронного диска называется ramdrive.sys. Этот драйвер организует в расширенной или в дополнительной памяти компьютера быстрый псевдодиск. Можно организовать электронный диск и в основной памяти, но основной памяти всегда мало!
Операционная система MS-DOS версии 6.22 имеет в своем составе систему управления дополнительной и расширенной памятью, которая реализуется драйверами himem.sys и emm386.exe. Эти драйверы позволяет программам, составленным специальным образом, использовать расширенную или дополнительную память для хранения данных и выполнения программ (в некоторых случаях).
С помощью программы memmaker.exe и перечисленных выше драйверов пользователь может в автоматическом режиме освободить первый мегабайт оперативной памяти, переместив драйверы и резидентные программы в расширенную память.
Если подключен драйвер himem.sys, то с помощью драйвера smartdrv.exe можно создать кэш-память (или просто кэш) для жесткого диска. Особенно эффективно применение кэша для работы с базами данных, когда вам периодически требуется одна и та же информация. Если данные были считаны с диска, то в следующий раз, когда они потребуются снова, с большой вероятностью данные будут доступны без повторного обращения к диску.
Такое широко распространенное и ставшее стандартным для любого персонального компьютера устройство, как мышь, не поддерживается операционной системой MS-DOS. Для использования мыши следует подключить драйвер, который обычно поставляется вместе с этим устройством.
Другие периферийные устройства (сканеры, плоттеры, стримеры, факс-модемы и т. п.) также не поддерживаются MS-DOS. Для этих устройств фирмы-изготовители поставляют специальные программы, а также драйверы, которые надо подключить к операционной системе.