5.5. Paged virtual memory

In Section 5.4 we introduced hardware-supported segmentation in which a process views its virtual address space as a number of individual segments, each with an associated length and access-control settings. However, the need to keep each loaded segment contiguous in physical memory poses a significant disadvantage because it leads to fragmentation and complicates the physical storage allocation problem. A solution to this is called paging. Blocks of a fixed size are used for memory allocation so that if there is any free store it is of the right size. Memory is divided into page frames and the user's program is divided into pages of the same size.

Typically each page is a reasonably small size, such as 4 kbytes, and ...

Get Operating Systems: Concurrent and Distributed Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.