MPS Design Documents

author Richard Brooksby
confidentiality public
date 2002-05-23
organization Ravenbrook Limited
readership developers
revision //
type index


This is the catalogue of design documents of the Memory Pool System product.


This is not a complete set of design documents for the MPS. We have many hundreds of documents from before the MPS was acquired by Ravenbrook on 2001-08-10, many of which contain confidential information [RB_2002-06-18]. We are sorting through these and will include more as time goes on. We have tried to select the key documents for inclusion in the open source release, by including those documents referenced by the source code.

If there is a document you think might exist and want to see it, please write to and we will try to dig it up.


abq Fixed-length queues
alloc-frame Allocation frame protocol
an Generic modules
arena Arena
arenavm Virtual memory arena
bootstrap Bootstrapping
bt Bit tables
buffer Allocation buffers and allocation points
cbs Coalescing block structures
check Checking
class-interface Pool class interface
clock Fast high-resolution clock
collection Collection framework
config MPS configuration
critical-path The critical path through the MPS
diag Diagnostic feedback
exec-env Execution environment
failover Fail-over allocator
finalize Finalization
fix The generic fix function
freelist Free list allocator
guide.hex.trans Transliterating the alphabet into hexadecimal
guide.impl.c.format Coding standard: conventions for the general format of C source code in the MPS
guide.impl.c.naming Coding standard: conventions for internal names Review checklist
interface-c C interface
io I/O subsystem
keyword-arguments Keyword arguments
land Lands (collections of address ranges)
lib Library interface
lock Lock module
locus Locus manager
message Client message protocol
message-gc GC messages
nailboard Nailboards for ambiguously referenced segments
object-debug Debugging features for client objects
pool Pool and pool class mechanisms
poolamc Automatic Mostly-Copying pool class
poolams Automatic Mark-and-Sweep pool class
poolawl Automatic Weak Linked pool class
poollo Leaf Object pool class
poolmfs Manual Fixed Small pool class
poolmrg Manual Rank Guardian pool class
poolmv Manual Variable pool class
poolmvt Manual Variable Temporal pool class
poolmvff Manual Variable First-Fit pool class
prmc Protection mutator context
prot Memory protection
protli Linux implementation of protection module
protocol Protocol inheritance
protsu SunOS 4 implementation of protection module
pthreadext POSIX thread extensions
range Ranges of addresses
ring Ring data structure
root Root manager
scan The generic scanner
seg Segment data structure
shield Shield
sig Signatures in the MPS
sp Stack probe
splay Splay trees
ss Stack and register scanning
sso1al Stack scanner for Digital Unix / Alpha systems
strategy Collection strategy
telemetry Telemetry
tests Tests
testthr Multi-threaded testing
thread-manager Thread manager
thread-safety Thread safety in the MPS
trace Tracer
type General MPS types
version-library Library version mechanism
version Software versions
vm Virtual mapping
vmo1 VM Module on DEC Unix
vmso VM Design for Solaris
write-barrier Write Barrier
writef The WriteF function


[RB_2002-06-18](1, 2) "The Obsolete Memory Management Information System"; Richard Brooksby; Ravenbrook Limited; 2002-06-18; <>.

Document History

  • 2002-05-23 RB Created empty catalogue based on P4DTI design document catalogue.
  • 2002-06-07 RB Added a bunch of design documents referenced by the source code.
  • 2002-06-21 NB Remove P4DTI reference, which doesn't fit here. Maybe one day we'll have a corporate design document procedure.
  • 2002-06-24 RB Added fix, object-debug, thread-manager, and thread-safety.
  • 2007-02-08 RHSK Added message-gc and shield.
  • 2007-06-12 RHSK Added cstyle.
  • 2007-06-28 RHSK Added diag.
  • 2008-12-04 RHSK Added tests.
  • 2008-12-10 RHSK Correct description of message-gc: gc begin or end.
  • 2012-09-14 RB Added link to critical-path
  • 2013-05-10 RB Fixed link to sig and added guide.hex.trans
  • 2013-05-22 GDR Add link to keyword-arguments.
  • 2013-05-25 RB Replacing "cstyle" with reworked "guide.impl.c.format".
  • 2013-06-07 RB Converting to reST. Linking to [RB_2002-06-18].
  • 2014-01-29 RB The arena no longer manages generation zonesets.
  • 2014-01-17 GDR Add abq, nailboard, range.
  • 2016-03-22 RB Add write-barier.