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

Страничная организация виртуальной памяти

Переадресации программ

Основные задачи виртуальной памяти

Основными задачами виртуальной памяти являются реализации:

· динамической переадресации программ,

· памяти единого уровня.

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

Имеется два способа переадресации программ: программный и аппаратный.

Аппаратный способ переадресации используется в механизме виртуальной памяти – памяти единого уровня

В современных ЭВМ используется многоуровневая физическая память: оперативная, энергонезависимая память на основе магнитных дисков и архивная память на основе записи на магнитных лентах. В многопрограммных режимах работы программисту подконтрольна только математическая память (набор адресов, которые можно использовать в программах). Если этого достаточно для управления работой процессора, включая подкачку данных из памяти прямого доступа (свопинг), то говорят о реализации виртуальной памяти.

Таким образом, в понятие виртуальной памяти входят два механизма: динамическая переадресация и построение памяти единого уровня.

В основе механизма классической виртуальной памяти лежит страничная организация математической оперативной памяти и, частично, памяти прямого доступа (памяти на магнитных дисках).

Страничная организация оперативной и математической памяти заключается в разбиении адресных пространств памяти на страницы, расположенные в целочисленных границах, т.е. размером, кратным степени числа два (основания системы счисления). Это обычная многомерная декартова система координат.

В МП IA-32 размер страницы выбран равным 212 = 4096 байт (4 Кб).

При этом старшие 20 разрядов адреса определяют номер страницы, а младшие 12 разрядов – номер байта в странице. Адресация информации на магнитных дисках имеет свои особенности. Минимальным блоком информации является сектор (на круговой дорожке) в 512 байт. Секторы объединяются в кластеры. Размер кластера зависит от системы разметки. Чаще всего используются кластеры размером в 4 Кб, т.е. равные странице оперативной памяти. В магнитных дисках используется файловая структура поиска. Для поиска информации на дисках имеется специальная FAT-таблица (File Allocation Table – таблица размещения файлов), в которой записаны имена файлов и список адресов расположения последовательностей кластеров на дорожках диска. Диски читаются не отдельными кластерами в произвольном порядке, а последовательно от начального кластера в файле до последнего. Но для организации виртуальной памяти требуется чтение страниц в произвольном порядке.

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

Известны две схемы построения страничной виртуальной памяти:

· на основе таблицы математических страниц,

· на основе таблицы физических страниц.

Вопросы для самопроверки:

1. Страничная организация памяти.

2. Особенности адресации данных в накопителях на магнитных дисках.

3. Область ввода в накопителях на магнитных дисках.

4. Варианты схем виртуальной памяти на основе страничной организации памяти.