Solo disponible en BuenasTareas
  • Páginas : 63 (15504 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de febrero de 2011
Leer documento completo
Vista previa del texto
A version of this paper appeared in the Proceedings of the Fifteenth Symposium on Operating Systems Principles

Extensibility, Safety and Performance in the SPIN Operating System
Department of Computer Science and Engineering University of Washington Seattle, WA 98195

Brian N. Bershad Stefan Savage Przemysaw Pardyak Emin Gun Sirer l Marc E. Fiuczynski David Becker Craig Chambers SusanEggers

This paper describes the motivation, architecture and performance of SPIN, an extensible operating system. SPIN provides an extension infrastructure, together with a core set of extensible services, that allow applications to safely change the operating system's interface and implementation. Extensions allow an application to specialize the underlying operating system in order to achieve aparticular level of performance and functionality. SPIN uses language and link-time mechanisms to inexpensively export ne-grained interfaces to operating system services. Extensions are written in a type safe language, and are dynamically linked into the operating system kernel. This approach o ers extensions rapid access to system services, while protecting the operating system code executingwithin the kernel address space. SPIN and its extensions are written in Modula-3 and run on DEC Alpha workstations.


paging algorithms found in modern operating systems can be inappropriate for database applications, resulting in poor performance Stonebraker 81 . General purpose network protocol implementations are frequently inadequate for supporting the demands of high performanceparallel applications von Eicken et al. 92 . Other applications, such as multimediaclients and servers, and realtime and fault tolerant programs, can also present demands that poorly match operating system services. Using SPIN, an application can extend the operating system's interfaces and implementations to provide a better match between the needs of the application and the performance andfunctional characteristics of the system.

1.1 Goals and approach

1 Introduction

SPIN is an operating system that can be dynamically

specialized to safely meet the performance and functionality requirements of applications. SPIN is motivated by the need to support applications that present demands poorly matched by an operating system's implementation or interface. A poorly matchedimplementation prevents an application from working well, while a poorly matched interface prevents it from working at all. For example, the implementations of disk bu ering and

This research was sponsored by the Advanced Research Projects Agency, the National Science Foundation Grants no. CDA-9123308 and CCR-9200832 and by an equipment grant from Digital Equipment Corporation. Bershad was partiallysupported by a National Science Foundation Presidential Faculty Fellowship. Chambers was partially sponsored by a National Science Foundation Presidential Young Investigator Award. Sirer was supported by an IBM Graduate Student Fellowship. Fiuczynski was partially supported by a National Science Foundation GEE Fellowship.

The goal of our research is to build a general purpose operating system thatprovides extensibility, safety and good performance. Extensibility is determined by the interfaces to services and resources that are exported to applications; it depends on an infrastructure that allows ne-grained access to system services. Safety determines the exposure of applications to the actions of others, and requires that access be controlled at the same granularity at which extensions arede ned. Finally, good performance requires low overhead communication between an extension and the system. The design of SPIN re ects our view that an operating system can be extensible, safe, and fast through the use of language and runtime services that provide lowcost, ne-grained, protected access to operating system resources. Speci cally, the SPIN operating system relies on four techniques...
tracking img