Can We Make Operating Systems Reliable and Secure? Andrew S. Tanenbaum, Jorrit N. Herder, and Herbert Bos Vrije Universiteit, Amsterdam May 2006 Group.

Slides:



Advertisements
Similar presentations
Nooks: Safe Device Drivers with Lightweight Kernel Protection Domains Mike Swift, Steve Martin Hank Levy, Susan Eggers, Brian Bershad University of Washington.
Advertisements

Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines J. LeVasseur V. Uhlig J. Stoess S. G¨otz University of Karlsruhe,
Threads, SMP, and Microkernels
Windows XP Operating Systems  COSC513 Operating Systems  Mr. Nut Prommongkonkun  Student ID #
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Linux vs. Windows. Linux  Linux was originally built by Linus Torvalds at the University of Helsinki in  Linux is a Unix-like, Kernal-based, fully.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
Nooks: an architecture for safe device drivers Mike Swift, The Wild and Crazy Guy, Hank Levy and Susan Eggers.
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.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Dr. José M. Reyes Álamo 1.  Course website  Syllabus posted.
E Virtual Machines Lecture 4 Device Virtualization
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?
Tanenbaum 8.3 See references
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
IMPROVING THE RELIABILITY OF COMMODITY OPERATING SYSTEMS Michael M. Swift Brian N. Bershad Henry M. Levy University of Washington.
Can We Make Operating Systems Reliable and Secure? By : Hassan AL-Maksousy Andrew S. Tanenbaum, Jorrit N. Herder, and Herbert Bos.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Protection and the Kernel: Mode, Space, and Context.
Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
Chapter 2 Operating System Overview
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
Security flaws in Windows XP due to Kernel Complexity Presented by: Zubin Lalani Daniel Beech Professor : Mike Burmester.
Processes Introduction to Operating Systems: Module 3.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Davydenko Vladimir, Mc Girr Stephen, Purcell Sean.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Examples of Operating Systems.
Full and Para Virtualization
Operating System Structure. OS Design Considerations: How are the responsibilities of the OS divided among various modules? When and where are various.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
Virtualizing a Multiprocessor Machine on a Network of Computers Easy & efficient utilization of distributed resources Goal Kenji KanedaYoshihiro OyamaAkinori.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
MINIX 3 – Introduction Béat Hirsbrunner Lecture 1, 18 September 2012 Main reference Andrew S. Tanenbaum, Albert S. Woodhull Operating Systems : Design.
Language Based Operating Systems by Sean Olson What is a virtual machine? What is managed code? Kernels. Memory and security models. What is a language.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Virtualization Neependra Khare
Computer System Structures
Virtualization.
LINUX WINDOWS Vs..
Chapter 1: Introduction
OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S
Operating System Structure
What is an Operating System?
Group 8 Virtualization of the Cloud
Threads, SMP, and Microkernels
What is an Operating System?
IMPROVING THE RELIABILITY OF COMMODITY OPERATING SYSTEMS
Operating System Support for Virtual Machines
Lecture 4- Threads, SMP, and Microkernels
Chapter 1 Introduction to Operating System Part 2
Outline Chapter 2 (cont) OS Design OS structure
Operating Systems: A Modern Perspective, Chapter 3
Chapter 2 Operating System Overview
Chapter 2 Operating System Overview
What is an operating system An operating system is the most important software that runs on a computer. It manages the computer's memory and processes,
Presentation transcript:

Can We Make Operating Systems Reliable and Secure? Andrew S. Tanenbaum, Jorrit N. Herder, and Herbert Bos Vrije Universiteit, Amsterdam May 2006 Group 胡品捷 江彥勳 1

Outline  Introduction  Armored Operating Systems  L4 Microkernel  Multiserver Operating Systems  Language-Based Protection  Conclusion 2

Why we need more reliable and secure?  Most computer users are “normal people”  Less problem  More Convenient and Stable 3

Unreliable  Huge  Poor fault isolation  Example : 6-16 bugs / 1,000 lines of executable code 2-75 bugs / 1,000 lines of executable code Linux kernel Windows xp kernel 2.5 million lines of code 5 million lines of code Linux kernel Windows xp kernel bugs totally bugs totally 4

Fault isolation Procedure 1 Procedure 2 Procedure n Kernel Virus Worm ⇧ 5

Armored Operating Systems  Nooks – improve the reliability of OS Focus on making device divers less dangerous Goals: Protect the kernel against driver failures. Recover automatically when a driver fails. Do all of this with as few changes as possible to existing drivers and the kernel. 6

Isolation  Main tool : virtual memory paging map 7 Driver Running Page 1 Page 2 Page 3 Page 4 Read-only

Paravirtual Machines  Allow two or more OS  Good fault isolation  Problems can’t spread from one machine to another 8

L4 Microkernel  University of Karlsruhe  Linux -> L 4 Linux  9 Linux -> modify -> Paravirtualization

Multiserver Operating Systems  Multiserver architecture 10  Features Separate instruction and data spaces

Language-Based Protection  New protect system - Singularity  New type safe language – Sing# Based on C#  Proction : Algol compiler’s “dangerous” code  Idea : Microsoft Research 11

Conclusion  Nooks – each driver individually wrapped in software jacket  Paravirtual machine – moves the drivers to one or more machines distinct from the main one  Multiserver – runs each driver and OS component in a separate process  Singularity – uses a type-safe language 12