Операционные системы. Теория и практика. Замятин А.В. - 87 стр.

UptoLike

Составители: 

87
4.1.2 Типы адресации
Если не принимать во внимание программирование на машинном
языке (эта технология практически не используется уже очень давно), то
можно сказать, что программист обращается к памяти с помощью неко-
торого набора логических имен, которые чаще всего являются символь-
ными, а не числовыми, и для которого отсутствует отношение порядка.
Другими словами, в общем случае множество переменных в программе
не упорядочено, хотя отдельные переменные могут иметь частичную
упорядоченность (например, элементы массива). Имена переменных и
входных точек программных модулей составляют пространство сим-
вольных имен, иногда называемое логическим адресным пространством.
С другой стороны, при выполнении программы идет работа с физи-
ческой ОП, собственно с которой и работает процессор, извлекая из нее
команды и данные и помещая в нее результаты вычислений. Физическая
память представляет собой упорядоченное множество ячеек реально
существующей ОП, и все они пронумерованы, то есть к каждой из них
можно обратиться, указав ее порядковый номер (адрес). Количество
ячеек физической памяти ограничено и фиксировано.
Системное ПО должно связать каждое указанное пользователем
символьное имя с физической ячейкой памяти, то есть осуществить
отображение пространства имен на физическую память компьютера. В
общем случае это отображение осуществляется в два этапа сначала си-
стемой программирования, а затем ОС (рис. 21).
Система программирования осуществляет трансляцию и компонов-
ку программы, используя библиотечные программные модули. В ре-
зультате работы этой системы программа получает виртуальные адреса,
которые могут иметь двоичную или символьно-двоичную формы. Те
модули, адреса для которых пока не могут быть определены, имеют по-
прежнему символьную форму, и их окончательная привязка к физиче-
ским ячейкам будет осуществлена на этапе загрузки программы в па-
мять непосредственно перед ее исполнением. Физические адреса соот-
ветствуют номерам ячеек ОП, где в действительности расположены или
будут расположены переменные и команды.
Второе отображение, реализуемое посредством ОС, осуществляется
с помощью соответствующих аппаратных средств процессора подси-
стемы управления памятью, которая использует дополнительную ин-
формацию, подготавливаемую и обрабатываемую ОС.
Между этими этапами обращения к памяти имеют форму вирту-
ального адреса. Говорят, что множество всех допустимых значений вир-
туального адреса для некоторой программы определяет ее виртуальное
адресное пространство или виртуальную память. Виртуальное адрес-
ное пространство программы зависит, прежде всего, от архитектуры