Дисциплины выделения памяти

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

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

При "первом подходящем" поиск, в среднем, намного короче, мала вероятность порождения блоков малого размера, но дробятся большие блоки. Этот критерий успешно работает в тех случаях, где применение критерия "наиболее подходящий" не дает результатов.

Пример. Пусть свободны два блока размером 6100 (первый в Дисциплины выделения памяти списке на текущий момент) и 5800. Поступают последовательно три запроса на блоки размерами 5000, 5400 и 1000. Общий объем свободной памяти составляет 11900, а запрашиваемой - 11400. Сравним две дисциплины (табл.5.1).

Когда блок выделен, то разница между длиной этого блока и размером требуемой памяти возвращается в список.

Таблица 5.1

Запрос Список свободных блоков после выполнения запроса
Наиболее подходящий Первый подходящий
Начальное состояние
нет памяти

Список упорядочивают по адресам блоков. Это позволяет легко сливать смежные блоки, а поиск свободного блока требует, в среднем, просмотра половины списка.

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


documentajwiaur.html
documentajwiiez.html
documentajwipph.html
documentajwiwzp.html
documentajwjejx.html
Документ Дисциплины выделения памяти