One-level page mapping

Completed

Virtual memory is a well-known virtualization technique supported in most general-purpose OSs. The basic idea of virtual memory is that each process is provided with its own virtual address space, broken up into chunks called virtual pages. A page is a contiguous range of addresses. As shown in the following figure, virtual memory maps virtual pages to physical pages in what is called a page table. We call this one-level page mapping between two types of addresses: the virtual and the physical. Each process in the OS has its own page table. A main observation pertaining to page tables is that not all virtual pages of a process need to be mapped to respective physical pages in order for the process to execute. When a process references a page that exists in the physical memory (i.e., there is a mapping between the requested virtual page and the corresponding physical page), a page hit is attained. On a page hit, the hardware obtains the required virtual-to-physical mapping with no further actions. In contrast, when a process references a page that does not exist in the physical memory, a page miss is incurred. On a page miss, the OS is alerted to handle the miss. Subsequently, the OS fetches the missed page from disk storage and updates the relevant entry in the page table.

Mapping a process's virtual address space to physical address space. This is captured in what is called a page table. Each process has its own page table.

Figure 1: Mapping a process's virtual address space to physical address space. This is captured in what is called a page table. Each process has its own page table.

Check your knowledge

1.

In traditional virtual memories, each process is provided with:

2.

Assume a system has a 64-KB virtual address space, 32 KB of physical memory, and a page size of 4 KB. If the virtual and physical pages are of the same size, how many virtual and physical pages will such a system contain?

3.

One-level page mapping as employed by traditional OSs entails: