Лабораторный практикум по курсу "Операционные системы"
Размер страницы в общем случае может быть выбран произвольно, однако большое число
современных архитектур поддерживают страничную организацию памяти, о которой мы
скажем ниже - в этом случае размер страницы выбирается в равным размеру аппаратной
страницы.
Способ описания физической памяти
Для управления физической памятью операционная система хранит ее описание в виде
некоторой структуры данных. Перечислим несколько примеров.
- Массивы. Описание всего адресного пространства может храниться в виде массива
описателей страниц. В этом случае легко проводится определение по физическому адресу
номера страницы и соответствующего ей элемента массива и наоборот. В случае наличия
нескольких адресных пространств может потребоваться несколько массивов.
- Для решения конкретных задач управления могут быть использованы битовые массивы
(один бит на одну страницу), например, для учета используемых и свободных блоков.
Данный способ имеет существенный недостаток – поиск серии заданной длины в битовом
массиве является длительной операцией.
- Связные списки. Например, можно поддерживать
список занятых и свободных фрагментов
памяти. Каждая запись в списке в этом случае указывает, является ли область памяти
свободной или занятой, если она занята процессом – идентификатор процесса, адрес начала
области, размер области.
- Деревья. Для организации быстрого поиска по какому-либо количественному признаку
может потребоваться организация дерева. Например, для осуществления поиска
страницы,
которая дольше всего не выделялась процессам.
В одной системе могут одновременно храниться несколько структур данных, используемые
для решения различных задач управления памятью. Они могут храниться и обрабатываться
независимо или совместно. Например, описатель страницы может иметь дополнительный
атрибут ссылочного типа (номер следующей страницы/номер предыдущей страницы), с
помощью которого все страницы
будут объединены в список.
Виртуальное адресное пространство прикладной программы (ВАП) и способ
его отображения на физическую память
Каждому процессу предоставляется виртуальное адресное пространство. Варианты
организации ВАП полностью определяются возможностями аппаратной архитектуры.
Рассмотрим несколько типичных случаев.
В качестве виртуального адресного пространства выступает адресное пространство
физической памяти
В этом случае процесс может использовать все физическое адресное пространство системы.
В своей работе он использует физические адреса и его возможность выполнять операции
чтения и записи ограничивается только архитектурными ограничениями участка адресного
пространства, с которым он работает (например, обычно нельзя писать в ПЗУ).
Естественным недостатком такой организации является неизолированность адресных
пространств
различных процессов и адресного пространства ядра. Любой процесс может
получить доступ к данным другого процесса или операционной системы.
Учебно-исследовательская лаборатория «Информационные технологии» 47