首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

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

2013-06-25 
Windows内存体系结构中物理存储器的调拨最近在看《Windows 核心编程》,有一个不太明白的地方:假如在磁盘上有

Windows内存体系结构中物理存储器的调拨
最近在看《Windows 核心编程》,有一个不太明白的地方:
假如在磁盘上有一个可执行文件,当运行它的时候,先要开辟一块虚拟地址空间,再给虚拟地址空间调拨物理存储器。那么调拨物理存储器时是优先调拨内存做物理存储器之后再把可执行文件复制到内存中吗?还是直接将可执行文件标注为内存映射文件?
[解决办法]
另外就操作系统来说,什么叫做“文件”?什么叫做可执行文件?什么叫做进程?这些是任何操作系统课程都会在一开头都明确的。

在内存中创建一个进程,反正不是“把磁盘文件标注一下”这么个过程。
[解决办法]

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

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

热点排行