The project develops an operating system called SPIN that provides fine-grained control to applications over physical resources in ways that are safe, predictable and efficient. The SPIN system is structured around an extensible microkernel architecture. The system is extensible in the sense that application programs can dynamically install restricted program sequences that execute in the kernel in response to a set of pre-defined events allowing for flexible and rapid response. For example, an application program could install a scheduling filter that runs each time a thread from that program's address space is preempted. The notion of event filtering can be applied to a wide class of events and services, including virtual memory, scheduling, network communication, local interprocess communication and disk management. By viewing system resource management as a process by which physical resources are reassigned across applications, and interpreting each reassignment as a discreet event, SPIN defines critical control points for application feedback, enabling dynamic resource allocation policies. By associating application-defined control sequences with these control points, SPIN enforces a wide range of policies at each event, enabling a single operating system to work well across many types of applications. By executing the control sequences within the kernel, the dynamic control is achieved with very low overhead.