2. Командный процессор Command.Com
Остановимся более подробно на той роли, которую играет в работе операционной системы командный процессор COMMAND.COM1. Выделение его в отдельный блок было обусловлено желанием разработчиков MS DOS предусмотреть возможность гибкой замены синтаксиса системы управляющих команд.
Взаимодействие пользователя с операционной системой осуществляется с помощью командной строки. В начале командной строки всегда имеется приглашение (к вводу команды) MS DOS. По умолчанию в качестве приглашения выводятся имена текущих диска (логического устройства) и каталога. Приглашение заканчивается символом >. В принципе, его внешний вид по желанию пользователя Может быть изменен: в строке могут быть отображены текущее время и дата, путь, символы-разделители и т. п. Простейший вид командной строки с набранной командой (dir/w) показан на рис. 1.
Рис. 1. Командная строка MS DOS
Работа в операционной системе MS DOS организуется с помощью команд, которые вызывают определенную последовательность действий компьютера.
Ввод команды осуществляется в командной строке в соответствии со следующими правилами:
o команда DOS состоит из имени команды (вводится латинскими буквами, регистр не имеет значения) и отделенных от него пробелом параметров (ключей, опций), уточняющих действия команды;
o формат параметров определяется исключительно внутренней логикой работы команды. В некоторых случаях они могут просто отсутствовать. Часто в качестве признака начала параметра (или для отделения параметров друг от друга) используются символы / или -. В состав параметров могут входить имена файлов.
Для того чтобы получить контекстную справочную информацию по формату команды, ее надо ввести с параметром / ?, как это показано на рис. 2.:
Рис. 2. Получение справки по команде Сору
Для ввода команды следует:
- в соответствии с форматом в командной строке набрать имя и необходимые
параметры команды;
- нажать клавишу ввода - Enter. При отсутствии ошибок в формате команды
будет выполнено указанное действие, а при их наличии - выведено соответствующее сообщение.
- результат выполнения команды dir, запущенной с параметром /w, задающим вывод содержимого текущего каталога в несколько столбцов, показан на рис. 3.
Рис. 3. Результат выполнения команды dir/w
При вводе команды пользователем управление передается командному процессору Command.Com, первой функцией которого является синтаксический анализ. Можно сформулировать несколько принципов классификации команд операционной системы MS DOS:
1) по способу реализации: резидентные (внутренние, встроенные); транзитные (внешние, утилиты, обслуживающие);
2) по функциональному назначению: команды для работы с каталогами, с файлами, с дисками, для управления памятью и устройствами, для конфигурирования системы и др.
Резидентные (встроенные) команды входят в состав командного процессора COMMAND.COM и после окончания загрузки операционной системы MS DOS располагаются в оперативной памяти, доступны в любой момент времени. В качестве примера встроенных команд могут быть названы:
DIR - выводит информацию о содержании каталогов логических устройств; COPY - выполняет операции копирования файлов и каталогов;
DEL - выполняет операции удаления файлов и каталогов;
REN - выполняет операции по переименованию файлов и каталогов;
CLS - очищает содержимое экрана;
DATE - вывод/корректировка текущей даты;
TIME - вывод/корректировка текущего времени;
PATH - вывод/задание списка каталогов, в котором (последовательно) будет искаться файл с запускаемой программой, если он не найден в текущем каталоге и явно не задано его полное имя.
Транзитные команды (утилиты) реализуются в виде файлов с расширениями *.СОМ или *.ЕХЕ. С точки зрения процедуры запуска они ничем не отличаются от любых других служебных и прикладных программ, не входящих в операционную систему.
Идеология реализации основной части функций операционной системы через внешние утилиты, заложенная в MS DOS, позволила на начальном этапе развития обеспечить исключительную компактность ее ядра, что было очень важно для первых моделей персональных компьютеров, ограниченных по аппаратным возможностям. В дальнейшем это обеспечило широкие возможности по наращиванию функциональности системы исключительно за счет добавления все новых и новых утилит. Одновременно такая открытость в организации MS DOS очень быстро сформировала развитой рынок дополнительного сервисного программного обеспечения, предлагаемого независимыми по отношению к Microsoft разработчиками. Среди наиболее "популярных" DOS-утилит могут быть названы:
- FORMAT - программа форматирования внешних запоминающих устройств;
- SCANDISK - служебная программа проверки состояния дисков;
- FDISK - утилита для разбиения жестких дисков на логические разделы;
- XCOPY - утилита, реализующая расширенные операции копирования файлов и каталогов.
Особенностью MS DOS является то, что любая строка, не распознанная синтаксическим анализатором в качестве внутренней команды, считается именем файла, содержащим программу (служебную или прикладную), которую следует выполнить. Если такой файл не удается найти, то выводится сообщение
Имя команды или файла указано неправильно или в англоязычных версиях
Bad command or file name
Таблица 1. содержит стандартные типы расширений имен файлов, часто встречающихся в MS DOS и DOS-совместимых операционных системах.
Таблица 1. Стандартные типы файлов и их расширения
Расширение Тип файла
*.СОМ Исполняемый файл (компактный файл, размером до 64 Кбайт)
*.ЕХЕ Исполняемый файл
*.ВАТ Командные (пакетные) файлы, см. 4.3.3
*.DAT Файл с данными
*.НЕХ Файл с данными, представляемыми в шестнадцатеричном формате
*.OVR Файл с оверлейными (догружаемыми в процессе выполнения) частями программ
*.DLL Файл с динамически компонуемыми библиотеками (Dynamic Linked Libraries). Содержит программные модули, общие для различных задач в формате MS Windows, которые ими вызываются в процессе выполнения
*.ВАК Резервная копия файла, сохраняемая перед началом каких-либо операций с ним (от англ, backup)
*.SYS Системный файл
*.ТМР Временный файл
*.ТХТ Текстовый файл
*.DOC Файл с документом (допустим в формате текстового процессора MS Word)
*.BAS Файл с текстом программы на языке BASIC
*.PAS Файл с текстом программы на языке Паскаль (Pascal)
*.С Файл с текстом программы на языке С
*.OBJ Объектный модуль - скомпилированная программная процедура, переведенная в машинные коды
*.UB Библиотека - объединенная в единый файл специального формата совокупность объектных файлов
