谁把主存分页框了?

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 完成。这完全取决于芯片组的设计方式。