SPIN is a dynamically extensible operating system that allows user applications to safely change the operating system's interface and implementation. Extensions are linked into the operating system kernel at application runtime, enabling them to access system services with low overhead. A capability-based protection model that relies on language and link-time mechanisms enables the system to inexpensively export fine-grained interfaces to system services. SPIN and its extensions are written in Modula-3.
SPIN provides a number of core services which include a scheduler, kernel threads, domains, an event dispatcher, security mechanisms, and primitive vm operations.
By utilizing the core services provided by SPIN, developers can create their own services. At the UW we have created a number of extensions to the base kernel which include file systems (nfs, ufs, lfs), network protocols (tcp/ip and ipv6), os emulators for mach and unix, and direct database transaction support.
Copyright (c) 1997 The University of Washington. All rights reserved.