Motorola MC68030 User Manual page 376

Enhanced 32-811 microprocessor
Hide thumbs Also See for MC68030:
Table of Contents

Advertisement

-
9-74
In a typical computer system, with 64K bytes of boot and diagnostics ROM,
a 64K I/O area, and 1 Mbyte of RAM, the physical mapping appears as follows:
lOW MEMORY
o
I
BOOT AND DIAGNOSTICS ROM
64K ' - - - - - - - - - - - - '
UNMAPPED
1M
~---------.....,
HARDWARE liD
2M
t - - - - - - - - - - - - 1
SYSTEM RAM
3M - - - - - - - - - - -......
The operating system must control memory allocation for physical memory
(page frames) to hold the pages of virtual memory. All available physical
memory is divided into page frames, each of which can hold a page of virtual
memory. A system with 4 Mbytes of actual memory is divided into 512
8K-byte frames that can theoretically hold 512 pages of active virtual memory
at anyone time. Usually, operating system components (exception handlers,
the kernel, private memory pool) permanently reside in some of the memory.
Only the remaining page frames are available for virtual memory pages.
The operating system maintains a linked list of all unallocated page frames.
One simple way to do this is for each unallocated frame to contain a pointer
to the next frame. The operating system takes the first page frame on the
list when a frame is required. An operating system primitive called GetFrame
performs this function and returns the physical address of an available frame.
When all frames are allocated, GetFrame steals a frame from another task.
GetFrame first looks for an unmodified frame to steal. An unmodified frame
could be stolen without waiting for the page to be copied back to the external
storage device that stores virtual page images. (This device is called the
paging device or the backing store.) If no unmodified page frame is available,
GetFrame must wait while the system copies a modified page to the paging
device, then steals the page frame and returns to the caller with the physical
aqdress.
Next, the operating system needs physical memory management routines
to allocate and free supervisor work memory. The routine must allocate
pieces of memory on boundaries of at least modulo 16, the requirement for
MC68030 USER'S MANUAL
MOTOROLA

Advertisement

Table of Contents
loading

Table of Contents