EXOKERNEL Gabriel Beltran John Blackman David Martin Kurt Rohrbacher

Slides:



Advertisements
Similar presentations
Interactive lesson about operating system
Advertisements

Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems Exokernel: An Operating System Architecture for Application-Level Resource Management.
Threads, SMP, and Microkernels
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
1 Application Performance and Flexibility on Exokernel Systems Kaashoek, Engler, Ganger, Briceno, Hunt, Mazieres, Pinckney, Grimm, Jannotti, Mackenzie.
Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Extensible Kernels Edgar Velázquez-Armendáriz September 24 th 2009.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Chapter 13 Embedded Systems
Microkernels: Mach and L4
Figure 1.1 Interaction between applications and the operating system.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Dawson Engler, Frans Kaashoek, James O’Toole
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
Extensible Kernels Mingsheng Hong. OS Kernel Types Monolithic Kernels Microkernels – Flexible (?) – Module Design – Reliable – Secure Extensible Kernels.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
1 OS & Computer Architecture Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Bricefio, Russell Hunt, David Mazikres, Thomas Pinckney, Robert Grimm, John Jannotti.
Hands-On Microsoft Windows Server 2008
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
APPLICATION PERFORMANCE AND FLEXIBILITY ON EXOKERNEL SYSTEMS M. F. Kaashoek, D. R. Engler, G. R. Ganger H. M. Briceño, R. Hunt, D. Mazières, T. Pinckney,
Paper by Engler, Kaashoek, O’Toole Presentation by Charles Haiber.
CS533 Concepts of Operating Systems Jonathan Walpole.
Exokernel: An Operating System Architecture for Application-Level Resource Management" by Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr. Chris.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
MIT’s Exokernel Presented by Victoria Barrow Kyle Safford Sean Sommers.
UNIX Unit 1- Architecture of Unix - By Pratima.
Operating Systems Engineering Based on MIT (2012, lec3) Recitation 2: OS Organization.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Processes, Threads, and Process States. Programs and Processes  Program: an executable file (before/after compilation)  Process: an instance of a program.
Advanced Operating Systems (CS 202) Extensible Operating Systems (II) Jan, 13, 2016.
Exokernel Operating System: An Introduction Liming Shu COSC 513, Summer 2002.
Exokernel: An Operating System Architecture for Application-Level Resource Management by Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr. Presented.
Computer System Structures
Disk Cache Main memory buffer contains most recently accessed disk sectors Cache is organized by blocks, block size = sector’s A hash table is used to.
Chapter 13: I/O Systems.
Kernel Design & Implementation
Module 12: I/O Systems I/O hardware Application I/O Interface
Overview of today’s lecture
Operating System Structure
KERNEL ARCHITECTURE.
What is an Operating System?
Chapter 3: Windows7 Part 2.
I/O Systems I/O Hardware Application I/O Interface
Chapter 3: Windows7 Part 2.
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
Basic Concepts Protection: Security:
Process Description and Control
CSE 451: Operating Systems Autumn 2005 Memory Management
Chapter 2: Operating-System Structures
Introduction to Operating Systems
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
CSE 451: Operating Systems Autumn 2001 Lecture 2 Architectural Support for Operating Systems Brian Bershad 310 Sieg Hall 1.
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
CSE 471 Autumn 1998 Virtual memory
Operating Systems Structure
Chapter 2: Operating-System Structures
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

EXOKERNEL Gabriel Beltran John Blackman David Martin Kurt Rohrbacher Matt Sechrist

Motivation for using an Exokernel Mainstream operating systems are not designed for high performance -- OS abstractions need to satisfy a wide range of applications -- Even when they aren’t necessary, they still require resources Are there benefits to customizing abstractions? Exokernels provide a solution to large and unecessary kernels -- Kernel operations include hardware multiplexing and resource protection -- Higher level abstractions are implemented in libraries (called libOSes)

Kernel Design Considerations The kernel notifies programs of processor events (such as interrupts and hardware exceptions). The kernel allocates physical memory pages to programs and controls the translation lookaside buffer. The kernel ensures that programs access only pages for which they have a capability. It also implements a programmable packet filter

Security Considerations The goal is to give enough control of resources to all applications in a secure, multi-user system. Resource management is restricted to functions necessary for protection. They are as follows: Allocation, Revocation, Sharing information, and Tracking of ownership.

Hardware Multiplexing Distributed Control Exokernel must be responsible for 3 core tasks: Track ownership of resources Perform access control to ensure security policy is not violated Revoke access to certain resources Secure Binding Decouples authorization from actual use of object High-level authorization not required for access privileges Physical Memory, Frame Buffers, Network Devices, etc.

Hardware Multiplexing Physical Memory Exokernel creates secure binding by recording the owner and read/write capabilities specified by the application. Once application is given physical memory page it has the power to change its capability and deallocate the page. Frame Buffers Application can access frame buffer hardware directly because the hardware checks the ownership tag when I/O takes place. Network Devices Packet filters

Hardware Multiplexing Revocation Necessary to reclaim resources. Invisible and Visible revocation. The Abort Protocol Uncooperative Processes Defines what action the exokernel will take. Reposession Vector records the forced loss of a resource and sends application a “reposession” exception to update necessary variables.

Storage System XN Give libFSes as much control over file management as possible while still protecting from unauthorized access. Unauthorized access prevented by using secure bindings. XN follows 3 rules for achieving strict file system integrity Never reuse an on-disk resource before nullifying all previous pointers to it. Never create persistent pointers to structures before they are initialized. When moving an on-disk resource, never reset the old pointer in persistent storage before the new one has been set. XN allows the 1ibFSes to address the file management by enforcing the rules without legislating how to follow them.

File System C-FFS: “co-locating fast file system “ UNIX-like library file system. Four additions to XN: Maps UNIX representation access control (uids and gids, etc.) to those of Exokernel capabilities. UNIX specific file styling. Performs locking to ensure that its data is always recoverable. Ensures that certain state transitions are implicit on certain actions.

Exokernels and Application-Level Networking Network Software Architecture Kernel Functions ExOs Networking Abstractions

ExOs Networking Abstractions UDP/IP TCP/IP Listen/Accept Timers and Timeouts TIMEWAIT Performance

What are the benefits and costs? Unnecessary abstractions and functionality are not present in memory Expect system performance to improve (ex. CPU scheduling…) Library OS functions are easy to modify and debug Modification of a kernel VS. modification of library functions Difficult to port Since the kernel is customized for specific hardware configurations

END