Командный (консольный) интерфейс ОС. Виртуальная машина MS-DOS, интерпретатор команд и его функции. Синтаксис консольных команд. Система команд и их классификация
Для того чтобы производить операции над файлами и директориями в MS-DOS, пользователю необходимо давать клавиатурные команды, т. е. набирать команды на клавиатуре и нажимать затем клавишу Enter. На самом деле клавиатурные команды — это имена небольших, программ, входящих в состав MS-DOS. Когда пользователь вводит команду, система ищет программу с аналогичным им нем и выполняет ее. Все команды делятся на внутренние и внешние. Программы, соответствующие внутренним командам, находятся в командном процессоре DOS-файле с названием COMMAND.СОМ — это наиболее часто используемые команды. Программы, соответствующие внешним командам, находятся на диске в виде отдельных файлов с такими же, как и команды, названиями. При вводе команды система сначала ищет соответствующую программу в файле COMMAND.СОМ, а если она там не найдена, то на диске, среди файлов системы MS-DOS; затем эта программа выполняется.
Командный процессор DOS обрабатывает команды, вводимые пользователем. Командный процессор находится в дисковом файле COMMAND.COM на диске, с которого загружается операционная система. Внутренние команды пользователя, например type, dir или сору, командный процессор выполняет самостоятельно.Для выполнения остальных (внешних) команд пользователя командный процессор отыскивает на дисках программу с соответствующим именем и передает, ей управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению команд (приглашение DOS).
Функции:
• прием команд с клавиатуры или из bat-файлов и их выполнение;
• выполнение команд файла autoexec.bat при загрузке MS-DOS;
• загрузка в ОЗУ и запуск на выполнение прикладных программ в среде MS-DOS.
Командный процессор состоит из 3 частей:
• резидентной — она размещается в ОЗУ сразу после msdos.sys, включает процедуры обслуживания некоторых прерываний, процедуры обработки стандартных ошибок MS-DOS, процедуру загрузки транзитной части командного процессора;
• инициализирующей — в ОЗУ она следует сразу за резидентной частью, во время загрузки ОС ей передается управление, она выполняет файл autoexec.bat и некоторые другие действия. Эта часть командного процессора стирается из ОЗУ первой же загруженной программой;
• транзитной (загружается в старшие адреса ОЗУ; обрабатывает все внутренние команды, команды с клавиатуры и из bat-файлов; выдает системную подсказку MS-DOS, загружает в ОЗУ программы и передает им управление).
Внешние команды (программы) — дополнительные программы, входящие в MS-DOS, выполняющие определенные функции. Это программы, поставляемые вместе с операционной системой в виде отдельных файлов, которые выполняют действия обслуживающего характера, например форматирование дискет, проверку дисков и т. д.
Драйверы устройств — это специальные резидентные программы, которые дополняют систему ввода-вывода DOS и обеспечивают обслуживание новых или нестандартное использование имеющихся устройств. Например, с помощью драйверов возможна работа с “электронным диском”, т. е. с частью памяти компьютера, с которой можно работать так же, как с диском. Драйверы загружаются в память
По источнику возникновения команды
- Асинхронные (команды события - сочетания клавиш)
- Синхронные – команды, которые имеют имя, их можно изд. по приглашению ОС.
- внутренние (встроенные, резидентные) – наход. в command.com
- внешние (отдельные файлы на диске)
Функц. классификация:
1.файлов. команды
команды для каталогов
2. дисков. команды.
3. команды настройки и конфигурация ОС
4. команды для пакетн. файлов
5. команды для config.sys
41Внутренние команды командного интерфейса ОС. Формат вызова, механизм внутренней реализации. Примеры внутренних команд VDM.
Команды COMMAND.COM делятся на внутренние, и внешние. Внутренние команды поддерживаются самим COMMAND.COM, внешние команды являются файлами, которые хранятся на дисках и имеют расширение .COM, .EXE или .BAT.[4][5]
Часть внутренних команд используются в пакетных файлах для их оформления, организации их работы и для управления последовательностью выполнения прочих команд. Среди них:
:имя_метки
Задание имени метки для команды GOTO. Часто используется и в качестве комментария.
FOR
Повтор некоторой команды для каждого файла из заданного списка.
GOTO
Переход к метке внутри пакетного файла.
REM
Комментарий: любой текст в строке после этой команды игнорируется.
IF
Задание условия, в зависимости от которого происходит выполнение разных команд.
CALL
Приостановка выполнения текущего командного файла, запуск другого, по окончании работы вызванного файла возобновление выполнения текущего файла.[6]
START
Запуск исполняемого или командного файла, указанного в параметре этой команды, без ожидания завершения его выполнения.