??? The page number can become a quick
index into the process page table, and the offset remains simply the address of the reference within the page/frame.
For instance, if a 32-bit system (addresses are 32 bits long) has a frame size of 4K, it means that 12 bits of the
address are required for the offset within the page (212 = 4096 bytes on a page). The low-order (least significant)
12 bits of the address become the offset, and the high-order (most significant) 20 bits become the page number.
Suppose the process references memory location 1424. Since that number is less than 4096, the reference is
to page 0, the first page. The number 1424 represented as a 32-bit binary number is the following (for readability,
the address is broken into bytes, and the page number field is underlined):
00000000 00000000 00000101 10010000
118 OPERATING SYSTEMS [CHAP. 6
Notice that the high-order 20 bits are all zeros, so this logical address is on page 0, the first page.
Suppose instead that the process references memory location 10304. Since the page size is 4096, this
reference is to a location on the third page, page 2 (remember that the first page was page 0). The number 10304
in binary is the following:
00000000 00000000 00101000 01000000
The high-order 20 bits now create the binary number 2, so this reference is to page 2.
Pages:
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326