# SimMemManager Script 3 # # Scheduling with one user process # - initial loading of OS # - load of user process into VM # - load of 0-th page of user process into RM # - servicing page faults # - memory read commands # - memory access violation ########################################################################### # # Set up system: # page size: 100 # # frames: 100 # # vpages: 200 # frame factor: 50% # quantum: 3 # sysinit 100 100 200 0.5 3 # # The OS should be allocated the first 16 pages of virtual memory and # the first 16 frames of physical memory. Let's see: show pmt show fmt # # Queue up an arrival with an illegal memory read: arrival 1000 1 25 12 MemAccess 1000 1 1625 # # It should take 1 tick to make the process arrive. Its 12 pages should # be loaded into virtual memory immediately after the 16 pages allocated # to the OS. Let's see if that works: simto 1 show show 1000 show pmt # After two more ticks its 0-th page to be loaded into frame 16 and the # process should be in the run state: simto 3 show 1000 # # The next tick should cause a memory access violation error and the # process should be killed: simto 6 show 1000 show pmt show fmt