+ -
当前位置:首页 → 问答吧 → page frames的理解

page frames的理解

时间:2011-09-21

来源:互联网



一个进程要运行,他必须被装载到内存。当它被装到进程的时候,它被赋予一个4k的区域叫做 page frames。 是叫换页帧吗?
这个如何理解? 是不是相当于物理磁盘中的一个pp一样的。 就是说这么一个最小分配单位。
Data is essentially held in pages of 4096b, and a page in RAM is accessible by the CPU, if the page is on disk the CPU can't access it directly.
数据是按每页4096b的方式排放的,如果这些数据页在内存中CPU可以直接访问,如果在硬盘上就不能够直接访问了。

所以划成4K大小事为了cpu读数据的时候方便。每次都读4k页大小。
  物理内存和page space 构成了虚拟内存。可以这样叫吗? 感觉很奇怪。 明明物理的也被搞成虚拟了。
物理内存和page space 被vmm管理。
资料上是这样说的:
In the AIX environment, paging and virtual storage is managed by the Virtual Memory
Manager (VMM)

是不是cpu 和vmm打交道。 它是扯皮的人。
vmm 是又物理内存和page space 组成。pagespace 就是用物理磁盘弄的。

作者: ibmunix   发布时间: 2011-09-21

最小分配单位。

真正实用的原因是vmm,就是物理上并没有真正分配足够的物理内存给申请者。例如申请的程序向操作系统要100M,操作系统直接就告诉它,100M给你了,等于给了张白条。这个白条也是可以兑现的,就是程序真正读写这部分内存的时候,CPU有地址访问动作,如果是白条,而没有真正物理内存对应,CPU的设计就会触发地址访问意外中断,也就是拿白条去银行取钱,银行没那么多钱,银行就会在后面给你运过来,但并不告诉你其实没有,你只能觉得取钱怎么这么慢呢!

一个程序线程流水在同一时刻只能访问一两个数据位,如果数据为对应的物理内存未分配,CPU中断就会紧急分配物理内存过来,一次性4K,也就是这个最小单位。

不同CPU机制不同,概念差不多,Power CPU的具体过程到我的space有几段专门介绍的。

作者: orian   发布时间: 2011-09-22

回复 orian


    谢谢orion的生动解读。明白一些了。 thanks

作者: ibmunix   发布时间: 2011-09-22

解释的相当透彻~!

作者: hegang198772   发布时间: 2011-09-22