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