Virtual Memory Primitives for User Programs
Memory Management Units (MMUs) are traditionally used by operating systems
to implement disk-paged virtual memory. Some operating systems allow user
programs to specify the protection level (inaccessible, read-only,
read-write) of pages, and allow user programs to handle protection
violations, but these mechanisms are not always robust, efficient, or
well-matched to the needs of applications.
We survey several user-level algorithms that make use of page-protection
techniques, and analyze their common characteristics, in an attempt
to answer the question, "What virtual-memory primitives should the
operating system provide to user processes, and how do today's
operating systems provide them?".
- This technical report has been published as
- Virtual memory primitives for user programs. Andrew W. Appel
and Kai Li, Proc. Fourth Int'l Conference on Architectural Support
for Prog. Languages and Operating Systems, (ACM SIGPLAN Notices
25(4)) pp.96-107, April 1991.