当前位置: 代码迷 >> VC >> Windows内存储器体系结构中物理存储器的调拨
  详细解决方案

Windows内存储器体系结构中物理存储器的调拨

热度:482   发布时间:2016-05-05 00:13:31.0
Windows内存体系结构中物理存储器的调拨
最近在看《Windows 核心编程》,有一个不太明白的地方:
假如在磁盘上有一个可执行文件,当运行它的时候,先要开辟一块虚拟地址空间,再给虚拟地址空间调拨物理存储器。那么调拨物理存储器时是优先调拨内存做物理存储器之后再把可执行文件复制到内存中吗?还是直接将可执行文件标注为内存映射文件?

------解决方案--------------------
另外就操作系统来说,什么叫做“文件”?什么叫做可执行文件?什么叫做进程?这些是任何操作系统课程都会在一开头都明确的。

在内存中创建一个进程,反正不是“把磁盘文件标注一下”这么个过程。
------解决方案--------------------
引用:
假如在磁盘上有一个可执行文件,当运行它的时候,先要开辟一块虚拟地址空间,再给虚拟地址空间调拨物理存储器。那么调拨物理存储器时是优先调拨内存做物理存储器之后再把可执行文件复制到内存中吗?还是直接将可执行文件标注为内存映射文件?

有一种情况是:"Physical Storage Not Maintained in the Paging File"。当用户执行一个可执行文件时,系统预订一块地址空间,并将exe文件本身作为该区域对应的物理存储器。
我的理解是:这种情况是把exe文件当成从页交换文件中分配的空间。(exe文件在硬盘上所占的空间中的代码和数据看成存储在页交换文件中,但实际上并没有从页交换文件中分配空间来存储exe文件中的数据。),之后cpu将进程的虚拟地址映射到物理地址(RAM)中,对数据进行访问。
  相关解决方案