Browse Prior Art Database

Shared Coerced Memory and Configurable Address Space Layout

IP.com Disclosure Number: IPCOM000116435D
Original Publication Date: 1995-Sep-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 70K

Publishing Venue

IBM

Related People

Auslander, M: AUTHOR [+11]

Abstract

Disclosed is a method characterizing shared memory in a multi-personality operating system as belonging to global memory, shared coerced memory, or non-coerced memory. In shared coerced memory, different copies of memory blocks are allocated at the same virtual address for all tasks requiring such memory blocks. With this characterization, the system optimizes the layout of the address space of a task to take advantage of the segmented memory support in modern processors.

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

Shared Coerced Memory and Configurable Address Space Layout

      Disclosed is a method characterizing shared memory in a
multi-personality operating system as belonging to global memory,
shared coerced memory, or non-coerced memory.  In shared coerced
memory, different copies of memory blocks are allocated at the same
virtual address for all tasks requiring such memory blocks.  With
this characterization, the system optimizes the layout of the address
space of a task to take advantage of the segmented memory support in
modern processors.

      In particular, two regions of the address space are defined--a
global memory area and a general coerced area--with the placement and
size of these areas being set by system configuration options at boot
time to provide flexibility.  The system maintains a single
system-wide allocation map for each of these areas, ensuring that
tasks from every personality, and personality-neutral tasks, can
participate in sharing coerced memory blocks.  Memory is allocated
from these areas using a single, personality-neutral Shared Coerced
Memory Application Program Interface (API), to be available to all
tasks of the system.

      The Figure is a block diagram showing how, in accordance with
this method, the address space of a task is divided into four
separate areas--the microkernel reserved area, the global shared
area, the shared coerced area, and the task private area.

      The microkernel reserved area is used by the part of the
microkernel which is mapped into all tasks.  For example, on the
PowerPC* (PPC), this area is implemented with one of the sixteen PPC
segment registers.

      The global shared area is mapped int...