posted on 2007-07-01, 00:00authored byRichard P. Draves
Abstract: "Thread management and interprocess communication are two key operating systems services. Within an operating system, these services can be unified by managing the state of a computation as a continuation, a first class object that can be explicitly examined and manipulated through a well-defined interface. Continuations as first class objects improve the performance of thread management and interprocess communication facilities, and can be used to generalize many optimizations that are common to operating systems. These optimizations can be recast in terms of a single, unifying implementation methodology.We have used continuations to redesign the internals of the Mach operating system at Carnegie Mellon University. On a DECstation 3100, our new system consumes over 85% less space per thread and executes a cross-address space procedure call 14% faster than earlier, heavily optimized versions. This paper describes the application of continuations to the Mach operating system."