Операционные системы: управление памятью. Макаров П.С. - 44 стр.

UptoLike

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

архитектуре компьютера, и, как правило, не совпадает с объемом физической
памяти, имеющимся в компьютере.
Физические адреса соответствуют номерам ячеек оперативной памяти,
где в действительности расположены или будут расположены переменные и
команды. Переход от виртуальных адресов к физическим может
осуществляться двумя способами. В первом случае замену виртуальных
адресов на физические делает специальная
системная программа
перемещающий загрузчик. Перемещающий загрузчик на основании имеющихся
у него исходных данных о начальном адресе физической памяти, в которую
предстоит загружать программу, и информации, предоставленной
транслятором об адресно-зависимых константах программы, выполняет
загрузку программы, совмещая ее с заменой виртуальных адресов
физическими.
Второй способ заключается в том, что программа загружается
в память в
неизмененном виде в виртуальных адресах, при этом операционная система
фиксирует смещение действительного расположения программного кода
относительно виртуального адресного пространства. Во время выполнения
программы при каждом обращении к оперативной памяти выполняется
преобразование виртуального адреса в физический. Второй способ является
более гибким, он допускает перемещение программы во время ее выполнения
,
в то время как перемещающий загрузчик жестко привязывает программу к
первоначально выделенному ей участку памяти. Вместе с тем использование
перемещающего загрузчика уменьшает накладные расходы, так как
преобразование каждого виртуального адреса происходит только один раз во
время загрузки, а во втором случаекаждый раз при обращении по данному
адресу.
В некоторых
случаях (обычно в специализированных системах), когда
заранее точно известно, в какой области оперативной памяти будет
выполняться программа, транслятор выдает исполняемый код сразу в
физических адресах.
44