Поиск свободных блоков и фрагментация
- From
- Sergey Mudry ()
- To
- Andrew Evdokimov
- Date
- 2003-01-16T15:03:54Z
- Area
- RU.ALGORITHMS
From: "Sergey Mudry" <upx@nc.ru>
Hello, Andrew!
You wrote to All on Sat, 11 Jan 2003 10:59:18 +0300:
AE> Вот интересо стало, какие существуют алгоритмы поиска свободных
AE> блоков? Т.е., есть некое пространство, разделённое на одинаковые по
AE> размеру блоки, часть из них занята, свободна. Необходимо найти
AE> некоторое количество свободных блоков и занять их. Фрагментация
AE> возможна, но нежелательна. Иными словами, задача похожа на поиск
AE> свободного места в некоторых файловых системах - но как оптимально
AE> это реализовать. Приветствуются также ссылки на теоретические
AE> источники.
А можно ли что-нибудь хранить в свободных блоках?
Если можно, то логично создать из них связный список; т.е, внутри
каждого свободного блока
держать указатель на следующий свободный. Где-то также хранить указатель
на первый свободный. Тогда весь поиск и захват сводится к взятию и
модификации соответствующего количества указателей. Если к тому же этот
список поддерживать упорядоченным по возрастанию адресов, то и
фрагментация сводится к минимуму без больших затрат.
With best regards, Serg, aka upx@nc.ru, upx@ukr.net
--- ifmail v.2.15dev5
* Origin: Donbass Internet Center DIPT (2:5020/400)