Microkernel-based Operating Systems - Introduction
|
|
- Ethelbert Kevin Peters
- 5 years ago
- Views:
Transcription
1 Faculty of Computer Science Institute for System Architecture, Operating Systems Group Microkernel-based Operating Systems - Introduction Björn Döbel Dresden, Oct 14 th 2008
2 Lecture Goals Provide deeper understanding of OS mechanisms Illustrate alternative design concepts Promote OS research at TU Dresden Make you all enthusiastic about OS development in general and microkernels in special TU Dresden, MOS - Introduction Slide 2 von 37
3 Administration - Lecture Lecture every Tuesday, 1:00 PM, INF/E08 Lecturers: Carsten Weinhold, Michael Roitzsch, Stefan Kalkowski, Björn Döbel Slides: -> Teaching -> Microkernel-based Operating Systems Subscribe to our mailing list: This lecture is not: Microkernel construction (in summer term) TU Dresden, MOS - Introduction Slide 3 von 37
4 Administration - Exercises Exercises bi-weekly, Tuesday, 2:50 PM, INF/E08 Practical exercises in the computer pool Paper reading exercises Read a paper beforehand. Sum it up and prepare 3 questions. We expect you to actively participate in discussion. First exercise: next week, computer pool You'll need a quota raise. TU Dresden, MOS - Introduction Slide 4 von 37
5 Complex lab Complex lab in parallel to lecture Groups of 2-3 students. Build several components of an OS (memory server, keyboard driver, binary loader,...) Komplexpraktikum for (Media) Computer Science students Internship for Computational Engineering starts on Tuesday, Oct 14 th TU Dresden, MOS - Introduction Slide 5 von 37
6 Monolithic kernels - Linux User mode Application Application Application Application Kernel mode System-Call Interface Linux Kernel File Systems VFS File System Impl. Device Drivers Networking Sockets Protocols Processes Scheduling IPC Memory Management Page allocation Address spaces Swapping Hardware Access Hardware CPU, Memory, PCI, Devices TU Dresden, MOS - Introduction Slide 6 von 37
7 What's the problem? All system components run in privileged mode. No isolation of components possible. Faulty driver crashes the whole system. More then 2/3 of today's systems are drivers. No enforcement of good system design can directly access all kernel data structures Size and inflexibility Not suitable for embedded systems. Difficult to replace single components. Increasing complexity becomes more and more difficult to manage. TU Dresden, MOS - Introduction Slide 7 von 37
8 The microkernel vision User mode Application Application Application Application File Systems VFS File System Impl. Device Drivers Networking Sockets Protocols Memory Management Page allocation Swapping Kernel mode Microkernel System-Call Interface Hardware Access Address Spaces Threads Scheduling IPC Hardware CPU, Memory, PCI, Devices TU Dresden, MOS - Introduction Slide 8 von 37
9 One vision - microkernels Minimal OS kernel less error prone small Trusted Computing Base suitable for verification System services implemented as user-level servers flexible and extensible Protection between individual components systems get More secure inter-component protection Safer crashing component does not (necessarily...) crash the whole system TU Dresden, MOS - Introduction Slide 9 von 37
10 One vision microkernels (2) Servers may implement multiple OS personalities Servers may be configured to suit the target system (small embedded systems, desktop PCs, SMP systems,...) Enforce reasonable system design Well-defined interfaces between components No access to components besides these interfaces Improved maintainability TU Dresden, MOS - Introduction Slide 10 von 37
11 Examples QNX kernel only contains IPC Scheduling IRQ redirection File system Device manager QNX µkernel Process Manager Network stack LynxOS separation kernel combine secure and real-time components App A App B System Services Partitions App A System Services LynxOS Separation Kernel (Microkernel) Hardware Security Policy System Services TU Dresden, MOS - Introduction Slide 11 von 37
12 The mother of all microkernels Mach developed at CMU designed as simple, extensible communication kernel ports for communication channels and memory objects Foundation for several real systems Single Server Unix (BSD4.3 on Mach) MkLinux (OSF) IBM Workplace OS Mac OS X Shortcomings performance drivers still in the kernel TU Dresden, MOS - Introduction Slide 12 von 37
13 Mac OS X App Environments BSD Cocoa Carbon Quartz Window Manager Application services Quick Time AWT, Swing JRE Core services JVM User space Mach BSD Drivers, I/O kit Kernel Hardware TU Dresden, MOS - Introduction Slide 13 von 37
14 IBM Workplace OS Main goals: multiple OS personalities run on multiple HW architectures Win Apps Unix Apps OS/2 Apps Windows Personality Unix Personality OS/2 Personality Network Processes Power... Files OS base services Mach microkernel ARM PPC x86 MIPS Alpha TU Dresden, MOS - Introduction Slide 14 von 37
15 IBM Workplace OS (2) Never finished Failure causes: Underestimated difficulties in creating OS personalities Management errors, forced divisions to adopt new system without having a system Second System Effect : too many fancy features Too slow Conclusion: Microkernel worked, but system atop the microkernel did not TU Dresden, MOS - Introduction Slide 15 von 37
16 Lessons learned OS personalities did not work Flexibility but monolithic kernels became flexible, too (Linux kernel modules) Better design but monolithic kernels also improved (restricted symbol access, layered architectures) Maintainability still very complex Performance matters a lot TU Dresden, MOS - Introduction Slide 16 von 37
17 Proven advantages Subsystem protection / isolation Code size Fiasco kernel: ~ 15,000 LoC Minimal application: (boot loader + hello world ): ~ 6,000 LoC Linux kernel (2.6.24, x86 architecture): ~ 1.6 million LoC (+drivers: ~ 2.8 million LoC) (generated using David A. Wheeler's 'SLOCCount') Customizable Tailored memory management / scheduling / algorithms Adaptable to embedded / real-time / secure / systems TU Dresden, MOS - Introduction Slide 17 von 37
18 Challenges We need fast and efficient kernels covered in the Microkernel construction lecture in the summer term We need fast and efficient OS services Memory and resource management Synchronization Device Drivers File systems Communication interfaces subject of this lecture TU Dresden, MOS - Introduction Slide 18 von 37
19 Who's out there? FU Amsterdam (Tanenbaum) MS Research Johns Hopkins University The L4 Microkernel Family Originally developed by Jochen Liedtke at IBM and GMD 2 nd generation microkernel Several kernel ABI versions TU Dresden, MOS - Introduction Slide 19 von 37
20 The L4 family a timeline N1 N2 SeL4 Univ. of New South Wales / NICTA / Open Kernel Labs NICTA:: Pistachio-embedded OKL4v2 OKL4 L2, L3 L4/x86 v2 x0 x2/v4 ABI Specification Implementation Univ. of Karlsruhe L4Ka::Hazelnut L4Ka::Pistachio Fiasco/L4v2 Fiasco Fiasco.XY? TU Dresden L4.Sec Fiasco/L4.Fiasco fiasco_dev TU Dresden, MOS - Introduction Slide 20 von 37
21 L4 concepts Jochen Liedtke: A microkernel does no real work. kernel provides inevitable mechanisms kernel does not enforce policies But what is inevitable? Abstractions Threads Address spaces (tasks) Mechanisms Communication Mapping (Scheduling) TU Dresden, MOS - Introduction Slide 21 von 37
22 L4 - Threads Thread ::= Unit of Execution Unique Thread ID Properties managed by L4 kernel: Instruction Pointer (EIP) Stack (ESP) Registers User-level applications need to allocate stack memory provide memory for application binary find entry point... 1 addr. space contains up to 128 threads Address Space Threads Code Data Stack Stack TU Dresden, MOS - Introduction Slide 22 von 37
23 L4 - Communication Synchronous inter-process communication (IPC) between threads agreement between partners necessary timeouts no in-kernel buffering efficient implementation necessary IPC flavors: send receive_from (closed wait) receive (open wait) call (send and receive_from) reply and wait (send and receive) TU Dresden, MOS - Introduction Slide 23 von 37
24 L4 IPC Message types short (register-only) IPC fast no memory access Thread A Thread B send( ) receive( ) EBX EDX EBX EDX TU Dresden, MOS - Introduction Slide 24 von 37
25 L4 IPC Message types Direct long IPC more than 2 words at a time Words are directly copied: Thread A Thread B send(msg, ) receive(msg, ) copy TU Dresden, MOS - Introduction Slide 25 von 37
26 L4 IPC Message types Indirect Long IPC (String IPC) Words in message buffer point to external memory areas that are copied Thread A Thread B send(msg, ) receive(msg, ) copy TU Dresden, MOS - Introduction Slide 26 von 37
27 L4 - Mappings Threads can map pages from their address space to other address spaces. This is achieved by adding a Flexpage descriptor to the IPC message buffer. Flexpages describe mapping location and size of memory area receiver's rights (read-only, read-writable) type (memory, IO, communication capability) More general: flexpages as fundamental resource abstraction TU Dresden, MOS - Introduction Slide 27 von 37
28 L4 Recursive address spaces RAM Physical Memory Device Memory TU Dresden, MOS - Introduction Slide 28 von 37
29 L4 Hardware Interrupts Special Thread ID to receive HW interrupts from the kernel Exaclty one thread can listen to exactly one interrupt multiplexing in userspace necessary. I/O Memory and I/O ports are manages using flexpages. IRQ Kernel ipc_recv (irq_id,...) User-space device driver TU Dresden, MOS - Introduction Slide 29 von 37
30 System Calls in L4.Fiasco Address spaces l4_task_new create/delete tasks Threads l4_thread_ex_regs create/modify threads l4_thread_schedule setup scheduling parameters l4_thread_switch switch to another thread IPC l4_ipc perform IPC l4_fpage_unmap revoke flexpage mapping l4_nchief find next chief TU Dresden, MOS - Introduction Slide 30 von 37
31 Linux on L4 Application Application Application Application L4 Task L4 Task L4 Task L4 Task System-Call Interface arch-dep Linux Kernel File Systems VFS File System Impl. Device Drivers Networking Sockets Protocols Processes Scheduling IPC Memory Management Page allocation Address spaces Swapping Archindep. Hardware Access arch-dep L4 Task User mode L4 Environment Kernel mode Fiasco Hardware TU Dresden, MOS - Introduction Slide 31 von 37
32 The Dresden Real-Time Operating System Apps Time RT Apps service L4Linux Network SCSI Display driver driver driver User Mode Privileged Mode Non-RT World RT World Resource Management Layer (L4Env) L4.Fiasco microkernel TU Dresden, MOS - Introduction Slide 32 von 37
33 Virtual machines Isolate not only processes, but also complete Operating Systems (compartments) Server consolidation Apps Apps Apps L4Linux L4Linux L4Linux User Mode Privileged Mode Virtualization Layer (L4Env) L4.Fiasco microkernel TU Dresden, MOS - Introduction Slide 33 von 37
34 Bastei Disadvantages of existing systems (microkernels as well as monoliths): global naming resource management and revokation difficult hard to get security policies right Bastei := C++-based OS framework developed here in Dresden recursive system design capabilities stacked security policies Bastei::Core Parent 1 Parent 2 Child Child Child Child Child TU Dresden, MOS - Introduction Slide 34 von 37
35 Design alternatives Hardware isolation x86 privilege rings, privileged instructions Software isolation N. Wirth's Oberon language and OS since 1980s Singularity from MS Research written in a dialect of C# (since 2000s) Exokernels build OS interface into a library and link it to single applications (library OS) TU Dresden, MOS - Introduction Slide 35 von 37
36 Lecture outline Basic mechanisms and concepts Memory management Tasks, Threads, Synchronization Communication Building real systems What are resources and how to manage them? How to build a secure system? How to build a real-time system? How to reuse existing code (Linux, standard system libraries, device drivers)? How to improve robustness and safety? TU Dresden, MOS - Introduction Slide 36 von 37
37 Outlook Next lecture: Tasks, Threads and Synchronization on Oct 21 st Next exercise: Oct 21 st Building and booting an L4 system TU Dresden, MOS - Introduction Slide 37 von 37
Microkernel-based Operating Systems - Introduction
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Microkernel-based Operating Systems - Introduction Nils Asmussen Dresden, Oct 09 2018 Lecture Goals Provide deeper
More informationMicrokernel-based Operating Systems - Introduction
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Microkernel-based Operating Systems - Introduction Carsten Weinhold Dresden, Oct 09 th 2012 Lecture Goals Provide
More informationMicrokernel Construction. Introduction. Michael Hohmuth. Lars Reuther. TU Dresden Operating Systems Group
Introduction Lecture Goals Provide deeper understanding of OS mechanisms Make all of you enthusiastic kernel hackers Illustrate alternative system design concepts Promote OS research at 2 Administration
More informationMicrokernel Construction
Introduction SS2013 Class Goals Provide deeper understanding of OS mechanisms Introduce L4 principles and concepts Make you become enthusiastic L4 hackers Propaganda for OS research at 2 Administration
More informationIntroduction. COMP9242 Advanced Operating Systems 2010/S2 Week 1
Introduction COMP9242 Advanced Operating Systems 2010/S2 Week 1 2010 Gernot Heiser UNSW/NICTA/OK Labs. Distributed under Creative Commons Attribution License 1 Copyright Notice These slides are distributed
More informationIntroduction. COMP /S2 Week Gernot Heiser UNSW/NICTA/OKL. Distributed under Creative Commons Attribution License 1
Introduction COMP9242 2008/S2 Week 1 2008 Gernot Heiser UNSW/NICTA/OKL. Distributed under Creative Commons Attribution License 1 Copyright Notice These slides are distributed under the Creative Commons
More informationInter-Process Communication
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Inter-Process Communication Björn Döbel Dresden, So far... Microkernels Basic resources in an operating system Tasks
More informationInter-Process Communication
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Inter-Process Communication Björn Döbel Dresden, So far... Microkernels as a design alternative Flexibility Security
More informationInter-Process Communication
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Inter-Process Communication Nils Asmussen Dresden, So far... Microkernels as a design alternative Flexibility Security
More informationRESOURCE MANAGEMENT MICHAEL ROITZSCH
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group RESOURCE MANAGEMENT MICHAEL ROITZSCH AGENDA done: time, drivers today: misc. resources architectures for resource
More informationFaculty of Computer Science Institute for System Architecture, Operating Systems Group. Memory. Björn Döbel. Dresden,
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Memory Björn Döbel Dresden, 2013-11-05 So far... Introduction Monolithic vs. microkernels L4 concepts: Threads and
More informationFaculty of Computer Science, Operating Systems Group. The L4Re Microkernel. Adam Lackorzynski. July 2017
Faculty of Computer Science, Operating Systems Group The L4Re Microkernel Adam Lackorzynski July 2017 2 Agenda Plan What is L4Re? History The L4Re Microkernel / Hypervisor Fiasco Interfaces SMP Virtualization...
More informationRESOURCE MANAGEMENT MICHAEL ROITZSCH
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group RESOURCE MANAGEMENT MICHAEL ROITZSCH AGENDA done: time, drivers today: misc. resources architectures for resource
More informationBjörn Döbel. Microkernel-Based Operating Systems. Exercise 3: Virtualization
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Björn Döbel Microkernel-Based Operating Systems Exercise 3: Virtualization Emulation Virtualization Emulation / Simulation
More informationMICROKERNELS: MACH AND L4
1 MICROKERNELS: MACH AND L4 CS6410 Hakim Weatherspoon Introduction to Kernels Different Types of Kernel Designs Monolithic kernel Microkernel Hybrid Kernel Exokernel Virtual Machines? Monolithic Kernels
More informationRESOURCE MANAGEMENT MICHAEL ROITZSCH
Department of Computer Science Institute for System Architecture, Operating Systems Group RESOURCE MANAGEMENT MICHAEL ROITZSCH AGENDA done: time, drivers today: misc. resources architectures for resource
More informationFaculty of Computer Science Institute for System Architecture, Operating Systems Group. Virtualization. Henning Schild. Dresden,
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Virtualization Henning Schild Dresden, 2009-12-01 So Far... Basics Introduction Threads & synchronization Memory Real-time
More informationTHREADS ADMINISTRIVIA RECAP ALTERNATIVE 2 EXERCISES PAPER READING MICHAEL ROITZSCH 2
Department of Computer Science Institute for System Architecture, Operating Systems Group THREADS ADMINISTRIVIA MICHAEL ROITZSCH 2 EXERCISES due to date and room clashes we have to divert from our regular
More informationAdvanced Operating Systems. COMP9242 Introduction
Advanced Operating Systems COMP9242 Introduction Staff Lecturer in Charge Gernot Heiser Lecturer Kevin Elphinstone Various Support Staff TBA 2 Why are you here? You ve done comp3231 Did well (minimum credit)
More informationStaff. Advanced Operating Systems. Why are you here? What can you expect?
Staff Advanced Operating Systems COMP9242 Introduction Lecturer in Charge Gernot Heiser Lecturer Kevin Elphinstone Various Support Staff TBA 2 Why are you here? You ve done comp3231 Did well (minimum credit)
More informationPractical Exercise Inter-Process Communication
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Practical Exercise Inter-Process Communication Björn Döbel Dresden, 2008-12-16 Exercise Outline IPC Recap & Implementation
More informationMicrokernels and Portability. What is Portability wrt Operating Systems? Reuse of code for different platforms and processor architectures.
Microkernels and Portability What is Portability wrt Operating Systems? Reuse of code for different platforms and processor architectures. Contents Overview History Towards Portability L4 Microkernels
More informationThe L4 microkernel. Garland, Mehta, Roehricht, Schulze. CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA
Garland, Mehta, Roehricht, Schulze The L4 microkernel Harrisonburg, November 29, 2003 CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA Contents 1 An Introduction to
More informationMICROKERNEL CONSTRUCTION 2014
MICROKERNEL CONSTRUCTION 2014 THE FIASCO.OC MICROKERNEL Alexander Warg MICROKERNEL CONSTRUCTION 1 FIASCO.OC IN ONE SLIDE CAPABILITY-BASED MICROKERNEL API single system call invoke capability MULTI-PROCESSOR
More informationAdvanced Operating Systems. COMP9242 Introduction
Advanced Operating Systems COMP9242 Introduction Staff Lecturer in Charge Gernot Heiser Lecturer Kevin Elphinstone Various Support Staff TBA 2 Why are you here? You ve done comp3231 Did well (minimum credit)
More informationThe Performance of µ-kernel-based Systems
Liedtke et al. presented by: Ryan O Connor October 7 th, 2009 Motivation By this time (1997) the OS research community had virtually abandoned research on pure µ-kernels. due primarily
More informationOperating System Kernels
Operating System Kernels Presenter: Saikat Guha Cornell University CS 614, Fall 2005 Operating Systems Initially, the OS was a run-time library Batch ( 55 65): Resident, spooled jobs Multiprogrammed (late
More informationL4/Darwin: Evolving UNIX. Charles Gray Research Engineer, National ICT Australia
L4/Darwin: Evolving UNIX Charles Gray Research Engineer, National ICT Australia charles.gray@nicta.com.au Outline 1. Project Overview 2. BSD on the Mach microkernel 3. Porting Darwin to the L4 microkernel
More informationStaff. Advanced Operating Systems. Why are you here? What can you expect?
Staff Advanced Operating Systems COMP9242 Introduction Lecturer in Charge Gernot Heiser Lecturer Kevin Elphinstone Various Support Staff TBA 2 Why are you here? You ve done comp3231 Did well (minimum credit)
More informationOS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4
OS DESIGN PATTERNS II CS124 Operating Systems Fall 2017-2018, Lecture 4 2 Last Time Began discussing general OS design patterns Simple structure (MS-DOS) Layered structure (The THE OS) Monolithic kernels
More informationOperating System Structure
Operating System Structure Joey Echeverria joey42+os@gmail.com December 6, 2004 Carnegie Mellon University: 15-410 Fall 2004 Overview Motivations Kernel Structures Monolithic Kernels Open Systems Microkernels
More informationIntroduction: Context Switch
Introduction: The central module of an operating system. It is the part of the operating system that loads first, and it remains in main memory. Because it stays in memory, it is important for the kernel
More informationInitial Evaluation of a User-Level Device Driver Framework
Initial Evaluation of a User-Level Device Driver Framework Stefan Götz Karlsruhe University Germany sgoetz@ira.uka.de Kevin Elphinstone National ICT Australia University of New South Wales kevine@cse.unsw.edu.au
More informationOperating System Structure
Operating System Structure Joey Echeverria joey42+os@gmail.com April 18, 2005 Carnegie Mellon University: 15-410 Spring 2005 Overview Motivations Kernel Structures Monolithic Kernels Open Systems Microkernels
More informationReal-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview
Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview 02/02/12 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources
More informationMemory, IPC, and L4Re
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Memory, IPC, and L4Re Björn Döbel What we talked about so far Microkernels Fiasco.OC Threads in Fiasco.OC Lecture
More informationEEE 435 Principles of Operating Systems
EEE 435 Principles of Operating Systems Operating System Structure (Modern Operating Systems 1.7) Outline Operating System Structure Monolithic Systems Layered Systems Virtual Machines Exokernels Client-Server
More informationLecture 3: O/S Organization. plan: O/S organization processes isolation
6.828 2012 Lecture 3: O/S Organization plan: O/S organization processes isolation topic: overall o/s design what should the main components be? what should the interfaces look like? why have an o/s at
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 4, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationManagement of Revocable Resources. Romain Treboux
Management of Revocable Resources Romain Treboux romain.treboux@centraliens.net February 26, 2010 Declaration I declare to have written this work independently and without using unmentioned sources. Erklärung
More informationIntroduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras
Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 03 From Programs to Processes Hello. In
More informationKernel Types Simple OS Examples System Calls. Operating Systems. Autumn CS4023
Operating Systems Autumn 2017-2018 Outline 1 2 3 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
More informationOS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes
OS concepts and structure q OS components & interconnects q Structuring OSs q Next time: Processes OS Views Perspectives, OS as the services it provides its components and interactions Services to Users
More informationOperating Systems, Fall
Material Operating Systems Fall 2008 Course book: A.S. Tanenbaum, Modern Operating Systems, 3rd. ed.,, Prentice-Hall, 2007 Any other large OS book, f.e. Stallings, Silbershatz, or Deitel, should be feasible
More informationFaculty of Computer Science Institute for System Architecture, Operating Systems Group. Naming. Stefan Kalkowski. Dresden,
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Naming Stefan Kalkowski Dresden, 2007-11-27 So far... Basics: Tasks and Threads Synchronization Memory Communication
More informationOS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation
CSE 421/521 - Operating Systems Fall 2012 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management
More informationMaster level: Operating systems, distributed systems, networking,
Operating Systems Fall 2008 Tiina Niklander Distributed Systems and Networking specialization area Distributed Systems and Networking Interoperable Distributed Networking Operating system Hardware Interoperable
More informationLecture 5: February 3
CMPSCI 677 Operating Systems Spring 2014 Lecture 5: February 3 Lecturer: Prashant Shenoy Scribe: Aditya Sundarrajan 5.1 Virtualization Virtualization is a technique that extends or replaces an existing
More informationCOMP9242 Advanced Operating Systems S2/2011 Week 9: Microkernel Design Gernot Heiser, NICTA
COMP9242 Advanced Operating Systems S2/2011 Week 9: Microkernel Design Copyright Notice These slides are distributed under the Creative Commons Attribution 3.0 License You are free: to share to copy, distribute
More informationDeveloping with L4 Overview and Pointers
Developing with L4 Overview and Pointers Carsten Weinhold 11. April 2012 1 Introduction 1.1 Scope of this Document This document aims at helping developers who are new to L4 with their first steps. In
More informationInter-Process Communication and Synchronization of Processes, Threads and Tasks: Lesson-1: PROCESS
Inter-Process Communication and Synchronization of Processes, Threads and Tasks: Lesson-1: PROCESS 1 Process Concepts 2 Process A process consists of executable program (codes), state of which is controlled
More informationADVANCED OPERATING SYSTEMS USB in a microkernel based operating system
ADVANCED OPERATING SYSTEMS 2015 USB in a microkernel based operating system -1- Agenda Microkernels (history and architecture) USB (hardware and protocol specifics) Challenges providing USB in microkernel
More informationVIRTUALIZATION. Dresden, 2011/12/6. Julian Stecklina
Department of Computer Science Institute of Systems Architecture, Operating Systems Group VIRTUALIZATION Julian Stecklina (jsteckli@os.inf.tu-dresden.de) Dresden, 2011/12/6 00 Goals Give you an overview
More informationOperating Systems Structure and Processes Lars Ailo Bongo Spring 2017 (using slides by Otto J. Anshus University of Tromsø/Oslo)
Operating Systems Structure and Processes Lars Ailo Bongo Spring 2017 (using slides by Otto J. Anshus University of Tromsø/Oslo) The Architecture of an OS Monolithic Layered Virtual Machine, Library, Exokernel
More informationAlexander Warg. Complex Lab Operating System 2007 Winter Term. Introduction
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Alexander Warg Complex Lab Operating System 2007 Winter Term Introduction Requirements Basic Operating Systems Know-How
More informationReal Time and Embedded Systems. by Dr. Lesley Shannon Course Website:
Real Time and Embedded Systems by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc351 Simon Fraser University Slide Set: 2 Date: September 13,
More informationOS Extensibility: SPIN and Exokernels. Robert Grimm New York University
OS Extensibility: SPIN and Exokernels Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? OS Abstraction Barrier
More informationLecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter
Lecture Topics Today: Operating System Overview (Stallings, chapter 2.1-2.4, 2.8-2.10) Next: Processes (Stallings, chapter 3.1-3.6) 1 Announcements Consulting hours posted Self-Study Exercise #3 posted
More informationPart 1: Introduction to device drivers Part 2: Overview of research on device driver reliability Part 3: Device drivers research at ERTOS
Some statistics 70% of OS code is in device s 3,448,000 out of 4,997,000 loc in Linux 2.6.27 A typical Linux laptop runs ~240,000 lines of kernel code, including ~72,000 loc in 36 different device s s
More informationMac OS X. Mach in the Darwin Kernel. COMP342 4/5/06
Mac OS X Mach in the Darwin Kernel http://www.maths.mq.edu.au/~steffen/talks/ COMP342 4/5/06 Daniel A. Steffen Mathematics Department Macquarie University steffen@maths.mq.edu.au Mach in the Darwin Kernel
More informationRoadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - II OS Structures. University at Buffalo. OS Design and Implementation
CSE 421/521 - Operating Systems Fall 2013 Lecture - II OS Structures Tevfik Koşar University at Buffalo August 29 th, 2013 1 Roadmap OS Design and Implementation Different Design Approaches Major OS Components!
More informationOS Design Approaches. Roadmap. System Calls. Tevfik Koşar. Operating System Design and Implementation. CSE 421/521 - Operating Systems Fall 2013
CSE 421/521 - Operating Systems Fall 2013 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management
More informationOperating Systems. Operating System Structure. Lecture 2 Michael O Boyle
Operating Systems Operating System Structure Lecture 2 Michael O Boyle 1 Overview Architecture impact User operating interaction User vs kernel Syscall Operating System structure Layers Examples 2 Lower-level
More informationMicrokernels. Overview. Required reading: Improving IPC by kernel design
Microkernels Required reading: Improving IPC by kernel design Overview This lecture looks at the microkernel organization. In a microkernel, services that a monolithic kernel implements in the kernel are
More informationMicrokernels and Client- Server Architectures
Microkernels and Client- Server Architectures I m not interested in making devices look like user-level. They aren t, they shouldn t, and microkernels are just stupid. Linus Torwalds 1 Motivation Early
More informationOperating System Structure
Operating System Structure Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission Recap OS needs to understand architecture Hardware (CPU, memory, disk) trends and
More informationCSE 120 Principles of Operating Systems
CSE 120 Principles of Operating Systems Spring 2018 Lecture 10: Paging Geoffrey M. Voelker Lecture Overview Today we ll cover more paging mechanisms: Optimizations Managing page tables (space) Efficient
More information3. Process Management in xv6
Lecture Notes for CS347: Operating Systems Mythili Vutukuru, Department of Computer Science and Engineering, IIT Bombay 3. Process Management in xv6 We begin understanding xv6 process management by looking
More informationOperating System Structure
Operating System Structure Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission Recap: Memory Hierarchy Fast, Expensive Slow, Inexpensive 2 Recap Architectural support
More informationCreating a Practical Security Architecture Based on sel4
Creating a Practical Security Architecture Based on sel4 Xinming (Simon) Ou University of South Florida (many slides borrowed/adapted from my student Daniel Wang) 1 Questions for sel4 Community Is there
More informationOS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure
CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates
More informationAUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann
AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry
More informationFour Components of a Computer System
Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources
More informationFaculty of Computer Science Institute for System Architecture, Operating Systems Group. Complex Lab Operating Systems 2016 Winter Term.
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Complex Lab Operating Systems 2016 Winter Term Introduction Requirements Basic Operating Systems Know-How Virtual
More informationL4 User Manual API Version X.2
Embedded, Real-Time, and Operating Systems Program http://ertos.nicta.com.au/ L4 User Manual API Version X.2 Ihor Kuz Document Version 1.9 of September 23, 2004 ihor.kuz@nicta.com.au http://www.cse.unsw.edu.au/
More informationFault Isolation for Device Drivers
Fault Isolation for Device Drivers 39 th International Conference on Dependable Systems and Networks, 30 June 2009, Estoril Lisbon, Portugal Jorrit N. Herder Vrije Universiteit Amsterdam ~26% of Windows
More informationCSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar Louisiana State University August 27 th, 2009 1 Announcements TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu
More informationDepartment of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW
Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW 2 SO FAR talked about in-kernel building blocks: threads memory IPC drivers
More informationAnnouncements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu Announcements All of you should be now in the class mailing
More informationOperating System Architecture. CS3026 Operating Systems Lecture 03
Operating System Architecture CS3026 Operating Systems Lecture 03 The Role of an Operating System Service provider Provide a set of services to system users Resource allocator Exploit the hardware resources
More informationA Userspace Packet Switch for Virtual Machines
SHRINKING THE HYPERVISOR ONE SUBSYSTEM AT A TIME A Userspace Packet Switch for Virtual Machines Julian Stecklina OS Group, TU Dresden jsteckli@os.inf.tu-dresden.de VEE 2014, Salt Lake City 1 Motivation
More informationDistributed Systems Operation System Support
Hajussüsteemid MTAT.08.009 Distributed Systems Operation System Support slides are adopted from: lecture: Operating System(OS) support (years 2016, 2017) book: Distributed Systems: Concepts and Design,
More informationGroßer Beleg: L 4 Linux on L4Env
Großer Beleg: L 4 Linux on L4Env Adam Lackorzynski Dresden University of Technology Department of Computer Science Operating Systems Group December 2002 All trademarks are the
More informationCSE 4/521 Introduction to Operating Systems
CSE 4/521 Introduction to Operating Systems Lecture 3 Operating Systems Structures (Operating-System Services, User and Operating-System Interface, System Calls, Types of System Calls, System Programs,
More informationOperating system organizaton
Operating system organizaton Required reading: Exokernel paper. Intro: virtualizing One way to think about an operating system interface is that it extends the hardware instructions with a set of "instructions"
More informationRunning on the Bare Metal with GeekOS
Running on the Bare Metal with GeekOS David Hovemeyer, Jeffrey K. Hollingsworth, and Bobby Bhattacharjee University of Maryland, College Park 1 Outline Motivation Overview Projects Classroom Experience
More informationSCALABILITY AND HETEROGENEITY MICHAEL ROITZSCH
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group SCALABILITY AND HETEROGENEITY MICHAEL ROITZSCH LAYER CAKE Application Runtime OS Kernel ISA Physical RAM 2 COMMODITY
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on
Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System
More informationProcess Description and Control
Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate
More informationOS Extensibility: Spin, Exo-kernel and L4
OS Extensibility: Spin, Exo-kernel and L4 Extensibility Problem: How? Add code to OS how to preserve isolation? without killing performance? What abstractions? General principle: mechanisms in OS, policies
More informationChapter 2: System Structures
Chapter 2: Operating System Structures Operating System Services System Calls Chapter 2: System Structures System Programs Operating System Design and Implementation Operating System Structure Virtual
More informationSlide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc.
Slide 6-1 6 es Announcements Slide 6-2 Extension til Friday 11 am for HW #1 Previous lectures online Program Assignment #1 online later today, due 2 weeks from today Homework Set #2 online later today,
More informationOperating Systems History & Approaches. Computer Systems Laboratory Sungkyunkwan University
Operating Systems History & Approaches Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Pre-Multics Era (1) OS/360 A batch processing OS developed
More informationOverview of the OS. CS 450 : Operating Systems Michael Saelee
Overview of the OS CS 450 : Operating Systems Michael Saelee 1 Agenda - what is an operating system? - what are its main responsibilities? - how does it achieve them? - how is an operating
More informationThe Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36
The Challenges of X86 Hardware Virtualization GCC- Virtualization: Rajeev Wankar 36 The Challenges of X86 Hardware Virtualization X86 operating systems are designed to run directly on the bare-metal hardware,
More informationProcesses. Johan Montelius KTH
Processes Johan Montelius KTH 2017 1 / 47 A process What is a process?... a computation a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other
More informationCS 318 Principles of Operating Systems
CS 318 Principles of Operating Systems Fall 2018 Lecture 10: Virtual Memory II Ryan Huang Slides adapted from Geoff Voelker s lectures Administrivia Next Tuesday project hacking day No class My office
More informationEmbedded Linux Architecture
Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory
More informationOperating System Structure
Operating System Structure Joey Echeverria joey42+os@gmail.com modified by: Matthew Brewer mbrewer@andrew.cmu.edu Nov 15, 2006 Carnegie Mellon University: 15-410 Fall 2006 Overview Motivations Kernel Structures
More information6.828: OS/Language Co-design. Adam Belay
6.828: OS/Language Co-design Adam Belay Singularity An experimental research OS at Microsoft in the early 2000s Many people and papers, high profile project Influenced by experiences at
More information