> -- Роман М. писал(а):
> Мне кажется правильным следить за границами памяти модулей и держать наподобие перечня владений, указывающим за кем числятся данные участки памяти. Причём, никакие модули не должны иметь возможности на него влиять. По мере изменения границ владений (памяти) глобальный менеджер памяти должен регистрировать их в журнале и в случае чего отказать модулю в операции, сказав "Низя! Ишь...".

Разумно. Но фактически приходим к раздельным адресным пространствам.

И тут такая еще получается штука. А как определить владения? Я вот взял, и поменял данные чужого приложения. А раз я с ними работаю, то вроде они как бы и к моему приложению относятся. И в случае обрушения не очень будет понятно, кто есть кто, и кого выгрузить.

Так что в принципе, наверное, дело сводится к модификации правил таким образом, чтобы выполнить два противоречивых правила:

- облегчить обмен данными между приложениями
- обеспечить выгрузку зависшего приложения без вреда для остальных.

Завалишин советует для обмена данными в общем адресном пространстве (его ОС) использовать безопасные интерфейсы (исключающие деструктивное влияние)