logo
Лекции по информатике и программированию

3.2. Командный процессор Command.Com

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

Взаимодействие пользователя с операционной системой осуществляется с помощью командной строки. В начале командной строки всегда имеется приглашение (к вводу команды) MS DOS. По умолчанию в качестве приглашения выводятся имена текущих диска (логического устройства) и каталога. Приглашение заканчивается символом >. В принципе, его внешний вид по желанию пользователя может быть изменен: в строке могут быть отображены текущее время и дата, путь, символы-разделители и т. п. Простейший вид командной строки с набранной командой (dir/w) выглядит следующим образом: С:\UTIL>dir /w.

Работа в операционной системе MS DOS организуется с помощью команд, которые вызывают определенную последовательность действий компьютера.

Ввод команды осуществляется в командной строке в соответствии со следующими правилами:

Для того чтобы получить контекстную справочную информацию по формату команды, ее надо ввести с параметром /?, например: С:\UTIL>copy /?.

Для ввода команды следует:

При вводе команды пользователем управление передается командному процессору Command.com, первой функцией которого является синтаксический анализ.

Можно сформулировать несколько принципов классификации команд операционной системы MS DOS:

  1. по способу реализации: резидентные (внутренние, встроенные); транзитные (внешние, утилиты, обслуживающие);

  2. по функциональному назначению: команды для работы с каталогами, с файлами, с дисками, для управления памятью и устройствами, для конфигурирования системы и др.

Резидентные (встроенные) команды входят в состав командного процессора COMMAND.СОМ и после окончания загрузки операционной системы MS DOS располагаются в оперативной памяти, доступны в любой момент времени. В качестве примера встроенных команд могут быть названы:

Транзитные команды (утилиты) реализуются в виде файлов с расширениями *.СОМ или *.ЕХЕ. С точки зрения процедуры запуска они ничем не отличаются от любых других служебных и прикладных программ, не входящих в операционную систему.

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

Среди наиболее «популярных» DOS-утилит могут быть названы:

Особенностью MS DOS является то, что любая строка, не распознанная синтаксическим анализатором в качестве внутренней команды, считается именем файла, содержащим программу (служебную или прикладную), которую следует выполнить. Если такой файл не удается найти, то выводится сообщение

Имя команды или файла указано неправильно

или в англоязычных версиях

Bad command or file name

Таблица 1 содержит стандартные типы расширений имен файлов, часто встречающихся в MS DOS и DOS-совместимых операционных системах.

Таблица 1. Стандартные типы файлов и их расширения

Расширение

Тип файла

*.СОМ

Исполняемый файл (компактный файл, размером до 64 Кбайт)

*.ЕХЕ

Исполняемый файл

*.ВАТ

Командные (пакетные) файлы

*.DAT

Файл сданными

*.НЕХ

Файл с данными, представляемыми в шестнадцатеричном формате

*.OVR

Файл с оверлейными (догружаемыми в процессе выполнения) частями программ

*.DLL

Файл с динамически компонуемыми библиотеками (Dynamic Linked Libraries). Содержит программные модули, общие дли различных задач в формате MS Windows, которые ими вызываются в процессе выполнения

*.ВАК

Резервная копия файла, сохраняемая перед началом каких-либо операций с ним (от англ. backup)

*.SYS

Системный файл

*.ТМР

Временный файл

*.TXT

Текстовый файл

*.DOC

Файл с документом (допустим в формате текстового процессора MS Word)

*.BAS

Файл с текстом программы на языке BASIC

*.PAS

Файл с текстом программы на языке Паскаль (Pascal)

*.C

Файл с текстом программы на языке С

*.OBJ

Объектный модуль - скомпилированная программная процедура, переведенная в машинные коды

*.LIВ

Библиотека - объединенная в единый файл специального формата совокупность объектных файлов

Достаточно часто при работе с операционной системой возникает необходимость организации автоматического выполнения целого ряда команд (одной за другой), или, как еще говорят, пакетного выполнения. Средством пакетной обработки является командный (пакетный) файл. Он облегчает работу пользователя за счет автоматизации выполнения часто повторяющейся совокупности команд и освобождает его от необходимости запоминания многих деталей и тонкостей форматов команд.

Командные файлы, работающие в операционной среде MS DOS, имеют расширение *.ВАТ (от английского batch - пачка).

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