谁将主存储器划分为页面框架?

时间:2018-12-26 06:50:19

标签: memory memory-management operating-system paging virtual-memory

谁将主存储器划分为页面框架?根据我目前的理解,是由OS维护帧表,因此不是MMU可以完成这项工作吗?

2 个答案:

答案 0 :(得分:2)

MMU仅仅是硬件。今天,它已成为CPU芯片的一部分。有关MMU的详细信息是instruction set architecture特定的(在x86PowerPcARMRISC-V上是不同的)。

需要配置MMU,以实现合适的virtual address到物理地址的转换。

该MMU配置(privileged操作)由管理kernel的操作系统page table完成。从user-space的角度来看,操作系统将提供system calls(例如Linux上的mmap(2))来更改virtual address spaceprocess

阅读Operating Systems: Three Easy Pieces了解更多信息(可免费下载)。有chapters(12至24)对此进行了解释。

PS。如果您使用的是Linux系统,请尝试使用cat /proc/$$/maps命令(它会“显示” shell进程的虚拟地址空间,因为您的外壳会将$$扩展到其pid),然后读取有关proc(5)的更多信息。

答案 1 :(得分:1)

  

谁将主存储器划分为页面框架?

系统硬件将主内​​存划分为物理页面框架。

  

根据我目前的理解,是操作系统维护着帧表,所以不是这项工作的MMU?

不。操作系统将进程的逻辑页面映射到物理页面框架。底层硬件将内存分为页面框架。 MMU可能会或可能不会这样做。这完全取决于芯片组的设计。