Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Gaurd Page Implementation on the Mach Microkernel

IP.com Disclosure Number: IPCOM000113499D
Original Publication Date: 1994-Aug-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 46K

Publishing Venue

IBM

Related People

Arendt, JW: AUTHOR [+2]

Abstract

In OS/2*, guard pages have specific semantics that allow user tasks to detect stacks filling up, the execution of specified procedures, or the access of critical data that lies on selected pages of virtual memory. In fact the semantics are general enough that there is a large number of potential uses of guard pages, too large to begin to enumerate here.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 68% of the total text.

Gaurd Page Implementation on the Mach Microkernel

      In OS/2*, guard pages have specific semantics that allow user
tasks to detect stacks filling up, the execution of specified
procedures, or the access of critical data that lies on selected
pages of virtual memory.  In fact the semantics are general enough
that there is a large number of potential uses of guard pages, too
large to begin to enumerate here.

      In the monolithic kernel implementation of OS/2, however, guard
pages are tied directly to the X86 hardware.  This results in a
nicely general semantics, but is hampered by hardware and portability
limitations.  The Mach microkernel has a general abstracting concept
called an external pager.  Previously, external pagers have been used
for file systems, loaders and other similar semantics.  With a slight
increase in abstraction, the external pager has now been used to
capture the OS/2 guard page semantics.

      In the current implementation, a special pager is created to
provide guard page semantics.  This pager, called the guard pager,
provides a Mach memory object that can be mapped into the user's
virtual memory space.  When a program references a portion of this
memory, Mach requests a page from the guard pager.  Instead of
providing the page as is the normal use of a Mach pager, the guard
pager notifies the correct personality server of the guard page.  The
personality then enforces the appropriate guard page semantics.  In
the case o...