Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач.docx
Скачиваний:
48
Добавлен:
02.09.2019
Размер:
693.96 Кб
Скачать

4 Проектирование командного языка ос

4.1 Интерактивные команды

Правила именования:

  • физические устройства именуются кодом из латинских букв и цифр;

  • логические диски именуются буквами латинского алфавита (‘a’…’z’);

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

Таблица 1 - Таблица интерактивных команд

Мнемоника

Наименование

Параметр 1

Параметр 2

Описание

Тип

Диапазон

значений

по умолчанию

Тип

Диапазон

значений

по умолчанию

LogIn

Начало сеанса работы пользователя

строка

Буквы

“гость”

пароль

символы

-

Начало сеанса работы и загрузка личных параметров

(параметр 1 – имя пользователя, параметр 2 – пароль)

LogOff

Завершение сеанса работы пользователя

-

-

-

-

-

-

Завершение сеанса работы

CreateProc

Создать процесс

строка

Буквы

и цифры

-

Создание и запуск процесса с заданным именем

GoToProc

Перейти на процесс

строка

Буквы

и цифры

-

-

-

-

Перейти на созданный процесс для непосредственной работы

KillProc

Уничтожить процесс

строка

Буквы

и цифры

-

-

-

-

Принудительное уничтожение процесса с заданным именем

CreateDir

Создать каталог

строка

Буквы

и цифры

-

Строка

a, r, h, s

a

Создать каталог с заданным именем (1 параметр - путь) и атрибутами (а – архивный, r – только чтение, h – скрытый, s – системный)

DeleteDir

Удалить каталог

строка

Буквы

и цифры

-

-

-

-

Удалить каталог с заданным именем (путь)

CreateFile

Создать файл

строка

Буквы

и цифры

-

Строка

a, r, h, s

a

Создать файл с заданным именем и атрибутами

DeleteFile

Удалить

файл (ы)

строка

Буквы

и цифры, *, ?

-

-

-

-

Удалить файл с заданным именем (путь)

(* - любые символы, ? – любой символ)

Copy

Копирование

строка

Буквы

и цифры, *, ?

-

Строка

Буквы

и цифры

-

Копировать файлы и каталоги из источника (задание расположения файла, который требуется скопировать – имя ) в назначение (задание расположения, в которое требуется скопировать файл)

Move

Перенос файлов

Строка

Буквы

и цифры, *, ?

-

Строка

Буквы

и цифры

-

Записать системные файлы из источника (путь или имя файлов для переменных) в результат (путь или имя, куда требуется переместить файл)

Access

Право на доступ

Строка

Буквы

и цифры, *, ?

-

Строка

Буквы

-

Устанавливает разрешение на доступ к файлам и каталогам (параметр 1 – маска файлов, параметр 2 – группа пользователей, имеющих право на доступ)

Info

Информация

Строка

Буквы

и цифры, *, ?

-

Строка

dir, file, proc

proc

Выводит информацию на экран о состоянии процесса или о директории или о файле

4.2 Системные вызовы

Таблица 2 - Таблица системных вызовов

Системная функция

Наименование

Параметр 1

Параметр 2

Описание

Тип

Диапазон

значений

Тип

Диапазон

значений

CrChildProc

Создать дочер. процесс

строка

Буквы

-

-

Создание дочернего процесса

WaitForProc

Ожидать сообщение от процесса

строка

Буквы

-

-

Ожидание сообщения от процесса

KillChildProc

Уничтожить процесс

строка

Буквы

-

-

Принудительное уничтожение дочернего процесса64

GetCodeExitChild

Получить код завершения

строка

Буквы

-

-

Получить код завершения дочернего процесса

GetCodeExit

Получить код завершения

строка

Буквы

-

-

Получить код завершения процесса

SelectMem

Выделить память

число

0.. 216

число

0..max

Выделение памяти с 1 параметром – адрес и 2 параметром – кол-во (max – системная переменная, хранящая максимальное значение выделяемой памяти)

FreeMem

Освободить память

число

0…216

-

-

Освобождение памяти по указателю (параметр – адрес)

InPort

Ввод из порта

число

0..10

число

0.. 216

Ввод из порта (1 параметр – адрес порта, т.е. № порта, 2 параметр – адрес назначения )

OutPort

Запись в порт

число

0..10

число

0..216

Запись в порт(1 параметр – адрес порта, т.е. № порта, 2 параметр – адрес назначения )

OpenFile

Открыть файл

строка

Буквы

число

0..216

Открыть файл ([/r]-открыть для чтения; [/w]-открыть зля записи;[/p]-пароль для доступа;)

1 параметр – путь. имя, 2 параметр - адрес

CloseFile

Закрыть файл

число

0.. 216

-

-

Закрыть файл (параметр – адрес)

InstPosit

Установить позицию файла

число

0.. 216

число

0..232

Установить позицию в файле, заданным своим дескриптором (1 параметр – адрес файла, 2 параметр - позиция)

WriteFile

Запись байта в файл

число

0.. 216

число

0..255

Записать байт в файл и сместить позицию (1 параметр – адрес, 2 параметр – на сколько сместить позицию)

ReadFile

Чтение байта из файла

число

0.. 216

число

0..255

Прочитать байт из файла и сместить позицию

4.3 Язык пакетных файлов

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

В пакетный файл можно включать любую команду. Некоторые команды, такие команды как FOR, GOTO и IF,позволяют выполнить обработку условий в пакетных файлах.

Например, IF позволяет запускать команды в зависимости от выполнения заданного условия. Другие команды позволяют управлять выводом и вводом, а также запускать другие пакетные файлы.

Таблица 3 – Язык пакетных файлов

Формат команды

Наименование

Описание

IF [not] строка 1 == строка2 команда [else выражение]

IF [not] ERRORLEVEL число

команда [else выражение]

IF [not] exist имя_файла

команда [else выражение]

IF строка1 оп_сравнения строка2

команда [else выражение]

Обработка условий в пакетных программах

Not – задает выполнение команды только в случае невыполнения условия

Errorlevel число – условие выполняется, если предыдущая команда завершилась с кодом, равным или большим число

Команда – команда, кот-я д/б обработана в случае выполнения условия

Строка1==строка2 – условие выполняется, если строка1 и строка2 совпадают

Exist имя_файла – условие выполняется, если существует файл с именем имя_файла

Оп_сравнения EQU – равно, NEQ – не равно, LSS – меньше, LEQ – меньше и равно, GTR – больше, GEQ – больше и равно

Выражение – команда и все ее параметры для обработки в командной строке при выполнении оператора else

GOTO <метка>

Безусловный переход

В пакетной программе передает управление ОС в строку, определенную меткой. Когда метка найдена, выполнения продолжается со следующей за ней строки.

Метка – строка в пакетной программе, к которой выполняется переход

PAUSE

пауза

Приостанавливает выполнение пакетной программы с выводом сообщения об ожидании нажатия пользователем любой клавиши

CALL <путь> <пакетные_параметры><:метка> <аргументы>

Вызов пакетного файла

Вызов одного пакетного файла из другого без завершения выполнения первого файла

Путь – задает имя и место положение пакетного файла для запуска

Пакетные_параметры – задает данные командной строки, используемые программой пакетной обработки

:метка – указывает метку, на которую должно быть передано управление программой пакетной обработки

Аргументы – задает данные командной строки, которые передаются в новый экземпляр программы пакетной обработки, начиная с :метка

ERRORLEVEL – Системная переменная, хранящая код завершения процесса для данного пакетного файла.