8.8.2. Запуск
КП NDOS
Файлы NDOS удобнее всего разместить в корневом каталоге системного диска.
Подключение NDOS к системе может быть выполнено двумя способами:
1) из файла CONFIG.SYS при помощи команды SHELL = , в результате чего NDOS полностью заменяет КП DOS;
2) из любого командного файла, в частности, AUTOEXEC.BAT, или в ответ на
приглашение DOS, вследствие чего NDOS запускается поверх КП DOS.
Первый способ оптимален с точки зрения потребного
объема памяти, но не обеспечивает оперативного переключения с NDOS на КП DOS без предварительной коррекции файла CONFIG.SYS и перезагрузки системы.
Второй способ требует дополнительно 4 — 5 Кбайт
памяти для хранения резидентного модуля КП DOS, но зато иногда
помогает преодолеть проблемы несовместимости
выполняемых программ с NDOS.
Независимо от способа подключения NDOS к системе применяется единый формат его запуска, аналогичный COMMAND.COM'y:
NDOS [.COM] [/P] [/С string] [/U] [/S: {◄D[dir]► | E | X | B}] [/E:n[U]] [/H:m] [/A:p] file
При запуске NDOS из CONFIG.SYS расширение COM указывать обязательно; в противном случае оно факультативно. Перед NDOS, возможно,
потребуется задать маршрут.
Переключатели /Е, /Р и /С имеют тот же смысл,
что и при запуске КП DOS (см. описание команды COMMAND в п. 5.6.6). Нужно только иметь в виду, что символ U в переключателе /Е требует загрузить окружение NDOS в верхнюю UMB-память, если она
доступна. Само п в переключателе /Е
может лежать в диапазоне 256 — 32000, причем по умолчанию принимается 512.
Когда задан переключатель /Р (для файла CONFIG.SYS он обязателен), NDOS автоматически выполнит командный файл AUTOEXEC.BAT, если таковой в
корневом каталоге системного диска имеется.
Аргумент file определяет
командный файл, который будет выполнен сразу после запуска NDOS, если ни один из
переключателей /Р и /С не задан.
Остальные переключатели интерпретируются следующим образом:
/U —
загрузить NDOS в UMB-память, если такая загрузка поддерживается DOS;
/S:{◄D[dir]► | Е| X| В} — установить свопинг на диск (D) в каталог dir (допустимо указание виртуального диска), в отображаемую память (Е) или в
расширенную память (X). Если dir не задан, то предполагается корневой каталог диска, указанного в
значении глобальной переменной COMSPEC (в частности, системного диска). Свопинг в отображаемую или расширенную
память возможен, если к системе подключен драйвер по управлению соответствующим
типом дополнительной памяти. По умолчанию предполагается задание /S:B, что означает установку свопинга, в первую
очередь, в расширенную память, при ее недоступности — в отображаемую память, а
в крайнем случае — на диск;
/Н:т — выделить для хранения истории ввода командных
строк область памяти размером т байт в диапазоне 512 — 8192 (по умолчанию
принимается 1024);
/А:р —
выделить для хранения определений синонимов область памяти размером
р байт (по умолчанию принимается 1024).
При запуске NDOS с переключателем /Р из файла AUTOEXEC.BAT возникает проблема циклического выполнения этого файла. Она решается,
если AUTOEXEC.BAT имеет следующую структуру:
IF условие GOTO CONTINUE
. . .
NDOS ... /Р
:CONTINUE
. . .
Условие в команде IF должно быть таким, чтобы оно выполнялось при работе в среде NDOS и не выполнялось в среде КП DOS. Тривиальным
примером такого условия может быть %@EVAL[3] = = 3, которое
интерпретируется следующим образом: «результат вычисления выражения 3 равен
трем».
Если требуется запустить NDOS из середины файла AUTOEXEC. ВАТ без
переключателя /Р, то для выполнения остатка этого
файла сделайте следующее:
1) оформите остаток файла AUTOEXECBAT в виде отдельного командного файла, например,
с именем START.BAT;
2) поместите в конец
усеченного файла AUTOEXECBAT командную строку
NDOS ... START.BAT
Если Вы часто запускаете NDOS с клавиатуры и Вам каждый раз требуется
указывать одно и то же множество аргументов с переключателями, то избавиться от
этого можно путем установки значения глобальной переменной NDSHELL. Таковым должна
быть командная строка подключения NDOS к системе без указания самого NDOS. Тогда для запуска
КП нужно будет специфицировать только имя NDOS, а все аргументы и
переключатели будут заимствованы из глобальной переменной . NDSHELL. В качестве
альтернативы Вы можете присвоить какой-либо глобальной переменной пате требуемое значение и запускать NDOS командной строкой вида NDOS %пате.
Оверлейный файл NDOS ищется по значению глобальной переменной COMSPEC.