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.
Page tables can get terribly large, much bigger than the small segment table or base/bounds pair we have discussed previously. For example, imagine a typical 32-bit address space, with 4KB pages. This virtual ad-dress splits into a 20-bit VPN and 12-bit offset (recall that 10 bits would
Domain:
Source:
Link to this page:
Please notify us if you found a problem with this document:
{{id}} {{{paragraph}}}