#memory #memory-management #malloc #best-fit
Вопрос:
Я читал об алгоритме next-fit для управления памятью, но не смог найти ответа на конкретную деталь.
От: https://www.geeksforgeeks.org/program-for-next-fit-algorithm-in-memory-management/
Следующая подгонка-это модифицированная версия «первой подгонки». Он начинается как первый подходящий, чтобы найти свободный раздел, но при следующем вызове он начинает поиск с того места, на котором остановился, а не с самого начала.
Что делать, если не было найдено совпадения с точкой x и тем, что будет после (до последнего блока). будет ли этот алгоритм продолжать циклически искать от 0 до x или он застрянет?
(вероятно, ответ будет утвердительным, так как в этом гораздо больше смысла, но я не уверен, и я действительно хочу знать эту информацию).
Ответ №1:
Да, это будет рассматривать память как циклический буфер. Последовательность поиска такова x->end->begin->x
. Если вы снова достигнете начальной точки x
, поиск завершится неудачно, поэтому запрошенная память недоступна.
Что вы будете делать дальше, зависит от более ранних деталей — можете ли вы каким-то образом сделать доступным больший блок? Перетасовать память? В простых случаях (в конце концов, это учебник) вы просто терпите неудачу.