Команды защиты памяти
Первые четыре команды, описанные в данном разделе, доступны только
как часть домена NLM. Остальные команды являются частью операционной
системы и доступны в любое время. Каждую команду защиты памяти
определяют следующие соглашения:
Пример | Описание |
команда | Слова, набранные в командной строке. |
число-число | Диапазон допустимых значений. |
одно_слово | Текст, введенный без пробелов. |
"одно или более слов" | Текст, введенный с пробелами. |
(необязательное) | Необязательное слово или число. |
[on / off] | Список допустимых в командной строке параметров. |
domain
Данная команда перечисляет текущий домен и все другие существующие
домены. Когда вы загружаете NLM-модуль, он всегда будет загружаться
в текущий домен. При запуске по умолчанию назначается домен OS.
Эта команда перечисляет также NLM-модули, загруженные в каждый
домен.
domain={имя_домена}
Данная команда устанавливает текущий домен в имя_домена (внутренние
пробелы в этом имени не допускаются).
domain ring 1-3
Данная команда изменяет номер кольца защиты домена OS_Protected
на 1, 2 или 3. По умолчанию домен OS_Protected имеет номер кольца
1. Помните о том, что в настоящее время NetWare поддерживает только
домены OS и OS_Protected. Таким образом, не важно, зададите вы
1, 2 или 3, поскольку все три кольца представляют домен OS_Protected.
domain_help
Данная команда выводит на экран основную информацию о доменных
командах.
set read fault emulation={on/off}
Данная команда определяет действие, которое будет выполнять операционная
система, когда в известной памяти происходит обращение к отсутствующей
странице. Обращение к отсутствующей странице происходит, когда
процесс пытается считать адрес памяти, не отображенный в его домен.
Если в этой команде установлено ON, операционная система временно
отображает страницу памяти в текущий домен и считывает ячейку
памяти. Затем страница отображается вне домена. Получение уведомления
об отсутствии страницы зависит от установки флага "set read
fault notification".
Если эта команда устанавливается в OFF, а "set allow invalid
pointers" также установлено в OFF, то попытка считать несуществующую
память дает в результате ситуацию чтения отсутствующей страницы.
Предпринимаемое доменом NLM действие зависит от флага "set
developer option", но может включать в себя карантин процесса,
NLM и/или весь домен. Кроме того, может произойти аварийное завершение
работы сервера. По умолчанию устанавливается OFF.
Термин "карантин" означает изоляцию всего домена. Система
запрещает вызовы из поставленного на карантин домена. Операционная
система предусматривает также для разработчиков средство регистрации
своих собственных подпрограмм обработки карантина.
set read fault notification={on/off}
Данная команда определяет, когда операционная система выводит
сообщение на консоль или записывает его в файл регистрации. Если
команда "set read fault emulation" или "set allow
invalid pointers" установлены в ON, и происходит чтению по
отсутствующему адресу, то, если эта команда установлена в ON,
операционная система посылает на экран консоли и в файл регистрации
сообщение, описывающее детали по чтению отсутствующей страницы.
set write fault emulation={on/off}
Данная команда определяет действие, выполняемое операционной
системой, когда в известной памяти происходит запись в несуществующую
страницу. Когда данная команда устанавливается в ON, операционная
система временно отображает запрошенную страницу памяти в текущий
домен, и операционная система выполняет инструкцию записи. Затем
операционная система отменяет отображение страницы в текущем домене.
Уведомление об обращении к несуществующей странице зависит от
флага "set write fault notification".
Если эта команда установлена в OFF, и "set alloow invalid
pointers" также установлено в OFF, то попытка записи в отсутствующую
страницу памяти приводит к ситуации обращения к несуществующей
странице. Предпринимаемое доменом NLM действие зависит от состояния
флага "set developer option", но может включать в себя
карантин процесса, NLM и/или всего домена. Кроме того, может происходить
аварийное завершение работы сервера. По умолчанию устанавливается
значение OFF.
set write fault notification={on/off}
Данная команда определяет, когда операционная система записывает
сообщение на экран консоли или в файл регистрации. Если "set
write fault emulation" или "set allow invalid pointers"
устанавливается в ON, и происходит запись в несуществующую страницу,
то, если данная команда установлена в ON, операционная система
посылает сообщение, описывающее детальную информацию по обращению
к несуществующей странице, на экран консоли и в файл регистрации.
set allow invalid pointers={on/off}
Данная команда определяет действие, выполняемое операционной
системой при чтении или записи в несуществующую страницу, и эта
ситуация не обрабатывается эмуляцией чтения или записи в несуществующую
страницу. Если данный параметр установлен в ON, то операционная
система отображает недопустимую (несуществующую) страницу памяти
по данному адресу, что позволяет обработать обращение к памяти.
Отсутствующая страница остается отображенной, пока данный параметр
не будет выключен, или пока отображенная станица памяти не будет
повторно использована для отображения другого отсутствующего адреса.
Уведомлением пользователя о ситуации обращения по несуществующему
адресу управляют команды "set read fault notification"
и "set write fault notification".
Если данная команда установлена в OFF, то попытка чтения или записи
отсутствующей страницы дает ситуацию обращения к несуществующей
странице. Выполняемое доменом NLM действие зависит от состояния
флага "set developer option", и может включать в себя
карантин процесса, NLM и/или всего домена. Кроме того, может происходить
аварийное завершение работы сервера. По умолчанию устанавливается
значение OFF.
set developer={on/off}
Данная команда позволяет вам разрешить или запретить параметр,
связанный с операционной средой разработчика. Если эта команда
установлена в ON, то необработанная исключительная ситуация или
прерывание приводит к аварийному завершению или вызову отладчика.
Если эта команда установлена в OFF, то необработанная исключительная
ситуация или прерывание будет вызывать карантин текущего домена.