Я студент и хочу узнать больше об управлении динамической памятью. Для C ++ вызывающий оператор new () может выделить блок памяти в Heap (Free Store). На самом деле у меня нет полной картины, как этого добиться.
Есть несколько вопросов:
1) По какому механизму ОС может выделить блок памяти ?? Как я знаю, существуют некоторые базовые схемы распределения памяти, такие как «первое соответствие», «наилучшее соответствие» и «худшее соответствие». Использует ли ОС одну из них для динамического выделения памяти в куче?
2) Для разных платформ, таких как Android, IOS, Window и т. Д., Используются ли разные алгоритмы выделения памяти для выделения блока памяти?
3) Для C ++, когда я вызываю оператор new () или malloc (), выделяет ли распределитель памяти блок памяти случайным образом в куче?
Надеюсь, что кто-нибудь может мне помочь.
Спасибо