Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Управление памятью, malloc, free...
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
l_fin_l
Здравствуйте, посоветуйте пожалуйста литературу по темам: менеджер памяти; как реализованы/устроены функции malloc, free. Желательно, чтобы было написано понятным языком... Заранее спасибо.
megajohn
если самое простое, то это пулы памяти - все куски одного размера.
Так реализовано в Tn-Kernel. По сути - N-флажков на N-кусков.

не плохо бы добавлять также в дескриптор каждого куска:
1. запрошенный размер
2. в конце писать magic-word для теста что не переполнили ( по крайней мере так реализовано в MSVC )
3. что за задача заняла указанный блок
4. magic-word в начале дескриптора

пункты 2 и 4 помогают отлавливать переползания за пределы, за счет установкой бряка на изменение переменной

Add: в аттаче исходники на Tn-Kernel и FreeRtos
как работает в линуксе
AlexandrY
Цитата(l_fin_l @ Oct 20 2014, 07:28) *
Здравствуйте, посоветуйте пожалуйста литературу по темам: менеджер памяти; как реализованы/устроены функции malloc, free. Желательно, чтобы было написано понятным языком... Заранее спасибо.


Есть куча способов реализации malloc.
Вот книга где показано как реализовать минимум 5-ть способов
Нажмите для просмотра прикрепленного файла

И это еще простые способы.
А есть и более изощренные, типа TLSF
l_fin_l
Спасибо большое за материалы, буду изучать, вот тоже нашел кое-чего, если вдруг кому понадобится - Нажмите для просмотра прикрепленного файла (Отрывок из книги "Самоучитель по теории операционных систем")
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.