Which of the following tasks is/are the responsibility/responsibilities of the memory management unit in a system with paging-based memory management?
View worked solution
Answer: B;C;D
The Memory Management Unit (MMU) is a hardware component responsible for handling memory access requests from the CPU. Let's analyze each option to determine whether it is a hardware (MMU) or software (Operating System) responsibility:
- Option A (Incorrect): Allocating memory and creating data structures like page tables for a newly created process is a software task managed by the Operating System (OS) kernel, not the hardware MMU.
- Option B (Correct): The primary hardware function of the MMU is to perform fast, on-the-fly translation of virtual addresses generated by the CPU into physical addresses using the page table (often accelerated by the TLB).
- Option C (Correct): When the MMU attempts translation and finds that the valid/invalid bit in the page table entry (PTE) is set to invalid (meaning the page is not present in physical memory), it raises a hardware exception/trap known as a page fault to hand control over to the OS.
- Option D (Correct): The MMU enforces memory protection. During translation, it checks the permission bits (e.g., read, write, execute) in the PTE. If a process attempts a write operation on a page marked as read-only, the MMU raises a protection fault (trap).
Therefore, the correct options are B, C, and D.
Free practice · Your answers on this page are not saved.
