В чем преимущество организации свободного списка в порядке адресов по сравнению с порядком LIFO? - PullRequest
2 голосов
/ 16 октября 2011

Я реализую malloc () в C, и сейчас мой свободный список поддерживается в порядке LIFO (т.е. недавно освобожденные блоки добавляются в начало списка), и мой распределитель использует алгоритм первого соответствия для поиска свободныхблоки памяти.В моем учебнике упоминается, что поддержание списка в порядке адресов в этой ситуации требует более эффективного использования памяти, чем список в порядке LIFO, но я не понимаю почему и не объясняю.Со временем я внедрю систему друзей или что-то подобное, но сейчас я просто хочу это понять.

1 Ответ

2 голосов
/ 16 октября 2011

Объединение свободных блоков («дефрагментация») проще, если у вас есть свободный список, отсортированный по адресу - объединение двух фрагментов в больший фрагмент по существу тривиально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...