Check out the new USENIX Web site. next up previous
Next: Use of Extensions in Up: A Transactional Memory Service Previous: Organization of the Paper

  
Overview of SPIN

SPIN is an extensible operating system. Applications can safely extend the kernel functionality by downloading code into the kernel address space [spinSosp]. The SPIN operating system consists of the kernel, which provides basic services such as CPU scheduling and device management, and extensions, which are downloaded into the kernel address space after the kernel boots. Extensions efficiently communicate and share resources with the kernel and other extensions; from a performance viewpoint, they resemble dynamically linked modules.

The SPIN kernel and extensions are written in Modula-3 [#!modula-3!#], a general purpose, typesafe language. The Modula-3 compiler, the SPIN runtime environment and the dynamic linker ensure that extensions cannot arbitrarily access memory or other critical resources, such as I/O ports and interrupt masks.



 

Yasushi Saito
1998-04-27