Я думаю, зіткнення купи та скупчення могло б запобігти, просто поставивши обидва у різні сегменти. Будь-яка причина не була реалізована таким чином?
Відповіді:
0 для відповіді № 1Компілятори виробляють коди, що дотримуютьсяопераційна система ABI.Таким чином, модель пам'яті компілятора насправді слідує моделі пам'яті операційної системи.Якщо ви питаєте про Linux, * BSD або іншу ОС, яка має плоский ВА з перекриваючими сегментами коду / дані / стека, то це " простіше програмувати таким чином, що значно спрощує керування пам'яттю. Можливість запобігання зіткнення купівельних стеків занадто мало прибутку від втрати ОС з точки зору простоти керування пам'яттю (управління квартирою VA вже є досить складний)
Подивіться, що сталося з OS / 2 - він використовував повну сегментацію в захищеному режимі ...