MPS Design Documents

author Richard Brooksby
confidentiality public
date 2002-05-23
organization Ravenbrook Limited
readership developers
revision //info.ravenbrook.com/project/mps/master/design/index.txt#36
type index

Introduction

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

Warning

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 mps-questions@ravenbrook.com and we will try to dig it up.

Designs

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
clock Fast high-resolution clock
collection Collection framework
config MPS configuration
critical-path The critical path through the MPS
diag Diagnostic feedback
doc Documentation
exec-env Execution environment
failover Fail-over allocator
finalize Finalization
fix The generic fix function
freelist Free list allocator
guide.developer Guide for new developers
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
guide.review 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
monitor Monitor
nailboard Nailboards for ambiguously referenced segments
object-debug Debugging features for client objects
pool Pool classes
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
poolmvt Manual Variable Temporal pool class
poolmvff Manual Variable First-Fit pool class
prmc Mutator context
prot Memory protection
protix POSIX implementation of protection module
protocol Protocol inheritance
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
stack-scan Stack and register scanning
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
vm Virtual mapping
walk Walking formatted objects
write-barrier Write Barrier
writef The WriteF function

References

[RB_2002-06-18](1, 2) "The Obsolete Memory Management Information System"; Richard Brooksby; Ravenbrook Limited; 2002-06-18; <https://www.ravenbrook.com/project/mps/doc/2002-06-18/obsolete-mminfo>.

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.
  • 2016-03-27 RB Goodbye pool MV sniff.
  • 2020-08-31 GDR Add walk.