Если кто-то грязными сапогами небрежно прогуляется по своему куску памяти - то конец этой информации.
Да пофигу, это меньшее из зол. Там есть трекеры, в спец сборках это ловится впринципе неплохо. Да и если такой процесс будет оверранить, он скончается ооочень быстро, при такой оживленности то..
А вот что делать с выравниванием. Если это просто байтовые строки - то ладно. А если это память под структуры с содержательными объектами, то тут все не очень просто.
Тут хинты для менеджера памяти неплохо работают - по умолчанию все выравнивается, а для строк - нет.
Можно ли избежать полной блокировки бадди-аллокатора при выделении или освобождении памяти?
Вероятно можно - если на каком-нить из верхних этажей распихать локи. Главное, суметь разбить операцию выделения/освобождения на две атомарные теоретико-стойкие операции - вход и выход из операции. Неплохая инженерная задача для курсовой. Жаль, меня давно уже выпустили
-- 16.11.2015, 22:31 --я предлагаю ТС вместо решения сложной общей задачи (параллельный универсальный аллокатор) оглядеться вокруг в поисках специализированного решения (последовательные специализированные аллокаторы).
Так примерно так оно сейчас и работает. И чем дальше, тем чаще приходится анализировать, как эти специализированные аллокаторы поживают и не поехало ли там чего наперекосяк, сводя на нет оптимизации - а хочется вместо этого делом заниматься =)