Понятие виртуальной памяти

Виртуальная память

Сегментная и сегментно-страничная организация памяти

Принцип предполагает, что размер сегмента меняется в зависимости от страницы.

V = (S,d), где

S – сегмент

d – смещение

При сегментной организации – это набор сегментов в логическом пространстве. В рамках сегмента адресация линейна.

Если посмотреть на таблицу, которая при сегментной организации работает, она будет похожа на предыдущую.

S – номер сегмента

d – смещение

a – адрес начала сегмента

V d

+
Физический адрес
Таблица дескрипторов

 
Атрибуты a
 

Сегменты присутствуют в микропроцессорах фирмы Intel.

Сегмент большой, поэтому принято разбивать их на страницы – блоки равного размера – сегментно-страничная организация. В этом случае преобразование (трансляция) виртуального адреса в физический двухуровневое, а логический адрес трехкомпонентный: (S, p, d).

Системы ВП позволяют размещать в небольшой физической памяти часть кода процесса, занимающую виртуальную или логическую память. Это означает, что мы взяли несколько страниц процесса, загрузили их в память и с ними работаем, отработали со страницами – подгрузили еще, т.о. процесс занимает в памяти в 10 раз меньше объема.

Суть концепции виртуальной памяти

Ясно, что активно процесс работает, когда он находится в оперативной памяти. В схемах ВП создается иллюзия, что вся необходимая процессу информация имеется в оперативной памяти. Для этого:

· Занимаемая процессом память разбивается на страницы

· Логический адрес (логическая страница), к которому обращается процесс, динамически транслируется в физический адрес

· Если нужная страница в памяти отсутствует, тогда организуют ее подкачку с диска.

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

Преимущество нахождения в памяти ограниченного количества страниц процесса:

· Программа не ограничивается доступным объемом физической памяти

· Из-за возможности частичного размещения процесса в памяти и перераспределения памяти между процессами можно разместить в памяти больше программ, что улучшает использование процессора и пропускную способность системы

· Объем ввода/вывода при обмене данными между диском и оперативной памятью существенно меньше, чем при swapping'е

Введение ВП позволяет организовать контроль доступа к отдельным сегментам памяти и в частности организовать защиту программ друг от друга.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: