Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Управление подпулами




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

Память, назначаемая программой пользователя (рис. 7.3), представляется элементом очереди памяти (PQE), адрес которого содержится в блоках управления задачами (ТСВ) каждой задачи. Элемент PQE имеет указатель границ раздела. Все подпулы, используемые задачей, представляются элементами очереди подпулов (SPQE). Адрес элемента SPQE, построенного последним, содержится в блоке ТСВ соответствующей задачи. Элементы SPQE содержат номера представляемых ими подпулов. Память, назначаемая подпулу, отводится блоками, которые представляются элементами описания блоков (DQE). Адрес первого элемента DQE в очереди содержится в соответствующем элементе SPQE. Элемент DQE имеет указатели границ представляемого им блока памяти. Свободные блоки памяти, не вошедшие в состав подпулов какой-либо задачи, представляются элементами очереди свободных блоков (FBQE). Адрес первого элемента FBQE содержится в элементе PQE данного раздела. Элементы FBQE имеют указатели границ соответствующих им блоков свободной памяти раздела.

 

Рис. 7.3. Представление свободных и занятых блоков основной памяти раздела

Построение полпула. Когда от задачи приходит запрос на выделение участка памяти из подпула, супервизор просматривает очередь элементов SPQE задачи. Просмотр позволяет определить, имеет ли задача подпул, номер которого указан в запросе. Если подпул отсутствует, то супервизор строит элемент SPQE для представления нового подпула и ставит его последним в очередь имеющихся элементов SPQE. Далее супервизор округляет величину требуемого участка памяти в сторону увеличения до значения, кратного 2К, и, просматривая очередь элементов FBQE раздела, определяет, имеется ли свободный блок подходящей длины. Если требуемый свободный блок памяти найден, то для его представления строится элемент DQE, который ставится в очередь к созданному элементу SPQE. При этом модифицируется или устраняется элемент FBQE, который представлял найденный свободный блок. Участок памяти требуемой длины внутри блока выделяется путем представления свободных участков блока очередью элементов и модификации этой очереди при удовлетворении запроса на память. Если свободный блок подходящей длины не найден, то супервизор поступает с задачей в соответствии с типом запроса: для безусловного запроса производит аварийное завершение задачи, для условного – возвращает управление задаче с кодом возврата 4.

Если в процессе просмотра очереди SPQЕ требуемый подпул найден, супервизор последовательно просматривает связанные с ним блоки памяти, представленные очередью элементов DQE. Просмотр позволяет определить, может ли данный запрос быть удовлетворен из памяти какого-либо блока. Если в одном из блоков имеется свободный участок памяти подходящей длины, то он используется для удовлетворения запроса. В противном случае супервизор выделяет новый блок памяти для данного подпула, из которого и удовлетворяется запрос. Очередной блок выделяется подпулу так же, как и первый.

Ликвидация подпула. Участки памяти в блоках подпула освобождаются путем модификации очереди элементов FBQE в соответствующих блоках подпула. После того как вся память блока будет освобождена, супервизор возвратит его разделу в качестве свободного, ликвидируя элемент DQE, который представлял его в подпуле. Далее построится элемент FBQE, который представляет данный блок как свободный. При ликвидации последнего блока супервизор устраняет и элемент SPQЕ, который представлял данный подпул.




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


Дата добавления: 2014-12-29; Просмотров: 325; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.