Базовый и ограничительный регистры

В простом решении используется весьма примитивная версия динамического перераспределения памяти. При этом адресное пространство каждого процесса просто проецируется на различные части физической памяти.
Классическое решение, примененное на машинах от CDC 6600 (первого в мире суперкомпьютера) до Intel 8088 (сердца первой модели IBM PC), заключается в оснащении каждого центрального процессора двумя специальными аппаратными регистрами, которые обычно называются базовым и ограничительным регистрами. При использовании этих регистров программы загружаются в последовательно расположенные свободные области памяти без модификации адресов в процессе загрузки (см. рис. 3.2, в). При запуске процесса в базовый регистр загружается физический адрес, с которого начинается размещение программы в памяти, а в ограничительный регистр загружается длина программы. На рис. 3.2, в при запуске первой программы базовыми и ограничительными значениями, загружаемыми в эти аппаратные регистры, будут соответственно 0 и 16 384. При запуске второй программы будут использованы значения 16 384 и 32 768 соответственно. Если непосредственно над второй будет загружена и запущена третья программа, имеющая объем 16 Кбайт, значениями базового и ограничительного регистров будут 32 768 и 16 384 соответственно.

При каждой ссылке процесса на память с целью извлечения команды или записи слова данных аппаратура центрального процессора перед выставлением адреса на шине памяти добавляет к адресу, сгенерированному процессом, значение базового регистра. Одновременно аппаратура проверяет, не равен ли предлагаемый адрес значению ограничительного регистра или не превышает ли он это значение (в этом случае генерируется отказ и доступ прерывается). Если взять первую команду второй программы (см.

рис. 3.2, в), то процесс выполняет команду

1МР 28

но аппаратура рассматривает ее как команду 1МР 16412

поэтому переход осуществляется, как и ожидалось, на команду СМР. Значения базовых и ограничительных регистров при выполнении второй программы на рис. 3.2, в показаны на рис. 3.3.

Рис. 3.3. Для предоставления каждому процессу отдельного адресного пространства могут использоваться базовый и ограничительный регистры

Использование базового и ограничительного регистров — это простой способ предоставления каждому процессу собственного закрытого адресного пространства, поскольку перед обращением к памяти к каждому автоматически сгенерированному адресу добавляется значение базового регистра. Многие реализации предусматривают такую защиту базового и ограничительного регистров, при которой изменить их значения может только операционная система. Именно так был устроен компьютер CDC 6600, в отличие от компьютеров на основе Intel 8088, у которых не было даже ограничительного регистра. Но у последних было несколько базовых регистров, позволяющих, к примеру, реализовать независимое перемещение текста и данных программы, но не предлагающих какой-либо защиты от ссылок за пределы выделенной памяти.

Недостатком перемещений с использованием базовых и ограничительных регистров является необходимость применения операций сложения и сравнения к каждой ссылке на ячейку памяти. Сравнение может осуществляться довольно быстро, но сложение является слишком медленной операцией из-за затрат времени на вспомогательный сигнал переноса, если, конечно, не используются специальные сумматоры.

3.2.2.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Базовый и ограничительный регистры:

  1. Система ограничительных мер и надзора за печатью и Главлит
  2. 47 ОГРАНИЧИТЕЛЬНЫХ ПОНЯТИЙ О ДЕНЬГАХ И КАК ОТ НИХ НЕМЕДЛЕННО ИЗБАВИТЬСЯ
  3. Базовые принципы соединения ума и тела
  4. Под ред. С. В. Симоновича. Информатика. Базовый курс. 2-е издание, 2004
  5. 1.1. Базовая информация
  6. БАЗОВЫЕ ПОНЯТИЯ ЭТНОПСИХОЛОГИИ
  7. ГЛАВА 2 Базовые законы
  8. 31. Функции и базовые характеристики социальных институтов
  9. Sшrvig Morten. Базовые алгоритмы Qt 4 (Qt 4's Generic Algorithms), 2000
  10. Базовый протокол устранения проблемы с BSFF
  11. Навыки установления межличностных отношений являются базовыми
  12. А. Н. Степанов. Информатика Базовый курс для студентов гуманитарных специальностей высших учебных заведений 6-е издание, 2010
  13. Свобода журналистики как базовая основа функционирования средств массовой информации. Становление и характер концепций свободы: авторитарной, либеральной (полной свободы), социальной ответственности. Современные подходы решения.
  14. Вопросы для самоконтроля