From L3 to sel4: What Have We Learnt in 20 Years of L4 Microkernels?
|
|
|
- Ronald Preston
- 10 years ago
- Views:
Transcription
1 From L3 to sel4: What Have We Learnt in 20 Years of L4 Microkernels? Kevin Elphinstone, Gernot Heiser NICTA and University of New South Wales
2 1993 Improving IPC by Kernel Design [SOSP] 2013 Gernot Heiser, NICTA 2
3 1993 IPC Performance [µs] Mach 50 MHz Culprit: Cache footprint [SOSP 95] 115 µs 5 µs L4 raw copy Message Length [B] 2013 Gernot Heiser, NICTA 3
4 IPC Performance over 20 Years Name Year Processor MHz Cycles µs Original 1993 i Original 1997 Pentium L4/MIPS 1997 R L4/Alpha Hazelnut 2002 Pentium 4 1,400 2, Pistachio 2005 Itanium 1, OKL XScale NOVA 2010 i7 Bloomfield (32-bit) 2, sel i7 Haswell (32-bit) 3, sel ARM sel Cortex A9 1, Gernot Heiser, NICTA 4
5 Core Microkernel Principle: Minimality A concept is tolerated inside the microkernel only if moving it outside the kernel, i.e. permitting competing implementations, would prevent the implementation of the system s required functionality. [SOSP 95] 2013 Gernot Heiser, NICTA 5
6 Minimality: Source Code Size Name Architecture C/C++ asm total ksloc Original i L4/Alpha Alpha L4/MIPS MIPS Hazelnut x Pistachio x L4-embedded ARMv OKL4 3.0 ARMv Fiasco.OC x sel4 ARMv Gernot Heiser, NICTA 6
7 L4 Family Tree API Inheritance Code Inheritance L4-embed. sel4 OKL4 Microvisor L4/MIPS OKL4 µkernel L4/Alpha Codezero L3 L4 X Hazelnut Pistachio UNSW/NICTA GMD/IBM/Karlsruhe Dresden OK Labs Commercial Clone Fiasco P4 PikeOS Fiasco.OC NOVA Gernot Heiser, NICTA 7
8 L4 Deployments in the Billions SiMKo 3 Merkelphone 2013 Gernot Heiser, NICTA 8
9 sel4: Unprecedented Dependability C Implementation Confidentiality Availability Integrity Non-interference [S&P 13] Translation correctness [PLDI 13] Timeliness [RTSS 11, EuroSys 12] Proof Proof Proof Abstract Model Binary code 2013 Gernot Heiser, NICTA 9 Functional correctness [SOSP 09] Integrity [ITP 11] First & only OS kernel with security proofs to binary code First & only protectedmode OS kernel with sound timeliness analysis
10 L4 Design and Implementation Implement. Tricks [SOSP 93] Process kernel Virtual TCB array Lazy scheduling Direct process switch Non-preemptible Non-portable Non-standard calling convention Assembler Design Decisions [SOSP 95] Synchronous IPC Rich message structure, arbitrary out-of-line messages Zero-copy register messages User-mode page-fault handlers Threads as IPC destinations IPC timeouts Hierarchical IPC control User-mode device drivers Process hierarchy Recursive address-space construction Objective: Minimise cache footprint and TLB misses 2013 Gernot Heiser, NICTA 10
11 DESIGN 2013 Gernot Heiser, NICTA 11
12 L4 Synchronous IPC Thread 1 Running Blocked Thread 2 Blocked Running Rendezvous model Send (dest, msg)... Kernel copy Wait (src, msg) Kernel executes in sender s context copies memory data directly to receiver (single-copy) leaves message registers unchanged during context switch (zero copy) 2013 Gernot Heiser, NICTA 12
13 Long IPC Sender address space Kernel copy Receiver address space Page fault! LONG IPC ABANDONED IPC page faults are nested exceptions In-kernel concurrency L4 executes with interrupts disabled for performance, no concurrency Must invoke untrusted usermode page-fault handlers potential for DOSing other thread Timeouts to avoid DOS attacks complexity Why have long IPC? POSIX-style APIs write (fd, buf, nbytes) Usually prefer shared buffers 2013 Gernot Heiser, NICTA 13
14 Timeouts Limit IPC blocking time Thread 1 Running Blocked Rcv(NIL_THRD, delay)... Thread 1 Running Blocked Send (dest, msg) IPC Timeouts... ABANDONED in sel4, OKL4 Timed wait Kernel copy Thread 2 Blocked Running No theory/heuristics for determining timeouts Typically server reply with zero TO, else Can do timed wait with timer syscall Wait (src, msg) 2013 Gernot Heiser, NICTA 14
15 Synchronous IPC Issues Thread 1 Running Blocked Initiate_IO(, ) Worker_Th Running Blocked IO_Th Blocked Running IO_Wait(, ) Not generally possible Unblock (IO_Th) Sync(IO_Th) Call (IO,msg) Sync(Worker_Th) Sync IPC forces multi-threaded code! Also poor choice for multi-core 2013 Gernot Heiser, NICTA 15
16 Asynchronous Notifications Thread 1 Running Blocked Send (Thr_2, ) Send (Thr_2, )... Thread 2 Blocked Running w = Poll ( )... w = Wait ( )... Sync IPC complemented with async Delivers few bits (destructively) Kernel only buffers single word Maps well to interrupts, exceptions Thread can wait for synchronous and asynchronous messages concurrently Client Sync Server Async Driver 2013 Gernot Heiser, NICTA 16
17 IPC Destination Naming Original L4 addressed IPC to threads Client RPC reply from wrong thread! Server Client Server Client Server IPC Client must do load balancing? Load balancer Thread IDs replaced by Workers IPC endpoints (ports) All IPCs duplicated! Inefficient designs Poor information hiding Covert channels [Shapiro 02] 2013 Gernot Heiser, NICTA 17
18 Endpoints Client IPC Server Client Send Sync EP Rcv Server Sync EP queues senders/receivers Does not buffer messages 0x01 Async EP 0x10 0x30 0x00 0x01 0x11 0x31 Async EP accumulates bits 2013 Gernot Heiser, NICTA 18
19 Other Design Issues IPC Control: Clans & Chiefs Process Hierarchy IPC Chief Clan Inflexible, clumsy, inefficient hierarchies! IPC outside clan re-directs to chief Hierarchies Hierarchical resource management replaced by delegatable capbased access control Create 2013 Gernot Heiser, NICTA 19
20 IMPLEMENTATION 2013 Gernot Heiser, NICTA 20
21 Virtual TCB Array Thread ID Fast TCB & stack lookup VM TCB TCB Trades TLB footprint for cache and kernel memory TCB proper Kernel stack Get own TCB base by masking stack pointer 2013 Gernot Heiser, NICTA 21 Trades cache for TLB footprint and virtual address space Not worthwhile on modern processors! Stacks can dominate kernel memory use!
22 Lazy Scheduling In IPC-based systems, threads block and unblock frequenty Many ready queue manipulations thread_t schedule() { foreach (prio in priorities) { foreach (thread in runqueue[prio]) { if (isrunnable(thread)) return thread; else scheddequeue(thread); } } return idlethread; } 2013 Gernot Heiser, NICTA 22 Idea: leave blocked threads in ready queue, scheduler cleans up Scheduler execution time is unbounded! Benno scheduling : All threads on ready queue are runnable All runnable threads in ready queue except the running one
23 L4 Design and Implementation Implement. Tricks [SOSP 93] Process kernel Virtual TCB array Lazy scheduling Direct process switch Non-preemptible Non-portable Non-standard calling convention Assembler Design Decisions [SOSP 95] Synchronous IPC Rich message structure, arbitrary out-of-line messages Zero-copy register messages User-mode page-fault handlers Threads as IPC destinations IPC timeouts Hierarchical IPC control User-mode device drivers Process hierarchy Recursive address-space construction 2013 Gernot Heiser, NICTA 23
24 What are the Principles? Minimality is excellent driver of design decisions L4 kernels have become simpler over time Policy-mechanism separation (user-mode page-fault handlers) Device drivers really belong to user level Minimality is key enabler for formal verification! IPC speed still matters But not everywhere, premature optimisation is wastive Compilers have got so much better Verification does not compromise performance Verification invariants can help improve speed! [Shi, OOPSLA 13] Also found that capabilities are the way to go Shapiro (EROS) was right However, a clean abstraction of time still elusive 2013 Gernot Heiser, NICTA 24
25 Conclusions Details changed, but principles remained Microkernels rock! (If done right!) Thank you! We re hiring: Chair in Software Systems Postdocs / junior faculty 2013 Gernot Heiser, NICTA 25
sel4: from Security to Safety Gernot Heiser, Anna Lyons NICTA and UNSW Australia
sel4: from Security to Safety Gernot Heiser, Anna Lyons NICTA and UNSW Australia 1 OS Trade-Offs Usability Minix Android Linux Trustworthiness Minix Android L4 sel4 Performance Linux L4 sel4 2015 Gernot
From L3 to sel4 What Have We Learnt in 20 Years of L4 Microkernels?
From L3 to sel4 What Have We Learnt in 20 Years of L4 Microkernels? Kevin Elphinstone and Gernot Heiser NICTA and UNSW, Sydney {kevin.elphinstone,gernot}@nicta.com.au Abstract The L4 microkernel has undergone
Microkernels, virtualization, exokernels. Tutorial 1 CSC469
Microkernels, virtualization, exokernels Tutorial 1 CSC469 Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC,
Processes and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
COS 318: Operating Systems
COS 318: Operating Systems OS Structures and System Calls Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Outline Protection mechanisms
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann [email protected] Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
Design and Implementation of the Heterogeneous Multikernel Operating System
223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,
MACH: AN OPEN SYSTEM OPERATING SYSTEM Aakash Damara, Vikas Damara, Aanchal Chanana Dronacharya College of Engineering, Gurgaon, India
MACH: AN OPEN SYSTEM OPERATING SYSTEM Aakash Damara, Vikas Damara, Aanchal Chanana Dronacharya College of Engineering, Gurgaon, India ABSTRACT MACH is an operating system kernel.it is a Microkernel.It
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
Leveraging Thin Hypervisors for Security on Embedded Systems
Leveraging Thin Hypervisors for Security on Embedded Systems Christian Gehrmann A part of Swedish ICT What is virtualization? Separation of a resource or request for a service from the underlying physical
Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
Last 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 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
Chapter 5 Cloud Resource Virtualization
Chapter 5 Cloud Resource Virtualization Contents Virtualization. Layering and virtualization. Virtual machine monitor. Virtual machine. Performance and security isolation. Architectural support for virtualization.
CS161: Operating Systems
CS161: Operating Systems Matt Welsh [email protected] Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
L 4 Linux Porting Optimizations
L 4 Linux Porting Optimizations Adam Lackorzynski Technische Universität Dresden Faculty of Computer Science Operating Systems Group March 2004 Contents 1 Introduction 9 1.1 Terminology....................................
An Overview of Microkernel, Hypervisor and Microvisor Virtualization Approaches for. embedded systems
An Overview of Microkernel, Hypervisor and Microvisor Virtualization Approaches for Embedded Systems Asif Iqbal, Nayeema Sadeque and Rafika Ida Mutia Department of Electrical and Information Technology
Process Description and Control. 2004-2008 william stallings, maurizio pizzonia - sistemi operativi
Process Description and Control 1 Process A program in execution (running) on a computer The entity that can be assigned to and executed on a processor A unit of activity characterized by a at least one
Mutual Exclusion using Monitors
Mutual Exclusion using Monitors Some programming languages, such as Concurrent Pascal, Modula-2 and Java provide mutual exclusion facilities called monitors. They are similar to modules in languages that
I/O. Input/Output. Types of devices. Interface. Computer hardware
I/O Input/Output One of the functions of the OS, controlling the I/O devices Wide range in type and speed The OS is concerned with how the interface between the hardware and the user is made The goal in
Advanced Operating Systems (263 3800 00L)
Advanced Operating Systems (263 3800 00L) Timothy Roscoe Fall 2014 https://www.systems.ethz.ch/courses/fall2014/aos Systems Group Department of Computer Science ETH Zürich 1 Week 3: OS Architecture, Threads,
CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013
CS5460: Operating Systems Lecture: Virtualization 2 Anton Burtsev March, 2013 Paravirtualization: Xen Full virtualization Complete illusion of physical hardware Trap _all_ sensitive instructions Virtualized
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance M. Rangarajan, A. Bohra, K. Banerjee, E.V. Carrera, R. Bianchini, L. Iftode, W. Zwaenepoel. Presented
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
REAL TIME OPERATING SYSTEMS. Lesson-10:
REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after
ELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
Between Mutual Trust and Mutual Distrust: Practical Fine-grained Privilege Separation in Multithreaded Applications
Between Mutual Trust and Mutual Distrust: Practical Fine-grained Privilege Separation in Multithreaded Applications Jun Wang, Xi Xiong, Peng Liu Penn State Cyber Security Lab 1 An inherent security limitation
OPERATING. William Stallings
THE WINDOWS OPERATING S YSTEM William Stallings This document is an extract from Operating Systems: Internals and Design Principles, Fifth Edition Prentice Hall, 2005, ISBN 0-13-147954-7 Copyright 2005
Lecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
Last 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 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Introduction u Have
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
CSC 2405: Computer Systems II
CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building [email protected]
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around
Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:
Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.
Lecture 17: Virtual Memory II. Goals of virtual memory
Lecture 17: Virtual Memory II Last Lecture: Introduction to virtual memory Today Review and continue virtual memory discussion Lecture 17 1 Goals of virtual memory Make it appear as if each process has:
Operating System Structures
Operating System Structures Meelis ROOS [email protected] Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.
Fido: Fast Inter-Virtual-Machine Communication for Enterprise Appliances
Fido: Fast Inter-Virtual-Machine Communication for Enterprise Appliances Anton Burtsev, Kiran Srinivasan, Prashanth Radhakrishnan, Lakshmi N. Bairavasundaram, Kaladhar Voruganti, Garth R. Goodson University
KVM: A Hypervisor for All Seasons. Avi Kivity [email protected]
KVM: A Hypervisor for All Seasons Avi Kivity [email protected] November 2007 Virtualization Simulation of computer system in software Components Processor: register state, instructions, exceptions Memory
ADVANCED MAC OS X ROOTKITS
ADVANCED MAC OS X ROOTKITS DINO A. DAI ZOVI [email protected] Abstract. The Mac OS X kernel (xnu) is a hybrid BSD and Mach kernel. While Unix-oriented rootkit techniques are pretty well known, Mach-based
Cortex-A9 MPCore Software Development
Cortex-A9 MPCore Software Development Course Description Cortex-A9 MPCore software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to develop
POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)
RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate
Operating System Components and Services
Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.
09336863931 : provid.ir
provid.ir 09336863931 : NET Architecture Core CSharp o Variable o Variable Scope o Type Inference o Namespaces o Preprocessor Directives Statements and Flow of Execution o If Statement o Switch Statement
Virtualization. Explain how today s virtualization movement is actually a reinvention
Virtualization Learning Objectives Explain how today s virtualization movement is actually a reinvention of the past. Explain how virtualization works. Discuss the technical challenges to virtualization.
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
Design Patterns in C++
Design Patterns in C++ Concurrency Patterns Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 4, 2011 G. Lipari (Scuola Superiore Sant Anna) Concurrency Patterns May 4,
Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?
Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor? Mr. Jacob Torrey February 26, 2014 Dartmouth College 153 Brooks Road, Rome, NY 315.336.3306 http://ainfosec.com @JacobTorrey
Amoeba Distributed Operating System
Amoeba Distributed Operating System Matt Ramsay Tim Kiegel Heath Memmer CS470 Case Study Paper 4/19/02 Amoeba Introduction The Amoeba operating system began as a research project at Vrije Universiteit
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology
3. The Lagopus SDN Software Switch Here we explain the capabilities of the new Lagopus software switch in detail, starting with the basics of SDN and OpenFlow. 3.1 SDN and OpenFlow Those engaged in network-related
Taming Hosted Hypervisors with (Mostly) Deprivileged Execution
Taming Hosted Hypervisors with (Mostly) Deprivileged Execution Chiachih Wu, Zhi Wang *, Xuxian Jiang North Carolina State University, * Florida State University Virtualization is Widely Used 2 There are
Real-Time Performance of L4Linux
Real-Time Performance of L4 Adam Lackorzynski Technische Universität Dresden Department of Computer Science Operating Systems Group [email protected] Janis Danisevskis, Jan Nordholz, Michael Peter
Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization
Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A
A Deduplication File System & Course Review
A Deduplication File System & Course Review Kai Li 12/13/12 Topics A Deduplication File System Review 12/13/12 2 Traditional Data Center Storage Hierarchy Clients Network Server SAN Storage Remote mirror
Cloud Computing. Up until now
Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines
Development of Type-2 Hypervisor for MIPS64 Based Systems
Development of Type-2 Hypervisor for MIPS64 Based Systems High Performance Computing and Networking Lab Al-Khwarizmi Institute of Computer Science University of Engineering & Technology Lahore Pakistan
A Transport Protocol for Multimedia Wireless Sensor Networks
A Transport Protocol for Multimedia Wireless Sensor Networks Duarte Meneses, António Grilo, Paulo Rogério Pereira 1 NGI'2011: A Transport Protocol for Multimedia Wireless Sensor Networks Introduction Wireless
How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself
How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,
Windows Server Virtualization & The Windows Hypervisor
Windows Server Virtualization & The Windows Hypervisor Brandon Baker Lead Security Engineer Windows Kernel Team Microsoft Corporation Agenda - Windows Server Virtualization (WSV) Why a hypervisor? Quick
Red Hat Linux Internals
Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
1. Computer System Structure and Components
1 Computer System Structure and Components Computer System Layers Various Computer Programs OS System Calls (eg, fork, execv, write, etc) KERNEL/Behavior or CPU Device Drivers Device Controllers Devices
First-class User Level Threads
First-class User Level Threads based on paper: First-Class User Level Threads by Marsh, Scott, LeBlanc, and Markatos research paper, not merely an implementation report User-level Threads Threads managed
Cloud Operating Systems for Servers
Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 [email protected] 1 What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast
6.828 Operating System Engineering: Fall 2003. Quiz II Solutions THIS IS AN OPEN BOOK, OPEN NOTES QUIZ.
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2003 Quiz II Solutions All problems are open-ended questions. In
I/O Device and Drivers
COS 318: Operating Systems I/O Device and Drivers Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Announcements Project
What is best for embedded development? Do most embedded projects still need an RTOS?
RTOS versus GPOS: What is best for embedded development? Do most embedded projects still need an RTOS? It is a good question, given the speed of today s high-performance processors and the availability
University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011
University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 Department Mission The Department of Computer Science in the College of Arts and Sciences
Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 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
Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:
Hypervisors Credits: P. Chaganti Xen Virtualization A practical handbook D. Chisnall The definitive guide to Xen Hypervisor G. Kesden Lect. 25 CS 15-440 G. Heiser UNSW/NICTA/OKL Virtualization is a technique
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation
Weighted Total Mark. Weighted Exam Mark
CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale
Port of the Java Virtual Machine Kaffe to DROPS by using L4Env
Port of the Java Virtual Machine Kaffe to DROPS by using L4Env Alexander Böttcher [email protected] Technische Universität Dresden Faculty of Computer Science Operating System Group July 2004
Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine
7 Objectives After completing this lab you will: know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine Introduction Branches and jumps provide ways to change
PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG 29.10.2012, Moscow
PikeOS: Multi-Core RTOS for IMA Dr. Sergey Tverdyshev SYSGO AG 29.10.2012, Moscow Contents Multi Core Overview Hardware Considerations Multi Core Software Design Certification Consideratins PikeOS Multi-Core
Chapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
COMMMUNICATING COOPERATING PROCESSES
COMMMUNICATING COOPERATING PROCESSES The producer-consumer paradigm A buffer of items can be filled by the producer and emptied by the consumer. The producer and the consumer must be synchronized: the
CHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION OF RESEARCH Multicore processors have two or more execution cores (processors) implemented on a single chip having their own set of execution and architectural recourses.
Windows Server Virtualization & The Windows Hypervisor. Background and Architecture Reference
Windows Server Virtualization & The Windows Hypervisor Background and Architecture Reference Brandon Baker Lead Security Engineer Windows Kernel Team Microsoft Corporation Agenda - Windows Server Virtualization
RTOS Debugger for ecos
RTOS Debugger for ecos TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... RTOS Debugger... RTOS Debugger for ecos... 1 Overview... 2 Brief Overview of Documents for New Users... 3
The NOVA Microhypervisor
The NOVA Microhypervisor Germany Microprocessor Lab, Intel Labs Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL
CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure
CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer
OFA Training Program. Writing Application Programs for RDMA using OFA Software. Author: Rupert Dance Date: 11/15/2011. www.openfabrics.
OFA Training Program Writing Application Programs for RDMA using OFA Software Author: Rupert Dance Date: 11/15/2011 www.openfabrics.org 1 Agenda OFA Training Program Program Goals Instructors Programming
Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6
Kernel comparison of OpenSolaris, Windows Vista and Linux 2.6 The idea of writing this paper is evoked by Max Bruning's view on Solaris, BSD and Linux. The comparison of advantages and disadvantages among
Subnetting,Supernetting, VLSM & CIDR
Subnetting,Supernetting, VLSM & CIDR WHAT - IP Address Unique 32 or 128 bit Binary, used to identify a system on a Network or Internet. Network Portion Host Portion CLASSFULL ADDRESSING IP address space
OS Concepts and structure
OS Concepts and structure Today OS services OS interface to programmers/users OS components & interconnects Structuring OSs Next time Processes Between hardware and your apps User processes Thunderbird
