АППАРАТНОЕ ОБЕСПЕЧЕНИЕ, УПРАВЛЯЮЩЕЕ СТРУКТУРОЙ


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

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

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

Теперь перейдем к нашему прорыву в технологии управления памятью. Ес­ли в системе выполняются указанные характеристики, то наличие всех страниц или сегментов процесса в основной памяти одновременно не является обязательным условием. Рассмотрим, каким образомэто может осуществляться. Сейчас мы гово­рим об этой технологии обобщенно, так что для обозначения страницы или сегмента используем термин блок — в зависимости от того, имеем ли мы де­лосо страничной организацией или с сегментацией. Предположим, что на­ступило время загрузки нового процесса в память. Операционная система начинает ее с размещения в памяти только одного или нескольких блоков, включая блок, содержащий начало программы. Часть процесса, располагаю­щаяся в некоторый момент времени в основной памяти, называетсярези­дентным множеством процесса. Во время выполнения процесса все происхо­дит так, как если бы все ссылки были только на резидентное множество процесса. При помощи таблицы сегментов или страниц процессор всегда мо­жет определить, располагается ли блок, к которому требуется обращение, в основной памяти. Если процессор сталкивается с логическим адресом, кото­рый не находится в основной памяти, он генерирует прерывание, свидетельствующее об ошибке доступа к памяти. Операционная система переводит прерванный процесс в заблокированное состояние и получает управление.

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

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



Дата добавления: 2016-06-05; просмотров: 1919;


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

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.