Download presentation
Presentation is loading. Please wait.
1
Presentation by Omar Abu-Azzah
2
Roadmap The Problem. SPIN’s solution. SPIN’S architecture.
Performance. Conclusion.
4
SPIN Solution Put extension code in the kernel
Low communication overhead Rely on language safety features. Static type checking and dynamic linking. Event driven kernel.
6
Modula-3 OO language designed in early 1990’s. Strongly typed.
Separation of interface and implementation. Protection: members which are exported at the interface are only accessible. Strongly typed. Garbage collection. Other features: Objects, generic interfaces, threads, exceptions.
7
SPIN: Safety Capabilities A pointer. Unforgeable reference to objects.
system object e.g. physical page Interface e.g. physical page allocation interface. collection of interfaces e.g. entire VM system. Compile time type checking for safe assignment and dereferencing. Can be passed to user level (externalized reference)
8
SPIN: Safety Protection domains
Naming and protection interface is at language-level. Domain: An object. Contains one or more safe object files. Controls dynamic binding. Operations: Create, Resolve, Combine. Module must create domain to export its interface through in-kernel nameserver.
10
SPIN: Extensibility Extensions can: Event driven:
Monitor system activity. Offer hints to the system. Replace existing system service. Event driven: System services are done by event handling. Extension is installation of new handler. Dispatcher routes events to handlers.
11
SPIN: Extensibility Event Handler The signature of a procedure.
Raising an event is calling the function. Handler Registration: Dispatcher.InstallHandler (event-name, guard, handler) Handling is executing the procedure. Default handler: allow, deny, guard new handler. Multiple handlers: cooperatively. Synchronously, asynchronous, bounded time.
12
SPIN: Extensibility Guard A predicate evaluated when an event arrives.
Can also be specified by the handler.
13
SPIN: Core Services Extensible memory management
Provides three objects: Physical address. Virtual address Translation What is passed/returned?
15
SPIN: Core Services Extensible thread management
No thread model for applications in SPIN. Strand object provided and can be scheduled. Safety: Kernel handles synchronization and binding of strands to processors using M-3 threads. Thread package defines an implementation of the strand interface. Strand interface: Block and unblock Checkpoint and resume
17
SPIN: Performance Comparison with Mach and OSF/1.
Reasonable and realistic examples presented: TCP/IP, network video system, http server. Protected communication is significantly cheaper. Thread implementation and virtual memory management perform favorably.
20
Conclusion Good performance can be achieved in an extensible system without compromising safety. Flexibility. Relies on Modula-3. Trusts the compiler.
21
References "Extensibility, Safety and Performance in the SPIN Operating System" by Brian Bershad, et al, in Proceedings of the 15th ACM Symposium on Operating System Principles (SOSP-15), Copper Mountain, CO. pp Extensibility: SPIN and exokernels. Grimm, Robert. New York University. Class slides. Available: The SPIN OS. Related Work in Adaptive Operating Systems. Available: Brewer, Eric A. Spin Leading OS Research Astray? January Available: Modula-3: Language definition. Available:
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.