Операционная система NetWare




Распределение и защита основной памяти - часть 2


Для этого в поле RPL селектора адреса копируется 2-битовый уровень привилегий из селектора сегмента кода, загруженного в регистр CS. Таким образом, поле RPL определяет уровень доступа программы к странице. Если значение RPL не превышает значения DPL дескриптора, то программе разрешается доступ к странице. Описанный механизм ограничения доступа называется кольцевой защитой памяти. NetWare 4.х поддерживает только два уровня доступа: 0 и 3 (значения поля RPL). Уровни 1 и 2 эквивалентны уровню 3. В NetWare 4.х самый привилегированный уровень 0 обозначается как OS, а уровень 3 - как OS_PROTECTED.

Доменная защита памяти в NetWare 4.х заключается в том, что для каждого уровня доступа (OS и OS_PROTECTED) определена своя двухуровневая таблица страниц (Page Table). Работающий в кольце (домене) процесс не может видеть адреса памяти, не отображённые явно на этот домен. Следовательно, для одного домена логически не существует пространства памяти (адресов) другого домена.

Рис. 2.6. Организация доступа программы к ОП

Таким образом, в NetWare 4.х оперативную память можно разделить на два домена (рисунок 2.7).

Рис. 2.7. Домены NetWare 4.x

В домен OS загружаются ядро ОС и системные NLM-модули, а в домен OS_PROTECTED можно загружать отлаживаемый NLM-модуль. При попытке несанкционированного доступа к страницам домена OS отлаживаемый NLM-модуль будет аварийно завершён. Таким образом, в NetWare 4.х можно отлаживать новые программы на работающей системе. После отладки модуля его рекомендуется загружать в домен OS. Это связано с тем, что время переключения между доменами достаточно велико.

Для создания двухдоменной структуры памяти достаточно перед загрузкой NetWare 4.х поместить в конфигурационный файл команду

LOAD DOMAIN

Далее в процессе функционирования системы с консоли файлового сервера можно вводить следующие команды:

DOMAIN=OS - последующие NLM-модули, загружаемые по LOAD, будут принадлежать домену OS,

DOMAIN=OS_PROTECTED - последующие NLM-модули, загружаемые по LOAD, будут принадлежать домену OS_PROTECTED.




Содержание  Назад  Вперед