Распределение ОП динамическими разделами. 


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



ЗНАЕТЕ ЛИ ВЫ?

Распределение ОП динамическими разделами.

Поиск

35. Распределение ОП динамическими разделами.

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

Таблица выделенных областей

Process PCB Address

Address

Size

Status (1/0)

 

 

 

 

 

 

 

 

Таблица свободных областей

Address

Size

 

 

 

 

В хороших ОС размер таблиц фиксирован. При освобождении памяти происходит слияние смежных областей и перенос информации из одной таблицы в другую.

Статус:1 – процесс уже есть; 0 – эта область может быть использована для порождения нового процесса.

Если поступает запрос на память, то ищется участок, в котором есть нужная память. Он делится на 2 части: одна выделяется процессу, другая остается.

Стратегия выделения памяти зависит от того, как отсортирована таблица свободных областей: если в порядке возрастания начального адреса, то алгоритм называется "первый подходящий", а если в порядке возрастания размера, то "самый подходящий". При "самом подходящем" большие куски не делятся на более мелкие, но он более сложный, т.к. нужно упорядочивать таблицу. Но при этом в процессе обслуживания или выполнения процессов существует тенденция образования мелких свободных участков памяти, общий объем которых удовлетворяет запросам, но они не являются смежными.

Пример: управление ОП в DOS

Управление – разделами по запросу.

MCB – Memory Control Block (5 байт). Располагается в начале каждого блока памяти.

· Статус (1 байт). ‘M’ – занят, ‘Z’ – свободен

· Адрес PSP (PCB), 0 – свободен (2 байта)

· Размер блока в параграфах (2 байта)

В самой ОС есть управляющее поле, которое ссылается на начало этой цепочки. Адрес следующего блока вычисляется через адрес и размер предыдущего. Команды процессора в DOS:

GETBLOCK – выделение памяти

FREEBLOCK – освобождение памяти

SETBLOCK – изменение размера памяти

И при этом нет никакой защиты ядра ОС!



Поделиться:


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

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