MicrokernelsCS-502 (EMC) Fall 20091 Microkernels CS-502, Operating Systems Fall 2009 (EMC) (Slides include materials from Modern Operating Systems, 3 rd.

Slides:



Advertisements
Similar presentations
Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
Advertisements

Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.
Note on malloc() and slab allocation CS-502 (EMC) Fall A Note on malloc() and Slab Allocation CS-502, Operating Systems Fall 2009 (EMC) (Slides include.
MICRO-KERNELS New Generation Innovation. The contents Traditional OS view & its problems. Micro-kernel : introduction to concept. First generation micro-kernels.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
Microkernels: Mach and L4
Figure 1.1 Interaction between applications and the operating system.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
1 Operating System Overview Chapter 2 Advanced Operating System.
CS533 Concepts of Operating Systems Jonathan Walpole.
1 Micro-kernel. 2 Key points Microkernel provides minimal abstractions –Address space, threads, IPC Abstractions –… are machine independent –But implementation.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Kernel, processes and threads Windows and Linux. Windows Architecture Operating system design Modified microkernel Layered Components HAL Interacts with.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview Part 2: History (continued)
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Processes Introduction to Operating Systems: Module 3.
UNIX Operating Systems and Kernels Presented By: Walter Haynes April 26, 2007.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
Operating-System Structures
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Microkernel Systems - Jatin Lodhia. What is Microkernel A microkernel is a minimal computer operating system kernel which, in its purest form, provides.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
操作系统原理 OPERATING SYSTEM Chapter 1 Introduction 概 述.
What is a Process ? A program in execution.
MINIX 3 – Introduction Béat Hirsbrunner Lecture 1, 18 September 2012 Main reference Andrew S. Tanenbaum, Albert S. Woodhull Operating Systems : Design.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Operating Systems A.Biswas Architecture. Computer Startup.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Introduction to Operating Systems Concepts
Computer System Structures
Computer System Structures
Kernel Design & Implementation
Memory Management Paging (continued) Segmentation
Windows API.
CASE STUDY 1: Linux and Android
KERNEL ARCHITECTURE.
Mach Kernel Kris Ambrose Kris Ambrose 2003.
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Memory Management Paging (continued) Segmentation
CS-3013 Operating Systems Hugh C. Lauer
Lecture Topics: 11/1 General Operating System Concepts Processes
Operating System Structure
Operating Systems: A Modern Perspective, Chapter 3
OS Organization.
Lecture Note 0: Course Introduction
Outline Operating System Organization Operating System Examples
Operating Systems Structure
Memory Management Paging (continued) Segmentation
Presentation transcript:

MicrokernelsCS-502 (EMC) Fall Microkernels CS-502, Operating Systems Fall 2009 (EMC) (Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum and from Operating System Concepts, 7 th ed., by Silbershatz, Galvin, & Gagne)

MicrokernelsCS-502 (EMC) Fall Problem Operating systems are large They continue to evolve and grow … and are worked on by many people (Like all other programs) they contain bugs How to organize them so that bugs do not … bring down systems … impede normal operation … etc.

MicrokernelsCS-502 (EMC) Fall Operating System Structures Monolithic systems Formerly called “the big mess” Layered systems Microkernel based systems Client-server model Virtual Machines Exokernels Tanenbaum, §1.7 An epithet leveled at any big system by a speaker who does not understand & and made by someone s/he does not trust!

MicrokernelsCS-502 (EMC) Fall Operating System Structures Monolithic systems Formerly called “the big mess” Layered systems Microkernel based systems Client-server model Virtual Machines Exokernels A faulty driver or component can corrupt any data in kernel Arbitrary damage Stop system anywhere … etc.

MicrokernelsCS-502 (EMC) Fall Layered Systems Figure Structure of the THE operating system. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

MicrokernelsCS-502 (EMC) Fall Layered Systems Figure Structure of the THE operating system. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Simple Elegant Incredibly naïve

MicrokernelsCS-502 (EMC) Fall Microkernel — An Organizing Principle Partition OS kernel into lots of small, independent pieces Put pieces in separate “processes” Isolated from each other except for message passing Keep kernel mode code to a minimum Concept emerged in 1970s MACH at CMU (Rick Rashid) NEXT computer Apple Mac-OS

MicrokernelsCS-502 (EMC) Fall Microkernel Example Figure Structure of the MINIX 3 system. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

MicrokernelsCS-502 (EMC) Fall Microkernel Example Figure Structure of the MINIX 3 system. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Works great on a PDP-11 Memory addressable device registers Minimal interrupt handling, scheduling, IPC, etc No virtual memory management

MicrokernelsCS-502 (EMC) Fall Microkernel Issues Virtual memory management Needs to interact directly with scheduler Page faults, etc. Kernel support for user-space threads Fast I/O devices Quick, responsive interrupts Top- and bottom-halves for interrupt handlers Interprocess communication … On every context switch! Cannot afford context switches Remember Project #4

MicrokernelsCS-502 (EMC) Fall Microkernel Meets the Real World Windows NT Started life as a microkernel No longer “micro” No longer a kernel!

MicrokernelsCS-502 (EMC) Fall Figure The programming layers in Windows. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved One View of Windows Vista

MicrokernelsCS-502 (EMC) Fall Figure The components used to build NT subsystems. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved Another View of Windows Vista

MicrokernelsCS-502 (EMC) Fall Figure Windows kernel-mode organization. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved A Third View of Windows Vista

MicrokernelsCS-502 (EMC) Fall Lesson — Windows Vista There are a lot of layers of abstraction Many of the pieces are operate in separate address spaces An other isolation Most of Vista operates outside kernel mode

MicrokernelsCS-502 (EMC) Fall Microkernels A good idea in the 1970s and 80s Not up to demands of modern processors Virtual memory Heavy caching Not up to demand of modern operating systems

MicrokernelsCS-502 (EMC) Fall Microkernel Resurrection Mobile phones, PDAs, handheld devices Fixed or limited functionality No general purpose files No dynamic virtual memory  Simple context switches All code already in memory Easy IPC

MicrokernelsCS-502 (EMC) Fall Questions or Discussion?