Читайте также:
|
|
При запросе блок памяти выбирается по критериям либо наиболее подходящий, либо первый подходящий.
Наиболее подходящий - это наименьший по объему блок из числа удовлетворяющих запросу. Первый подходящий - это первый блок, удовлетворяющий запросу. При "наиболее подходящем" требуется просмотр всего списка. Его использование приводит к увеличению числа блоков малого размера, но он оставляет свободными большие блоки, которые могут быть единственно подходящими для последующих запросов.
При "первом подходящем" поиск, в среднем, намного короче, мала вероятность порождения блоков малого размера, но дробятся большие блоки. Этот критерий успешно работает в тех случаях, где применение критерия "наиболее подходящий" не дает результатов.
Пример. Пусть свободны два блока размером 6100 (первый в списке на текущий момент) и 5800. Поступают последовательно три запроса на блоки размерами 5000, 5400 и 1000. Общий объем свободной памяти составляет 11900, а запрашиваемой - 11400. Сравним две дисциплины (табл.5.1).
Когда блок выделен, то разница между длиной этого блока и размером требуемой памяти возвращается в список.
Таблица 5.1
Запрос | Список свободных блоков после выполнения запроса | |||
Наиболее подходящий | Первый подходящий | |||
Начальное состояние | ||||
нет памяти |
Список упорядочивают по адресам блоков. Это позволяет легко сливать смежные блоки, а поиск свободного блока требует, в среднем, просмотра половины списка.
Таким образом, наиболее приемлемыми являются упорядочивание списка по адресам и использование критерия первого подходящего.
Дата добавления: 2015-10-02; просмотров: 60 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Методы управления свободной памятью | | | Разделы с подвижными границами |