Понятие адресного пространства

Чтобы допустить одновременное размещение в памяти нескольких приложений без создания взаимных помех, нужно решить две проблемы, относящиеся к защите и перемещению. Примитивное решение первой из этих проблем мы уже рассматривали на примере IBM 360: участки памяти помечались защитным ключом, и ключ выполняемого процесса сличался с ключом каждого выбранного слова памяти.
Этот подход не решал второй проблемы, хотя она могла быть решена путем перемещения программ в процессе их загрузки, но это было слишком медленным и сложным решением.

Более подходящее решение — придумать для памяти новую абстракцию: адресное пространство. Так же как понятие процесса создает своеобразный абстрактный центральный процессор для запуска программ, понятие адресного пространства создает своеобразную абстрактную память, в которой существуют программы. Адресное пространство — это набор адресов, который может быть использован процессом для обращения к памяти. У каждого процесса имеется собственное адресное пространство, независимое от того адресного пространства, которое принадлежит другим процессам (за исключением тех особых обстоятельств, при которых процессам требуется совместное использование их адресных пространств).

Понятие адресного пространства имеет весьма универсальный характер и появляется во множестве контекстов. Возьмем телефонные номера. В США и многих других странах местный телефонный номер состоит обычно из семизначного числа. Поэтому адресное пространство телефонных номеров простирается от 0000000 до 9999999, хотя некоторые номера, к примеру те, что начинаются с 000, не используются. С ростом количества смартфонов, модемов и факсов это пространство стало слишком тесным, а в этом случае необходимо использовать больше цифр. Адресное пространство портов ввода-вывода процессора x86 простирается от 0 до 16 383. Протокол IPv4 обращается к 32-разрядным номерам, поэтому его адресное пространство простирается от 0 до 232 - 1 (опять-таки с некоторым количеством зарезервированных номеров).

Адресное пространство не обязательно должно быть числовым. Набор интернет-доменов .com также является адресным пространством. Это адресное пространство состоит из всех строк длиной от 2 до 63 символов, которые могут быть составлены из букв, цифр и дефисов, за которыми следует название домена — .com. Теперь вам должна стать понятной сама идея, в которой нет ничего сложного.

Немного сложнее понять, как каждой программе можно выделить собственное адресное пространство, поскольку адрес 28 в одной программе означает иное физическое место, чем адрес 28 в другой программе. Далее мы рассмотрим простой способ, который ранее был распространен, но вышел из употребления с появлением возможностей размещения на современных центральных процессорах более сложных (и более совершенных) схем.

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

Еще по теме Понятие адресного пространства:

  1. Адресность обращения (рекомендуется)
  2. Аналитические понятия социокультурного пространства города
  3. Понятие социального пространства как социально–отношенческого феномена
  4. Понятие коммуникации как методологический принцип построения гносеологической конструкции социокультурного пространства города
  5. Два пространства
  6. ПРОСТРАНСТВО: ВОСПРИЯТИЕ
  7. ПРОСТРАНСТВО СЕМАНТИЧЕСКОЕ СУБЪЕКТИВНОЕ
  8. ПРОСТРАНСТВО: ВОСПРИЯТИЕ: НАРУШЕНИЕ
  9. 5.3. КАК ОСВОБОДИТЬ ПРОСТРАНСТВО ДЛЯ СЮРПРИЗА
  10. Часть I Пространство движения
  11. 5.10.1. Создание пространства для ответа
  12. ФАЗИРОВАНИЕ ПРОСТРАНСТВА
  13. Структурирование консультативного пространства
  14. Утренняя медитация от возлюбленной Сарасвати. Исцеление пространства.