当我运行exe时,整个exe逻辑上都在虚拟内存中,但只有几个页面映射到它们的实际帧,所以当一个未映射的页面被引发时,就会出现故障并且我们带来了内存中的帧,驱逐其他一些帧? 我的理解是否正确?
答案 0 :(得分:0)
这是高度系统特定的。但是,在大多数系统中,可执行文件包含用于设置进程地址空间的指令。整个EXE未映射到进程地址空间。
在某些情况下(在某些系统上),EXE包含映射到地址空间的数据,EXE用作该数据的页面文件(例如代码和只读数据)。
对于未初始化的数据,EXE只包含分配这些页面的指令,并且必须将它们映射到页面文件。
因此,EXE中的数据未映射到进程地址空间,并且地址空间中的数据没有映射到EXE。