如果一个进程在另一个进程退出后立即运行(例如),第二个进程可能会被分配一些第一个进程的实际页面。第二个进程是否有可能读取第一个进程的一些数据?(针对 Windows 和/或 Linux 操作系统的问题)
问问题
78 次
1 回答
1
正是出于这个原因,大多数具有安全模型的操作系统(基于 NT 的 Windows、大多数 Unix、Mac OS...)都会清理内存页面(通常通过用零覆盖)。当然,在单个进程中,您可以重用内存页面而无需清理。
您可以在 linux 的 do_anonymous_page 中看到这一点(v3.6.6 中 mm/memory.c 的第 3143 行)。当对已映射但未分配的页面发出写请求时,内核调用alloc_zeroed_user_highpage_movable
以分配零页面。
于 2012-11-08T06:17:11.680 回答