Запуск КП NDOS

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.