谁把主存分页框了?
Who divides the main memory into page frame?
谁把主存分成页框的?根据我目前的理解,维护框架 table 的是 OS,所以它不是用于此工作的 MMU?
MMU is just a hardware thing. Today, it is a part of the CPU chip. Details about the MMU are instruction set architecture specific (so different on x86 and on PowerPc or ARM or RISC-V).
需要配置 MMU,以实现合适的 virtual address 物理地址转换。
那个MMU配置(一个privileged operation) is done by the operating system kernel which manages the page table. From the user-space point of view, the OS would provide system calls (such as mmap(2) on Linux) to change the virtual address space of the process.
阅读 Operating Systems: Three Easy Pieces for more (freely downloadable). There are several chapters(12 到 24)解释这一切。
PS。如果您有 Linux 系统,请尝试 cat /proc/$$/maps
命令(它 "shows" 您的 shell process, since your shell would expand $$
to its pid), and read more about proc(5) 的虚拟地址 space。
Who divides the main memory into page frames?
系统硬件将主内存划分为物理页框。
From my current understanding it's OS that maintains the frame table, so it's not MMU for this job?
没有。操作系统将进程的逻辑页映射到物理页框。底层硬件将内存划分为页框。这可能会也可能不会由 MMU 完成。这完全取决于芯片组的设计方式。
谁把主存分成页框的?根据我目前的理解,维护框架 table 的是 OS,所以它不是用于此工作的 MMU?
MMU is just a hardware thing. Today, it is a part of the CPU chip. Details about the MMU are instruction set architecture specific (so different on x86 and on PowerPc or ARM or RISC-V).
需要配置 MMU,以实现合适的 virtual address 物理地址转换。
那个MMU配置(一个privileged operation) is done by the operating system kernel which manages the page table. From the user-space point of view, the OS would provide system calls (such as mmap(2) on Linux) to change the virtual address space of the process.
阅读 Operating Systems: Three Easy Pieces for more (freely downloadable). There are several chapters(12 到 24)解释这一切。
PS。如果您有 Linux 系统,请尝试 cat /proc/$$/maps
命令(它 "shows" 您的 shell process, since your shell would expand $$
to its pid), and read more about proc(5) 的虚拟地址 space。
Who divides the main memory into page frames?
系统硬件将主内存划分为物理页框。
From my current understanding it's OS that maintains the frame table, so it's not MMU for this job?
没有。操作系统将进程的逻辑页映射到物理页框。底层硬件将内存划分为页框。这可能会也可能不会由 MMU 完成。这完全取决于芯片组的设计方式。