Разделение пространства команд и данных

У многих компьютеров имеется единое адресное пространство, в котором, как показано на рис. 3.22, а, содержатся и программы и данные. При довольно большом объеме этого пространства все работает нормально.
Но зачастую объем адресного пространства слишком мал, что заставляет программистов как-то выкручиваться, чтобы поместить в него все необходимое.

Рис. 3.22. Адресное пространство: а — единое; б — отдельные адресные пространства

команд (I) и данных ф)


Одно из решений, впервые примененное на шестнадцатиразрядной машине РБР-11, заключалось в использовании отдельных адресных пространств для команд (текста программы) и данных, называемых 1-пространством и Б-пространством соответственно (рис. 3.22, б). Каждое пространство простирается от 0 до некоторого максимума, обычно 216 - 1 или 232 - 1. Компоновщик должен знать о том, что используются отдельные I- и Б-пространства, поскольку при их использовании данные переносятся на виртуальный адрес 0, а не начинаются сразу после программы.

На компьютерах такой конструкции страничную организацию памяти могут иметь оба пространства независимо друг от друга. У каждого из них имеется собственная таблица страниц с собственным отображением виртуальных страниц на физические страничные блоки. Когда аппаратуре требуется извлечь команду, она знает, что для этого нужно использовать 1-пространство и таблицу страниц этого 1-пространства. Точно так же обращение к данным должно вестись через таблицу страниц Б-пространства. Кроме этих тонкостей, наличие отдельных I- и Б-пространств не приводит к каким- то особым осложнениям для операционной системы и при этом удваивает доступное адресное пространство.

Поскольку теперь адресные пространства стали большими, серьезные проблемы, связанные с их размерами, ушли в прошлое. Но даже сегодня разделение

I- и D-пространств встречается довольно часто. Правда, вместо обычных адресных пространств теперь это разделение используется в кэше L1, который до сих пор испытывает дефицит памяти.

3.5.5.

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

Еще по теме Разделение пространства команд и данных:

  1. § 36 Непосредственное вступление прямых наследников. – Трансмиссия. – Утверждение в наследстве. – Принятие наследства и отречение. – Последствие принятия. – Принятие по описи и разделение долгов. – Раздел наследства. – Возвратные учеты. – Разделение прав и ответственности. – Передел. – Наследство у мусульман.
  2. Определение команды.
  3. Признаки команды.
  4. § 4.5. Деятельность команд в организации
  5. Пример настройки и реабилитации в футбольной команде
  6. Работа с другими командами
  7. Четыре шага по созданию эффективной команды
  8. ШЕСТЬ СТУПЕНЕЙ НА ПУТИ СОЗДАНИЯ КОМАНДЫ.
  9. Кто становится лидером команды
  10. Создание деловой команды «Вероятно, я не лучший советчик в этом вопросе».
  11. Эд САЛЛИВАН. ВРЕМЯ — ДЕНЬГИ Создание команды разработчиков, программного обеспечения, 2001
  12. Разделенная двойственность.
  13. Григорьев Ю.А., Ревунков Г.И.. Банки данных, 2002
  14. § 2. Разделение властей