Может ли память, выделенная через mmap, перекрывать сегмент данных

Функция malloc использует обе функции sbrk и mmap . Теперь функция sbrk увеличивает или уменьшает сегмент данных. Так что растет линейно. Теперь мой вопрос: всегда ли эта линейность сохраняется, или, например, вызов mmap может выделить память, перекрывающую сегмент данных?

Я говорю о многопоточных программах, работающих в многоядерных системах. В этом блоге рассказывается о некоторых серьезных недостатках sbrk для многопоточных программ, и указывается, что возможно, что память, выделенная с помощью sbrk , может смешиваться с выделенной памятью с mmap ( Куча sbrk может стать прерывистой, потому что область mmaped или общий объект препятствует росту кучи ).

5
задан user unknown 20 February 2012 в 19:25
поделиться