Управление основной памятью. Часть 2.

Учет свободных участков. Любое управление памятью основано на учете свободных участков памяти, который организуется связыванием всех свободных участков в цепочку. Каждый из них представляется элементом FQE, располагаемым в начале свободного участка, и имеет следующую структуру:

Cтруктура элемента FQE

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

Пример очереди свободных участков приведен на рис. 3.13, а. Свободные участки имеют размеры l1, l2, l3. Начальный адрес очереди расположен в одном из управляющих блоков. Например, если распределение памяти производится на уровне пункта задания, то адрес начала очереди располагается в одном из полей блока управления задачей (ТСВ) пункта задания. Заштрихованные на рисунке области представляют собой занятые участки основной памяти, выделенные ранее по запросам.

Примеры очередей свободных участков

Выделение участков памяти по запросам. Удовлетворение запроса на выделение участка памяти означает, что весь участок или его часть исключаются из ведения супервизора путем устранения соответствующего элемента FQE из очереди (если представленный им участок подходит по длине) или изменения указателя длины свободного участка в элементе FQE (если представляемый им участок памяти имеет длину больше требуемого в запросе).

Обращаясь к рис. 3.13, а, рассмотрим два случая выделения участка памяти по запросу:

  1. при запросе, равном l1. При этом очередь свободных участков будет иметь вид, приведенный на рис. 3.13, б;
  2. при запросе, равном l4<l1. При этом очередь свободных участков будет иметь вид, приведенный на рис. 3.13, в.