This paper presents SPIN, an extensible operating system that can be dynamically specialized to meet the needs of individual applications. Provides cheap isolation at compile time.
Language features ensure safety within the kernel.
However, applications can be written in any language and executed within their own virtual address space. These are implemented using pointers, with the compiler ensuring that they cannot be forged, dereferenced improperly, or accessed by the unprivileged masses. Extensions are defined in terms of events and handlers, which are registered through a central dispatcher. The module that exports the procedure is the default implementation. Other modules may attempt to install additional handlers or remove the primary implementation.