Страничная модель оперативной памяти




В случае использования страничной модели оперативная память рассматривается как совокупность блоков фиксированного размера (4 Кбайт). Основное применение этой модели связано с организацией виртуальной памяти, что позволяет операционной системе использовать для работы программ пространство памяти большее, чем объем физической памяти.

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

Для каждой текущей задачи создается таблица страниц в ОП. Эта таблица для каждой страницы содержит ее физический адрес и признак присутствия (бит присутствия). Если бит присутствия равен 1, это означает, что данная страница сейчас размещена в ОП. Если бит присутствия равен 0, то страница расположена во внешней памяти.

Обращение к данным и командам внутри программы осуществляется по 32-разрядным виртуальным адресам. Так как обращаться к памяти можно только по реальным (физическим) адресам, то каждый компьютер с виртуальной памятью содержит устройство для преобразования виртуальных адресов в физические - контроллер управления памятью (MMU - Memory Management Unit). Он может находиться на микросхеме процессора или на отдельной микросхеме.

Когда в контроллер управления памятью поступает 32-битный виртуальный адрес, он разделяет этот адрес на 20-битный номер виртуальной страницы и 12-битное смещение внутри этой страницы. Номер виртуальной страницы используется в качестве индекса в таблице страниц для нахождения нужной страницы. Затем контроллер управления памятью проверяет, где находится нужная страница в текущий момент. Для этого используется бит присутствия. Если страница отсутствует в ОП, то она перемещается в нее из внешней памяти. Далее из выбранного элемента таблицы страниц берут физический адрес начала страницы в ОП и суммируют его с 12-битным смещением внутри этой страницы.

Защита страничной памяти основана на контроле уровня доступа к каждой странице. В таблице страниц каждая страница снабжается кодом уровня доступа (только чтение; чтение и запись; только выполнение). При работе со страницей сравнивается значение кода разрешенного уровня доступа с фактически требуемым. При несовпадении работа программы прерывается.

Страничная модель памяти поддерживается только в защищенном режиме работы микропроцессора.

Основное достоинство страничного способа распределения памяти - эффективное распределение памяти. Недостатки страничной модели

· потери процессорного времени на обработку страниц;

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


3. Сегментно-страничный способ распределения памяти

Программа разбивается на сегменты. Физический адрес информации состоит из двух частей: адреса начала сегмента и смещения. Но смещение относительно начала сегмента включает в себя два поля: номер виртуальной страницы и индекс (позиция на странице). Сегмент описан в таблице дескрипторов. В дескрипторе для сегмента указаны бит гранулярности G, длина сегмента (задана количеством страниц размером 4 Кбайт каждая) и физический адрес начала сегмента. Так как значение в поле размера сегмента означает размер сегмента в страницах, то в данной модели G = 1.

Для доступа к информации в ОП необходимо:

1) вычислить адрес дескриптора сегмента и прочитать его (из сегментного регистра берется номер дескриптора и определяется в какой таблице лежит дескриптор в LDT или в GDT, а из дескриптора определяется физический адрес начала сегмента);

2) вычислить адрес элемента таблицы страниц этого сегмента и извлечь из памяти необходимый элемент (то есть для каждого сегмента, разбитого на страницы, создается таблица страниц, а смещение относительно начала сегмента представляет собой виртуальный 32-разрядный адрес, состоящий из номера страницы (20 бит) и смещения относительно начала страницы (12 бит));

3) номер физической страницы дополнить номером ячейки на этой странице. (контроллер управления памятью находит в таблице страниц нужную, по описанию страницы получаем физический адрес ее начала и добавляем к этому адресу 12-битное смещение).

Сегментно-страничная модель памяти поддерживается только в защищенном режиме работы микропроцессора


Плоская модель памяти

Если считать, что программа состоит из одного сегмента, который, в свою очередь, разбит на страницы, то фактически получается только один страничный механизм работы с виртуальной памятью. Длина сегмента определяется максимальной величиной 4 Гбайт. Для адресации используется только 32-разрядное смещение, поскольку предполагается, что сегмент начинается с 0-го адреса. Такой подход получил название плоской модели памяти (рис. 5).

Рис. 5. Плоская модель памяти

 

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


4.3.2.Внешняя память

Внешней называют память, располагающуюся на магнитных дисках (жестких и гибких), оптических носителях (CD-ROM), магнитных лентах и т.д.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: