???
As long as the process continues to reference memory that is mapped through the page table, the
process continues to execute. However, when the process references a memory location that is not mapped
through the page table, the fact that the valid bit for that page is set to ???invalid??? will cause the reference to
generate a ???page fault.??? A page fault causes a trap to the operating system, and the operating system must
handle the page fault by:
1 Locating the required page of code or data from the process image
2 Finding an unused memory frame
3 Copying the required code or data to the frame
4 Adding a mapping of the new frame to the process??™s page table
5 Setting the valid bit in the new page table entry to valid
6 Restarting the instruction which faulted
The processing of a page fault can also be more complex, as when all memory is allocated, and some
previously allocated page mapping must be replaced. Also, because of the wait for disk I/O in reading the
process image into memory, it??™s likely that another process will be scheduled while the disk I/O completes.
Virtual Memory Problems and Solutions
It??™s fine that each process has a page table mapping its logical address space to physical memory.
Pages:
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329