Операционные системы, среды и оболочки. Макаренко С.И. - 51 стр.

UptoLike

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

адресов, операционная система выполняет преобразование
виртуальных адресов в физические по следующей схеме.
Во втором случае при загрузке операционная система фиксирует
смещение действительного расположения программного кода относительно
виртуального адресного пространства. Во время выполнения программы при
каждом обращении к оперативной памяти выполняется преобразование
виртуального адреса в физический. Схема такого преобразования показана на
рис. 3.4.
Рис. 3.4. Схема динамического преобразования адресов
Пусть, например, некоторая программа, работающая под управлением
этой ОС, загружена в физическую память начиная с физического адреса S.
ОС запоминает значение начального смещения S и во время выполнения
программы помещает его в специальный регистр процессора. При обращении
к памяти виртуальные адреса данной программы преобразуются в
физические путем прибавления к ним смещения S. Например, при
выполнении инструкции пересылки данных, находящихся по адресу VA,
виртуальный адрес VA заменяется физическим адресом VA+S.
Такой способ является более гибким: в то время как перемещающий
загрузчик жестко привязывает программу к первоначально выделенному ей
участку памяти, динамическое преобразование виртуальных адресов
позволяет перемещать программный код процесса в течение всего периода
его выполнения.
3.4 Виртуальная память и свопинг
Сегодня для машин универсального назначения типична ситуация,
когда объем виртуального адресного пространства превышает доступный
объем оперативной памяти. В таком случае операционная система для
хранения данных виртуального адресного пространства процесса, не
помещающихся в оперативную память, использует внешнюю память,
которая в современных компьютерах представлена жесткими дисками
(рис. 3.4, а). Именно на этом принципе основана виртуальная память
51
        адресов, операционная система выполняет преобразование
        виртуальных адресов в физические по следующей схеме.
      Во втором случае при загрузке операционная система фиксирует
смещение действительного расположения программного кода относительно
виртуального адресного пространства. Во время выполнения программы при
каждом обращении к оперативной памяти выполняется преобразование
виртуального адреса в физический. Схема такого преобразования показана на
рис. 3.4.




          Рис. 3.4. Схема динамического преобразования адресов
      Пусть, например, некоторая программа, работающая под управлением
этой ОС, загружена в физическую память начиная с физического адреса S.
ОС запоминает значение начального смещения S и во время выполнения
программы помещает его в специальный регистр процессора. При обращении
к памяти виртуальные адреса данной программы преобразуются в
физические путем прибавления к ним смещения S. Например, при
выполнении инструкции пересылки данных, находящихся по адресу VA,
виртуальный адрес VA заменяется физическим адресом VA+S.
      Такой способ является более гибким: в то время как перемещающий
загрузчик жестко привязывает программу к первоначально выделенному ей
участку памяти, динамическое преобразование виртуальных адресов
позволяет перемещать программный код процесса в течение всего периода
его выполнения.

                3.4 Виртуальная память и свопинг

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


                                   51