Механизм динамической перегрузки 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Механизм динамической перегрузки



 

Динамическое распределение памяти по зонам произвольного размера предусматривает использование методов динамической перегрузки зон.

 

В этом методе параметры загрузки в физическую память определяются парой регистров, которые называются базовым регистром (RB) и регистром границ (RL). При каждом обращении к виртуальному адресу (d) вычисляется физический адрес (a) по формуле

.

Если значение а не выходит за рамки значения регистра границ RL, то выполняется текущая инструкция программы. В противном случае регистрируется ошибка, вызванная захватом запрещенного пространства.

 

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

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

Чаще всего используется три типа алгоритмов динамического распределения:

· организация списка цепочек свободных зон;

· квантование размеров блоков;

· работа с зонами заранее заданных размеров.

 

Организация списка цепочек свободных зон

 

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

Для нахождения свободной зоны размером t можно использовать один из следующих алгоритмов:

1) Первая подходящая зона. Выбирают первую z, такую, что ее размер не меньше t. Преимущество этого метода – минимальное время поиска.

2) Лучшее соответствие. Выбирают зону, дающую наименьший излишек (свободная память, остающаяся после размещения сегмента). То есть выбирают такую зону z, чтобы величина (z)- t была минимальной. Для этого необходимо вести классификацию зон по размерам.

Преимущество этого метода – лучшее общее использование памяти.

Недостаток – дробление памяти, то есть увеличение числа малоиспользуемых зон небольшого размера.

3) Большой излишек. Выбирают такую зону z, для которой величина (z)- t максимальной. Таким образом пытаются препятствовать дроблению памяти. При использовании любого алгоритма блок размером t размещается в зоне z и в дескриптор зоны заносится соответствующая информация. После освобождения зона вновь заносится в список и, если это возможно, объединяется с соседними зонами.




Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 46; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.140.185.170 (0.004 с.)