English
Language : 

MC68030 Datasheet, PDF (358/602 Pages) Motorola, Inc – ENHANCED 32-BIT MICROPROCESSOR
Memory Management Unit
When the software flags indicate that the page is allocated and the image has been copied
to the paging device, the operating system assigns a page frame, reads the page image into
the frame, and writes the page descriptor to the page table. Another possible type of invalid
descriptor is one that requires special processing, such as one that refers to a virtual I/O
device area in a virtual machine.
Obtaining a page frame for a virtual page may be an obvious operation. However, when no
idle page frame is available, the system must steal one. If the page in the stolen frame has
been modified in memory, the system must save the page image on the paging device. The
system must alter the translation table of the task that loses the frame to show that the page
is allocated and swapped out. Typically, the translation table entry shows the address of the
page image on the paging device.
The method a system uses to select a page frame to steal varies a great deal from system
to system. A simple system may just steal a page from the lowest priority task. More
advanced systems select the page frame that has not been accessed for the longest time.
This process, called aging, is done in several ways. One method uses bits of the page
descriptor as an aging counter. Periodically, the operating system examines the U (used)
bits and increments the count for pages that have not been used. The system maintains a
list of pages with aging counters that have overflowed. The pages on this list are available
for stealing.
Some systems keep a separate list of pages that have not been modified since the page
image was read from memory. The page frames that contain these pages can be stolen
without swapping out because the existing page image on the paging device remains valid.
Page stealing software can involve many dynamics of the system. It can consider task
priority, I/O activity, working-set determinations, the number of executing tasks, a thrashing
level, and other factors.
9-70
MC68030 USER’S MANUAL
MOTOROLA