进程间实内存页读取?

时间:2012-11-08 03:03:57

标签: linux windows security operating-system computer-architecture

如果进程在另一个进程退出后立即运行(例如),则第二个进程可能会分配一些第一个进程实际页面。第二个过程是否有可能读取第一个过程的某些数据? (Windows和/或Linux操作系统的问题)

1 个答案:

答案 0 :(得分:1)

大多数具有安全模型的操作系统(基于NT的Windows,大多数Unix,Mac OS ......)都会擦除内存页面(通常用零覆盖),正是出于这个原因。当然,在单个进程中,您可以重用内存页面而不进行清理。

您可以在linux中的do_anonymous_page(line 3143 of mm/memory.c in v3.6.6)中看到这一点。当一个写入请求来自已映射但未分配的页面时,内核会调用alloc_zeroed_user_highpage_movable来分配一个归零页面。