Transcription of Paging: Introduction
{{id}} {{{paragraph}}}
18 Paging: IntroductionIt is sometimes said that the operating system takes one of two approacheswhen solving most any space- management problem. The first approachis to chop things up intovariable-sizedpieces, as we saw withsegmenta-tionin virtual memory . Unfortunately, this solution has inherent difficul-ties. In particular, when dividing a space into different-size chunks, thespace itself can becomefragmented, and thus allocation becomes morechallenging over , it may be worth considering the second approach: to chop upspace intofixed-sizedpieces. In virtual memory , we call this ideapaging,and it goes back to an early and important system, the Atlas [KE+62, L78].Instead of splitting up a process s address space into some number ofvariable-sized logical segments ( , code, heap, stack), we divide it intofixed-sized units, each of which we call apage. Correspondingly, we viewphysical memory as an array of fixed-sized slots calledpage frames; eachof these frames can contain a single virtual- memory page.
One of the most important data structures in the memory management subsystem of a modern OS is the page table. In general, a page table stores virtual-to-physical address translations, thus letting the system know where each page of an address space actually resides in physical memory. Because each address space requires such translations, in gen-
Domain:
Source:
Link to this page:
Please notify us if you found a problem with this document:
{{id}} {{{paragraph}}}