Дисковая операционная система компании Microsoft
Процесс инициализации применяется в дисковых системах для загрузки ОС, которая затем будет управлять этой системой. MS-DOS представляет собой дисковую операционную систему для IBM-совместимых компьютеров. В свое время она была наиболее распространенной ОС. Кроме того, она же лежит в основе операционных систем семейства Windows 9х.
Как и другие ОС, MS-DOS предназначена для отслеживания работы системы за счет обеспечения запуска программ, управления устройствами ввода/вывода, отслеживания ошибок и поддержки пользовательского интерфейса. MS-DOS является дисковой однопользовательской операционной системой. Благодаря этому, она стала одной из наиболее простых для понимания ОС.
Хотя концепция MS-DOS глубоко скрыта от пользователей, она не смогла быть таковой для технических специалистов. Во многих случаях, когда требуется устранить неисправность или выполнить диагностику, техник по обслуживанию должен обладать совершенно четким пониманием структуры и команд DOS.
Структура MS-DOS
Основную часть MS-DOS составляют файлы IO.SYS, MSDOS.SYS и COMMAND.COM. 10.SYS и MSDOS.SYS являются специальными скрытыми системными файлами, которые не видны в обычном режиме просмотра каталога. Файл IO.SYS перемещает базовые функции ввода/вывода в память и затем запускает стандартные программы управления MS-DOS, называемые драйверами устройств для различного оборудования:
- Устройство загрузочного диска
- Дисплей и клавиатура
- Системные часы реального времени
- Параллельные и последовательные коммуникационные порты
Соответственно, файл MSDOS.SYS реализует стандартные функции поддержки программных приложений:
- Управление памятью
- Символьный ввод и вывод
- Доступ к часам реального времени
- Управление файлами и записями
- Выполнение других программ
Малоизвестен факт, что система DOS требует, чтобы файл MSDOS.SYS имел размер более 1 Кб.
Командный интерпретатор C0MMAND.COM содержит наиболее часто используемые команды ОС. После ввода команды в командной строке C0MMAND.COM определяет, является ли она внутренней или внешней командой DOS. Внутренние команды воспринимаются непосредственно самим интерпретатором COMMAND.COM, а вот внешние команды хранятся в виде отдельных файлов в каталоге с именем DOS. Если введенная команда является внутренней, C0MMAND.COM выполняет ее незамедлительно. Если же нет, C0MMAND.COM ищет соответствующую ей программу в каталоге \DOS.
Точно так же, когда DOS запускает приложение, файл C0MMAND.COM находит программу, загружает ее в память и передает ей управление. Как только программа завершается, она передает управление обратно интерпретатору команд. Оставшаяся часть ОС состоит из вспомогательных программ, поддерживающих выполнение операций DOS, например, форматирование диска (FORMAT), вывод на печать (PRINT) и копирование файлов (XCOPY).
Конфигурационные файлы DOS
Системное программное обеспечение имеет подкласс конфигурационных файлов, с помощью которых можно оптимально настроить систему на выполнение конкретных функций или работу с различными опциями. Хотя MS-DOS и Windows 3.x не являются частью обзора, некоторые аспекты этих операционных систем, а именно, конфигурационные файлы, остаются важными, поскольку присутствуют в средах Windows 9х и Windows 2000. Большей частью эти файлы введены для поддержания должного уровня совместимости со старыми приложениями и устройствами. Тем не менее, необходимо четко представлять работу конфигурационных файлов, чтобы устранять проблемы, причинами которых они могут являться.
В среде DOS два из таких файлов, называемые CONFIG.SYS и AUTOEXEC.BAT, могут включаться в процесс загрузки DOS. По мере выполнения процесса загрузки системы, загрузочный сектор BIOS проверяет корневой каталог загрузочного диска на предмет наличия файла CONFIG.SYS. Затем она ищет интерпретатор C0MMAND.COM и, наконец, ищет в корневом каталоге файл AUTOEXEC.BAT. Оба файла CONFIG.SYS и AUTOEXEC.BAT играют ключевую роль в оптимизации использования системной памяти и дисковых накопителей. Операцию можно кратко описать следующим образом:
- BIOS реализует прерывание INT19 для поиска накопителя с главной загрузочной записью (Master Boot Record, M BR).
- Начальный загрузчик ОС (Primary Bootstrap Loader) перемещает главную загрузочную запись в память.
- Система запускает вторичный загрузчик ОС (Secondary Bootstrap Loader) из главной загрузочной записи.
- Вторичный загрузчик ОС перемещает файлы IO.SYS и MSDOS.SYS в память.
- Файл IO.SYS запускает MSDOS.SYS, тем самым подключая функции управления памятью и файлами.
- IO.SYS проверяет наличие файла CONFIG.SYS в корневом каталоге.
- Если CONFIG.SYS найден, IO.SYS с его использованием повторно конфигурирует систему с учетом трех типов строк (device, install, и shell).
- IO.SYS загружает C0MMAND.COM.
- C0MMAND.COM проверяет наличие файла AUTOEXEC.BAT в корневом каталоге.
- Если файл AUTOEXEC.BAT найден, C0MMAND.COM выполняет команды, найденные в этом файле.
- Если файл AUTOEXEC.BAT не найден, C0MMAND.COM выдает запросы DOS о времени и дате.
CONFIG.SYS
В процессе инсталляции DOS версии старше 5.0 заранее создает файл CONFIG.SYS. В DOS это имя зарезервировано специально для файла, который содержит указания по установке (и настройке) системы. Когда DOS загружена в систему, программа загрузки автоматически приступает к поиску файла с именем CONFIG.SYS на диске, указанном как используемый по умолчанию. Команды, записанные в этом файле, настраивают DOS на работу с различными устройствами и прикладными программами.
Файл CONFIG.SYS отвечает за:
- Установку всех используемых утилит управления памятью.
- Настройку DOS на работу с различными устройствами и прикладными программами.
- Загрузку программных драйверов устройств и установку резидентных программ.
Перечисленные функции присутствуют в примере файла CONFIG.SYS:
- Device=C:\DOS\HIMEM.SYS_ Device-C\DOS\EMM386.EXE 1024 RAM
- FILES=30 BUFFERS=15
- STACKS=9,256 DEVICE=C:\DOS\SMARTDRV.SYS 1024 DOS-HIGH,UMB
- DEVICEHIGH=C:\MOUSE\MOUSE.SYS DEYICEHIGH=C:\DOS\RAMDRIVE.SYS 4096/a
- INSTALL=C:\DOS\SHARE.EXE
AUTOEXEC.BAT
После завершения обработки файла CONFIG.SYS, DOS проверяет наличие файла, называемого AUTOEXEC.BAT. Этот файл содержит набор команд DOS, которые автоматически выполняются непосредственно после загрузки DOS.
Упомянутый файл также можно запустить повторно из командной строки DOS, набрав AUTOEXEC. Однако, так поступить с файлом CONFIG.SYS не удастся. Для повторного выполнения команд, указанных в этом файле, потребуется перезапустить систему.
Рассмотрим пример файла AUTOEXEC.BAT:
- DATE
- TIME
- PROMPT=$P$G
- SET ТЕМР=С:\ТЕМР
- PATH=C:\;C:\DOS;C:\MOUSE
- DOSKEY
- SMARTDRV.EXE 2048 1024
- CD\
- DIR
Первых две команды заставляют DOS вывести приглашение на ввод даты и времени (поскольку DOS не делает это автоматически, если файл AUTOEXEC.BAT присутствует). Благодаря указанию команды PROMPT=$P$G в командной строке выводится информация об активном диске и пути к каталогу. Строка SET ТЕМР= предназначает область в каталоге ТЕМР для хранения временных файлов.
Команда РАТН создает специальный набор путей, в которых DOS будет искать выполняемые файлы (EXE, СОМ, и ВАТ). В приведенном выше примере DOS сначала будет искать выполняемые файлы в корневом каталоге (С:\), затем в каталоге C:\DOS и, наконец, в каталоге C:\MOUSE. В данном случае этот оператор позволяет запускать драйвер управления мышью (MOUSE.COM или MOUSE.EXE), находясь в любом каталоге системы. После получения команды MOUSE ОС просматривает все каталоги, перечисленные в переменой пути, пока не отыщет указанный файл.
Синтаксис команды РАТН играет существенную роль. Каждая запись должна начинаться с корневого каталога и отделяться от предыдущей записи символом точки с запятой. В команде РАТН не должны присутствовать пробелы.
Команда DOSKEY загружает в память программу Doskey. Команда SMARTDRV.EXE 2048 1024 создает в системе дисковый кэш размером 2 Мб в DOS и кэш 1 Мб в Windows. После создания кэша команда CD\ заставляет DOS автоматически перейти в корневой каталог. Последняя строка запускает DOS-команду DIR.
Выполнение файла AUTOEXEC.BAT можно прервать нажатием клавиши Pause (Пауза) на клавиатуре. Работа возобновляется по нажатию любой клавиши. В DOS версии 6.2 интерактивная процедура обхода по клавише F8, предназначенная для обхода файла CONFIG.SYS, расширена и выполняет обход файла AUTOEXEC.BAT.
Командами для пакетных файлов DOS можно воспользоваться для создания тщательно выверенных процедур запуска системы. С помощью этих же команд можно также разрабатывать пакетные файлы, предназначенные, скажем, для проверки портов и периферийных устройств. Пакетные файлы должны называться в соответствии с соглашениями по именованию файлов в DOS. Они должны получать расширения .ВАТ, что позволит запускать их из командной строки DOS, причем не указывая расширение.
Следует помнить, что для нормальной работы компьютера в режиме DOS не требуется ни одного из рассмотренных специальных файлов. Тем не менее, они оказываются весьма полезными при точной настройке системы под выполнение конкретных задач или прикладных программных пакетов. При помощи команды DIR можно определить наличие одного или обоих файлов CONFIG.SYS и AUTOEXEC.BAT.