Implement
Multiprogramming
•   virtualPage==physicalPage

•            process virtual page   physical
    page

•          table
•   addrspace.h  class AddrSpace   static bool
    usedPhyPage[NumPhysPages];        physical page
•     Process      page table   Load

•             page table

•   virtual page table          physical page table
•       ReadAt           virtual address                 physical
    address

•   pageTable[virtual address/page size].physicalPage + virtual address
    physical page                                       offset
•
•   Done

Nachos multiprogramming

  • 1.
  • 2.
    virtualPage==physicalPage • process virtual page physical page • table
  • 3.
    addrspace.h class AddrSpace static bool usedPhyPage[NumPhysPages]; physical page
  • 4.
    Process page table Load • page table • virtual page table physical page table
  • 5.
    ReadAt virtual address physical address • pageTable[virtual address/page size].physicalPage + virtual address physical page offset
  • 6.