Название: Операционные системы как системы управления вычислительными ресурсами - (Коршикова Л.А.)

Жанр: Технические

Просмотров: 1092


3. проектирование системы управления страницами

 

Для создания системы управления страницами необходимо детально знать устройство управления памятью (УУП) и архитектуру системы в целом.

Управление страницами предполагает ответ на следующие вопросы:

что происходит во время загрузки страницы в память;

как осуществляется контроль нескольких конкурирующих запросов на загрузку или освобождение страниц;

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

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

Пример функционального описания этих взаимодействий. Ряд процессов находится в очереди на выполнение. При возникновении доступа к пространству основной памяти процессу с наивысшим приоритетом назначается квант времени q[i], и он помещается в очередь выполняющихся процессов. Эти процессы выполняются в течение времени В, таком, что В меньше или равно q[i]. По окончании В секунд выполнения процесс возвращается в очередь выполняющихся процессов. Из этой процедуры исключаются следующие ситуации:

время выполнения t[i] процесса превосходит квант времени (t[i] > q[i]); при этом процесс помещается в очередь на выполнение, а его t[i] устанавливается в нуль;

процесс блокируется на время выполнения запроса к системной службе;

процесс завершил свое выполнение.

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

Каждый процесс имеет N страниц из М слов в своем виртуальном пространстве памяти. Когда процесс получает управление процессора (CPU), его карта памяти загружается в регистры трансляции УУП. После освобождения процессом CPU содержимое регистров УУП сохраняется в буфере, принадлежащем процессу. При выдаче процессом виртуального адреса происходит трансляция этого адреса. Она заканчивается либо успешно, либо сбоем страницы, если требуемая страница отсутствует в памяти.

Страницы загружаются или удаляются из памяти согласно алгоритму, поддерживающему рабочую область. Страницы загружаются в память по запросу процесса. Загруженная в память страница активизируется. Для каждой активной страницы в памяти имеется счетчик, регистрирующий рабочее время процесса, прошедшее с момента его последней ссылки к странице, счетчик сбрасывается в нуль при каждой ссылке к странице. Если за интервал времени В такой ссылки не произошло, то счетчик увеличивается на величину В. Когда значение счетчика превышает некоторую установленную величину J, страница освобождается, а рамка страницы становится доступной для следующего распределения. Доступные страницы могут находиться в следующих состояниях:

готовые для повторного распределения;

в измененном состоянии, требующем для повторного использования страницы ее удаления из памяти;

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

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