* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Document
Survey
Document related concepts
Transcript
Exokernel Operating System: An Introduction Liming Shu COSC 513, Summer 2002 Traditional Operating System: Advantages Provides a portable interface to the underlying machine. Provides a large default functionality base, including resource management. Provides protection for resources. Traditional Operating System: Disadvantages The kernel manages resources. Different applications have different needs for resources. One generalized OS cannot satisfy all the resource needs from various applications. As a result, application performances are compromised. Exokernel Ideas Developed by a team at MIT. Separate resource protection from management. Kernel protects resources. Applications manage resources. The programmer knows better than the OS about the resource needs of an application. Exokernel Design Expose resources: expose hardware expose names expose information Protect resources. How to Protect Resources Tracks ownership of resources. Ensure protection by guarding all resource usage or binding points. Revoke access to resources. Exokernel-Based Operating System Two components: exokernel and library operating system (libOS). LibOS resides outside the kernel. Exokernel protects hardware resources (CPU, memory, disk, network, etc). Applications link to libOSes and manage resources through the libOS. Applications can also manage resources by communicating with exokernel directly. Structure of exokernel-based operating system UNIX Applications Specialized Applications Application ExOS VM Net FS TCP FS ExOS subset Exokernel Memory TLB Disk Network Hardware A Prototype Exokernel-Based OS Exokernel: Aegis LibOS: ExOS Performance results: Most primitive Aegis operations are 10–100 times faster than Ultrix. ExOS’s application level virtual memory and IPC primitives are 5-50 times faster than Ultrix’s primitives. Summary Exokernel: a new approach to OS design. It separates resource protection from management. Kernel protects resources. Applications manage resources. Exokernel offers flexibility to application design and therefore improves application performance.