谁将主存储器划分为页面框架?根据我目前的理解,是由OS维护帧表,因此不是MMU可以完成这项工作吗?
答案 0 :(得分:2)
MMU仅仅是硬件。今天,它已成为CPU芯片的一部分。有关MMU的详细信息是instruction set architecture特定的(在x86和PowerPc或ARM或RISC-V上是不同的)。
需要配置MMU,以实现合适的virtual address到物理地址的转换。
该MMU配置(privileged操作)由管理kernel的操作系统page table完成。从user-space的角度来看,操作系统将提供system calls(例如Linux上的mmap(2))来更改virtual address space的process。
阅读Operating Systems: Three Easy Pieces了解更多信息(可免费下载)。有chapters(12至24)对此进行了解释。
PS。如果您使用的是Linux系统,请尝试使用cat /proc/$$/maps
命令(它会“显示” shell进程的虚拟地址空间,因为您的外壳会将$$
扩展到其pid),然后读取有关proc(5)的更多信息。
答案 1 :(得分:1)
谁将主存储器划分为页面框架?
系统硬件将主内存划分为物理页面框架。
根据我目前的理解,是操作系统维护着帧表,所以不是这项工作的MMU?
不。操作系统将进程的逻辑页面映射到物理页面框架。底层硬件将内存分为页面框架。 MMU可能会或可能不会这样做。这完全取决于芯片组的设计。