Операционные системы. Макушкина Л.А - 27 стр.

UptoLike

27
1. Путем отбрасывания k+n младших разрядов в виртуальном адресе
определяется номер раздела, к которому принадлежит данный виртуальный
адрес.
2. По этому номеру из таблицы разделов извлекается дескриптор
соответствующей таблицы страниц. Проверяется, находится ли данная
таблица страниц в памяти. Если нет, происходит страничное прерывание и
система загружает нужную страницу с диска.
3. Далее из этой таблицы страниц извлекается дескриптор виртуальной
страницы, номер которой содержится в средних п разрядах преобразуемого
виртуального адреса. Снова выполняется проверка наличия данной
страницы в памяти и при необходимости ее загрузка.
4. Из дескриптора определяется номер (базовый адрес) физической страницы,
в которую загружена данная виртуальная страница. К номеру физической
страницы пристыковывается смещение, взятое из k младших разрядов
виртуального адреса. В результате получается искомый физический адрес.
Рисунок 11 - Схема преобразования виртуального адреса для двухуровневой
структуризации адресного пространства
Страничное распределение памяти может быть реализовано в упрощенном
варианте, без выгрузки страниц на диск. В этом случае все виртуальные страницы
всех процессов постоянно находятся в оперативной памяти. Такой вариант
страничной организации хотя и не предоставляет пользователю преимуществ
работы с виртуальной памятью большого объема, но сохраняет другое
достоинство страничной организации позволяет успешно бороться с
фрагментацией физической памяти. Действительно, во-первых, программу можно
разбить на части и загрузить в разрозненные участки свободной памяти, во-
вторых, при загрузке виртуальных страниц никогда не образуется неиспользуемых
  1. Путем отбрасывания k+n младших разрядов в виртуальном адресе
     определяется номер раздела, к которому принадлежит данный виртуальный
     адрес.
  2. По этому номеру из таблицы разделов извлекается дескриптор
     соответствующей таблицы страниц. Проверяется, находится ли данная
     таблица страниц в памяти. Если нет, происходит страничное прерывание и
     система загружает нужную страницу с диска.
  3. Далее из этой таблицы страниц извлекается дескриптор виртуальной
     страницы, номер которой содержится в средних п разрядах преобразуемого
     виртуального адреса. Снова выполняется проверка наличия данной
     страницы в памяти и при необходимости ее загрузка.
  4. Из дескриптора определяется номер (базовый адрес) физической страницы,
     в которую загружена данная виртуальная страница. К номеру физической
     страницы пристыковывается смещение, взятое из k младших разрядов
     виртуального адреса. В результате получается искомый физический адрес.




   Рисунок 11 - Схема преобразования виртуального адреса для двухуровневой
                    структуризации адресного пространства

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