sel4: from Security to Safety Gernot Heiser, Anna Lyons NICTA and UNSW Australia
|
|
- Jack Johnson
- 8 years ago
- Views:
Transcription
1 sel4: from Security to Safety Gernot Heiser, Anna Lyons NICTA and UNSW Australia 1
2 OS Trade-Offs Usability Minix Android Linux Trustworthiness Minix Android L4 sel4 Performance Linux L4 sel Gernot Heiser, NICTA 2 2
3 Trustworthy Systems Vision Suitable for real-world systems We will change the practice of designing and implementing critical systems, using rigorous approaches to achieve true trustworthiness Hard roadmap: High-level guarantees 1. Build components on safety/ 2. Build systems security/ 3. Deploy reliability 2015 Gernot Heiser, NICTA 33
4 sel4: Verification of Security C Implementation Confidentiality Availability Integrity Translation correctness [PLDI 13] Timeliness [RTSS 11] Proof Proof Proof Abstract Model Binary code 2015 Gernot Heiser, NICTA 4 4 Functional correctness [SOSP 09] Isolation properties [ITP 11, S&P 13] Exclusions (at present): Initialisation Assembler, TLB, caches Multicore Covert timing channels
5 Example: Unmanned Aerial Vehicle (UAV) DARPA HACMS Program: Provable vehicle safety Red Team must not be able to divert vehicle Boeing Unmanned Little Bird (AH-6) Deployment Vehicle SMACCMcopter Research Vehicle 2015 Gernot Heiser, NICTA 5 5
6 SMACCM Research Vehicle Architecture CONTROL BOARD MISSION BOARD SOFTWARE Control Mission Plan Sensor Filtering echronos Monitor CAN bus SOFTWARE Command & Control Task Image Processing (Payload) Ethernet Driver Unverified Linux Kernel untrusted HARDWARE Sensors Radio Modem Microcontroller Radio Control Speed Controller Radio Rxer HARDWARE ARM A15 processor sel4 Unverified C&C Radio COTS Network Camera trusted CAN Bus 2015 Gernot Heiser, NICTA 6 6
7 sel4 Now: Strong Security, Insufficient Safety C Implementation Confidentiality Availability Proof Proof Proof Abstract Model Binary code Integrity Very strong spatial isolation Insufficient temporal isolation 2015 Gernot Heiser, NICTA 7 7
8 Temporal Isolation Issues: Scheduler Priorities t1 100% 2015 Gernot Heiser, NICTA 8
9 Temporal Isolation Issues: Scheduler Priorities t1 50% t2 50% 2015 Gernot Heiser, NICTA 9
10 Temporal Isolation Issues: Scheduler Priorities t % t % t % 2015 Gernot Heiser, NICTA 10 10
11 Temporal Isolation Issues: Scheduler Priorities t4 0? t % Impossible to: 1. Limit high time 2. Guarantee low time High is trusted! t % t % 2015 Gernot Heiser, NICTA 11 11
12 Temporal Isolation Issues: IPC Current Thread B Prio: 7 Timeslice: 5 e Server Prio: 9 Timeslice: 5 A Prio: 7 Timeslice: 5 Wait 2015 Gernot Heiser, NICTA 12 12
13 Temporal Isolation Issues: IPC Current Thread B Prio: 7 Timeslice: 5 Call e Server Prio: 9 Timeslice: 5 A Prio: 7 Timeslice: 5 Wait 2015 Gernot Heiser, NICTA 13 13
14 Temporal Isolation Issues: IPC Current Thread B Prio: 7 Timeslice: 5 e Server Prio: 9 Timeslice: 4 A Prio: 7 Timeslice: Gernot Heiser, NICTA 14 14
15 Temporal Isolation Issues: IPC Current Thread B Prio: 7 Timeslice: 5 e Server Prio: 9 Timeslice: 1 A Prio: 7 Timeslice: Gernot Heiser, NICTA 15 15
16 Temporal Isolation Issues: IPC Current Thread B Prio: 7 Timeslice: 5 e Server Prio: 9 Timeslice: 5 A Prio: 7 Timeslice: Gernot Heiser, NICTA 16 16
17 Temporal Isolation Issues: IPC Current Thread Reply B Prio: 7 Timeslice: 5 e Wait Server Prio: 9 Timeslice: 5 A Prio: 7 Timeslice: Gernot Heiser, NICTA 17 17
18 Temporal Isolation Issues: IPC Current Thread B Prio: 7 Timeslice: 4 e Wait Server Prio: 9 Timeslice: 5 A Prio: 7 Timeslice: Gernot Heiser, NICTA 18 18
19 Temporal Isolation Issues: IPC Current Thread B Prio: 7 Timeslice: 4 e Wait Server Prio: 9 Timeslice: 5 A Prio: 7 Timeslice: Gernot Heiser, NICTA 19 19
20 Temporal Isolation Issues: IPC Current Thread B Prio: 7 Timeslice: 4 Call e Wait Server Prio: 9 Timeslice: 5 A Prio: 7 Timeslice: Gernot Heiser, NICTA 20 20
21 Temporal Isolation Issues: IPC Current Thread B Prio: 7 Timeslice: 4 e Server Prio: 9 Timeslice: 5 A Prio: 7 Timeslice: 5 Can effectively DoS same-prio threads! 2015 Gernot Heiser, NICTA 21 21
22 Modern RT Systems: Mixed Criticality CATASTROPHIC Criticality, development, assurance cost HAZARDOUS MAJOR Design Assurance Levels (DO-178B) MINOR No Effect 2015 Gernot Heiser, NICTA 22 22
23 SMACCM Mission Board Timeliness Most Critical!? khz 100 khz 10 Hz CAN driver Command & Control Task Image Processing (Payload) Ethernet Driver Unverified Linux Kernel 10 khz sel Gernot Heiser, NICTA 23 23
24 Temporal Isolation Requirements 1. Bandwidth enforcement: Enforced limits on CPU time consumption 2. Support for mixed criticality: Priority orthogonal to criticality Asymmetric temporal isolation: controlled overrun by high-crit 3. Support for shared resources: Server time charged to client Sharing across priorities and criticalities 4. Efficient Minimal overheads and algorithmic losses No hierarchical scheduling 5. Policy-free mechanisms 2015 Gernot Heiser, NICTA 24 24
25 Learn from Resource Kernels [Rajkumar 01] Principles: Timeliness through reservations Efficient resource utilisation Enforcement and protection Missing: 1. Shared resources 2. Mixed criticality Resource Kernel mechanisms: Scheduling Policy doesn t Enforcement belong in Accounting microkernel! Admission 2015 Gernot Heiser, NICTA 25 25
26 Learn from sel4 s Spatial Isolation Model Design for isolation: No memory allocation in the kernel Resources fully delegated, allows autonomous operation Addr Space RM Data RM Addr Space Strong isolation, No shared kernel resources Addr Space Addr Space RM Data Resource Manager RM Data Resource Manager Global Resource Manager RAM Kernel Data GRM Data 2015 Gernot Heiser, NICTA 26 26
27 sel4 Memory Management 100% Retype (Untyped, 2 1 ) 50% 50% Retype (Frame, 2 2 ) Retype (Untyped, 2 1 ) r,w r,w r,w r,w 25% 25% Mint (r) Retype (CNode, 2 m, 2 n ) Retype (TCB, 2 n ) r Revoke() F 0 F 1 UT 1 F 2 F 3 UT 0 UT 3 UT 2 UT Gernot Heiser, NICTA 27 27
28 sel4 Time Management? 100% Split(Reservation, 40%) 40% 60% Split(Reservation, 50%) 30% 30% 40% UT 1 UT 0 30% UT 2 30% 2015 Gernot Heiser, NICTA 28 28
29 Idea: Separate Scheduling Context from Thread Old Thread attributes Priority Not runnable Time slice if null New Thread Attributes Priority Scheduling context capability Upper bound! Scheduling context object p: period e: budget ( p) e = 2 p = 3 e = 250 p = Gernot Heiser, NICTA 29 29
30 Full Budgets e = 4 p = 4 t1 Round-robin, 4/5/4 shares e = 5 p = 5 t2 e = 4 p = 4 t Gernot Heiser, NICTA 30 30
31 General Budgets e = 1 p = 2 t1 Release Queue e = 8 p = 8 t3 e = 4 p = 4 t2 t1 e = 1 p = 2 Runs in slack time Might be trusted not to use budget, except in emergencies 2015 Gernot Heiser, NICTA 31 31
32 Task model aka I m done for now while (1) { /* job release */ } dojob(); /* job completion */ sel4_wait(trigger); Kernel signals to release On overrun: Optional exception Else rate limit Per-thread semaphore (aka async endpoint ) 2015 Gernot Heiser, NICTA 32 32
33 Admission New capability: SchedControl Anyone (with access to Untyped) can create scheduling contexts Only holder of SchedControl cap can populate scheduling contexts Trusted to implement policy Admission Policy sel Gernot Heiser, NICTA 33 33
34 Temporal Isolation Requirements 1. Bandwidth enforcement: Enforced limits on CPU time consumption 2. Support for mixed criticality: Priority orthogonal to criticality Asymmetric temporal isolation: controlled overrun by high-crit 3. Support for shared resources: Server time charged to client Sharing across priorities and criticalities 4. Efficient Minimal overheads and algorithmic losses 5. Policy-free mechanisms 2015 Gernot Heiser, NICTA 34 34
35 Criticality Old Thread attributes Priority Time slice System criticality New Thread Attributes Priority Scheduling context capability Trigger endpoint Time exception handler Criticality Only schedule threads with at least that criticality SchedControl holder can change (on time exeption) 2015 Gernot Heiser, NICTA 35 35
36 Asymmetric Protection Low Criticality High Criticality t0 t4 t3 t2 t1 t5 e = 100 p = 100 e = 4 p = 19 e = 3 p = 20 e = 1 p = 5 e = 2 p = 10 e = 100 p = 100 SchedControl_SetCriticality() 2015 Gernot Heiser, NICTA 36 36
37 Asymmetric Protection Low Criticality High Criticality t0 t3 t1 t5 e = 100 p = 100 e = 3 p = 20 e = 52 p = 10 e = 100 p = 100 Restores low criticality SchedControl_Extend() 2015 Gernot Heiser, NICTA 37 37
38 Temporal Isolation Requirements 1. Bandwidth enforcement: Enforced limits on CPU time consumption 2. Support for mixed criticality: Priority orthogonal to criticality Asymmetric temporal isolation: controlled overrun by high-crit 3. Support for shared resources: Server time charged to client Sharing across priorities and criticalities 4. Efficient Minimal overheads and algorithmic losses 5. Policy-free mechanisms 2015 Gernot Heiser, NICTA 38 38
39 Active Servers sel4_wait B e Server A 2015 Gernot Heiser, NICTA 39 39
40 Active Servers sel4_call B e Server A 2015 Gernot Heiser, NICTA 40 40
41 Active Servers sel4_replywait B e Server A 2015 Gernot Heiser, NICTA 41 41
42 Active Servers B e Server No temporal isolation Must trust server A 2015 Gernot Heiser, NICTA 42 42
43 Passive Server: Scheduling Context Transfer sel4_wait B e Server A 2015 Gernot Heiser, NICTA 43 43
44 Passive Server: Scheduling Context Transfer sel4_call B e Server A 2015 Gernot Heiser, NICTA 44 44
45 Passive Server: Scheduling Context Transfer B e Server A 2015 Gernot Heiser, NICTA 45 45
46 Passive Server: Scheduling Context Transfer sel4_replywait B e Server Budget expiry? Client budget pays for server time A 2015 Gernot Heiser, NICTA 46 46
47 Budget Expiry Options Multi-threaded servers (COMPOSITE [Parmer 10]) Model allows this Forcing all servers to be thread-safe is policy Bandwidth inheritance with helping (Fiasco [Stenberg 10]) Ugly dependency chains Use temporal Exceptions to trigger one of: Provide emergency budget Cancel operation & roll-back server Change criticality 2015 Gernot Heiser, NICTA 47 47
48 Temporal Isolation Requirements 1. Bandwidth enforcement: Enforced limits on CPU time consumption 2. Support for mixed criticality: Priority orthogonal to criticality Asymmetric temporal isolation: controlled overrun by high-crit 3. Support for shared resources: Server time charged to client Sharing across priorities and criticalities 4. Efficient Minimal overheads and algorithmic losses 5. Policy-free mechanisms 2015 Gernot Heiser, NICTA 48 48
49 Summary We may have cracked time (the final Frontier) we as in Anna Presently evaluating SMACCMcopter etc Can we integrate this with confidentiality-oriented isolation? 2015 Gernot Heiser, NICTA 49 49
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, Gernot Heiser NICTA and University of New South Wales 1993 Improving IPC by Kernel Design [SOSP] 2013 Gernot Heiser,
More informationPOSIX. 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
More informationI/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
More information10.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
More informationChapter 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:
More informationOperating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
More informationAndroid Operating System
Prajakta S.Adsule Student-M.B.A.[I.T.] BharatiVidyapeeth Deemed University,Pune(india) praju_hiramani@yahoo.co.in Mob. No. 9850685985 Android Operating System Abstract- Android operating system is one
More informationAchieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.
More informationIntel DPDK Boosts Server Appliance Performance White Paper
Intel DPDK Boosts Server Appliance Performance Intel DPDK Boosts Server Appliance Performance Introduction As network speeds increase to 40G and above, both in the enterprise and data center, the bottlenecks
More informationCOS 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
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 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationPredictable response times in event-driven real-time systems
Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour mgh@unican.es
More informationW4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang Outline Introduction to scheduling Scheduling algorithms 1 Direction within course Until now: interrupts, processes, threads, synchronization Mostly mechanisms
More informationProcess Scheduling CS 241. February 24, 2012. Copyright University of Illinois CS 241 Staff
Process Scheduling CS 241 February 24, 2012 Copyright University of Illinois CS 241 Staff 1 Announcements Mid-semester feedback survey (linked off web page) MP4 due Friday (not Tuesday) Midterm Next Tuesday,
More informationELEC 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
More informationLeveraging 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
More informationMicrokernels, 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,
More informationLecture 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
More informationRackspace Cloud Databases and Container-based Virtualization
Rackspace Cloud Databases and Container-based Virtualization August 2012 J.R. Arredondo @jrarredondo Page 1 of 6 INTRODUCTION When Rackspace set out to build the Cloud Databases product, we asked many
More informationCS161: Operating Systems
CS161: Operating Systems Matt Welsh mdw@eecs.harvard.edu Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
More informationIoT Security Platform
IoT Security Platform 2 Introduction Wars begin when the costs of attack are low, the benefits for a victor are high, and there is an inability to enforce law. The same is true in cyberwars. Today there
More informationISOLATING UNTRUSTED SOFTWARE ON SECURE SYSTEMS HYPERVISOR CASE STUDY
ISOLATING UNTRUSTED SOFTWARE ON SECURE SYSTEMS HYPERVISOR CASE STUDY Dr. Gregg Wildes DornerWorks www.dornerworks.com Embedded Systems Engineering for Security and Safety-Critical Systems Where Hardware
More informationPikeOS: 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
More informationCS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
More informationReal-Time Scheduling 1 / 39
Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A
More informationRoad Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.
Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:
More informationOperating 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
More informationMemory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality
Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality Heechul Yun +, Gang Yao +, Rodolfo Pellizzoni *, Marco Caccamo +, Lui Sha + University of Illinois at Urbana and Champaign
More informationDevelopment 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
More informationModule 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1
Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional
More informationNovel Systems. Extensible Networks
Novel Systems Active Networks Denali Extensible Networks Observations Creating/disseminating standards hard Prototyping/research Incremental deployment Computation may be cheap compared to communication
More informationEmbedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
More informationReview from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
More informationBasics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda
Objectives At the completion of this module, you will be able to: Understand the intended purpose and usage models supported by the VTune Performance Analyzer. Identify hotspots by drilling down through
More informationProcess 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
More informationReal-time Operating Systems. VO Embedded Systems Engineering Armin Wasicek 11.12.2012
Real-time Operating Systems VO Embedded Systems Engineering Armin Wasicek 11.12.2012 Overview Introduction OS and RTOS RTOS taxonomy and architecture Application areas Mixed-criticality systems Examples:
More informationCHANCES AND RISKS FOR SECURITY IN MULTICORE PROCESSORS
CHANCES AND RISKS FOR SECURITY IN MULTICORE PROCESSORS Prof. Dr.-Ing. Georg Sigl Institute for Security in Information Technology Technical University Munich sigl@tum.de Fraunhofer Research Institution
More informationCSC 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 mirela.damian@villanova.edu
More informationRun-Time Scheduling Support for Hybrid CPU/FPGA SoCs
Run-Time Scheduling Support for Hybrid CPU/FPGA SoCs Jason Agron jagron@ittc.ku.edu Acknowledgements I would like to thank Dr. Andrews, Dr. Alexander, and Dr. Sass for assistance and advice in both research
More informationVirtual Machines. COMP 3361: Operating Systems I Winter 2015 http://www.cs.du.edu/3361
s COMP 3361: Operating Systems I Winter 2015 http://www.cs.du.edu/3361 1 Virtualization! Create illusion of multiple machines on the same physical hardware! Single computer hosts multiple virtual machines
More informationOperating System Structures
Operating System Structures Meelis ROOS mroos@ut.ee Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.
More informationAn Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
More informationSYSTEM 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
More informationCPU Scheduling Outline
CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different
More informationA Look through the Android Stack
A Look through the Android Stack A Look through the Android Stack Free Electrons Maxime Ripard Free Electrons Embedded Linux Developers c Copyright 2004-2012, Free Electrons. Creative Commons BY-SA 3.0
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationChapter 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.
More informationAn Embedded Based Web Server Using ARM 9 with SMS Alert System
An Embedded Based Web Server Using ARM 9 with SMS Alert System K. Subbulakshmi 1 Asst. Professor, Bharath University, Chennai-600073, India 1 ABSTRACT: The aim of our project is to develop embedded network
More informationIntroduction 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:
More informationOperating Systems. III. Scheduling. http://soc.eurecom.fr/os/
Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching
More informationHypervisors. 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
More informationARINC 653. An Avionics Standard for Safe, Partitioned Systems
ARINC 653 An Avionics Standard for Safe, Partitioned Systems 1 Courtesy of Wind River Inc. 2008 IEEE-CS Seminar June 4 th, 2008 Agenda Aerospace Trends IMA vs. Federated ARINC 653 Main concepts Safety
More informationScheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:
Scheduling Scheduling Scheduling levels Long-term scheduling. Selects which jobs shall be allowed to enter the system. Only used in batch systems. Medium-term scheduling. Performs swapin-swapout operations
More informationWhat s New in 2013. Mike Bailey LabVIEW Technical Evangelist. uk.ni.com
What s New in 2013 Mike Bailey LabVIEW Technical Evangelist Building High-Performance Test, Measurement and Control Systems Using PXImc Jeremy Twaits Regional Marketing Engineer Automated Test & RF National
More informationtheguard! ApplicationManager System Windows Data Collector
theguard! ApplicationManager System Windows Data Collector Status: 10/9/2008 Introduction... 3 The Performance Features of the ApplicationManager Data Collector for Microsoft Windows Server... 3 Overview
More informationOperating System Organization. Purpose of an OS
Slide 3-1 Operating System Organization Purpose of an OS Slide 3-2 es Coordinate Use of the Abstractions he Abstractions Create the Abstractions 1 OS Requirements Slide 3-3 Provide resource abstractions
More informationEECS 750: Advanced Operating Systems. 01/28 /2015 Heechul Yun
EECS 750: Advanced Operating Systems 01/28 /2015 Heechul Yun 1 Recap: Completely Fair Scheduler(CFS) Each task maintains its virtual time V i = E i 1 w i, where E is executed time, w is a weight Pick the
More informationWindows Server 2008 R2 Hyper V. Public FAQ
Windows Server 2008 R2 Hyper V Public FAQ Contents New Functionality in Windows Server 2008 R2 Hyper V...3 Windows Server 2008 R2 Hyper V Questions...4 Clustering and Live Migration...5 Supported Guests...6
More informationOperating System Resource Management. Burton Smith Technical Fellow Microsoft Corporation
Operating System Resource Management Burton Smith Technical Fellow Microsoft Corporation Background Resource Management (RM) is a primary operating system responsibility It lets competing applications
More informationReal- Time Mul,- Core Virtual Machine Scheduling in Xen
Real- Time Mul,- Core Virtual Machine Scheduling in Xen Sisu Xi 1, Meng Xu 2, Chenyang Lu 1, Linh Phan 2, Chris Gill 1, Oleg Sokolsky 2, Insup Lee 2 1 Washington University in St. Louis 2 University of
More informationChapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
More informationA Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011
A Data Centric Approach for Modular Assurance The Real-Time Middleware Experts Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011 Gabriela F. Ciocarlie Heidi Schubert
More informationKernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems
Module 9: Operating Systems Objective What is an operating system (OS)? OS kernel, and basic functions OS Examples: MS-DOS, MS Windows, Mac OS Unix/Linux Features of modern OS Graphical operating system
More informationCPU Scheduling. Core Definitions
CPU Scheduling General rule keep the CPU busy; an idle CPU is a wasted CPU Major source of CPU idleness: I/O (or waiting for it) Many programs have a characteristic CPU I/O burst cycle alternating phases
More informationPost-Class Quiz: Software Development Security Domain
1. A step-by-step implementation instruction is called A. Policy B. Standard C. Procedure D. Guideline 2. An approved configuration of software packages that describes how and what components are assembled
More informationDesign 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,
More informationPage 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
More informationMultiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching
IT 3123 Hardware and Software Concepts Operating Systems II October 26 Multiprogramming Two or more application programs in memory. Consider one CPU and more than one program. This can be generalized to
More informationReadings for this topic: Silberschatz/Galvin/Gagne Chapter 5
77 16 CPU Scheduling Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5 Until now you have heard about processes and memory. From now on you ll hear about resources, the things operated upon
More informationAdvanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow
Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow Rationale Radical changes to computing landscape; Desktop PC becoming irrelevant Heterogeneous, multicore,
More informationIntroduction to the NI Real-Time Hypervisor
Introduction to the NI Real-Time Hypervisor 1 Agenda 1) NI Real-Time Hypervisor overview 2) Basics of virtualization technology 3) Configuring and using Real-Time Hypervisor systems 4) Performance and
More informationOverview of the Linux Scheduler Framework
Overview of the Linux Scheduler Framework WORKSHOP ON REAL-TIME SCHEDULING IN THE LINUX KERNEL Pisa, June 27th, 2014 Marco Cesati University of Rome Tor Vergata Marco Cesati (Univ. of Rome Tor Vergata)
More informationThe MILS Component Integration Approach To Secure Information Sharing
The MILS Component Integration Approach To Secure Information Sharing Carolyn Boettcher, Raytheon, El Segundo CA Rance DeLong, LynuxWorks, San Jose CA John Rushby, SRI International, Menlo Park CA Wilmar
More informationIaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures
IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF Introduction
More informationDeciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run
SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run
More informationCHAPTER 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.
More informationKernel 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
More informationA Standards-Based Integration Platform for Reconfigurable Unmanned Aircraft Systems
WHITEPAPER A Standards-Based Integration Platform for Reconfigurable Unmanned Aircraft Systems Executive Summary This paper addresses the system design and integration challenges involved in meeting the
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 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationKernel Optimizations for KVM. Rik van Riel Senior Software Engineer, Red Hat June 25 2010
Kernel Optimizations for KVM Rik van Riel Senior Software Engineer, Red Hat June 25 2010 Kernel Optimizations for KVM What is virtualization performance? Benefits of developing both guest and host KVM
More informationSoftware Engineering for Real- Time Systems.
Software Engineering for Real- Time Systems. Presented by Andrew Dyer-Smith and Jamie McClelland Overview What are Real-Time Systems. Requirements of Real-Time Systems Current Technology Construction 1
More information6.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
More informationReal-Time Operating Systems. http://soc.eurecom.fr/os/
Institut Mines-Telecom Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline 2/66 Fall 2014 Institut Mines-Telecom Definitions What is an Embedded
More informationAdvanced topics: reentrant function
COSC 6374 Parallel Computation Advanced Topics in Shared Memory Programming Edgar Gabriel Fall 205 Advanced topics: reentrant function Functions executed in a multi-threaded environment need to be re-rentrant
More informationHard Real-Time Linux
Hard Real-Time Linux (or: How to Get RT Performances Using Linux) Andrea Bastoni University of Rome Tor Vergata System Programming Research Group bastoni@sprg.uniroma2.it Linux Kernel Hacking Free Course
More informationMultiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Agenda Multiprocessor and
More informationCOS 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
More informationTrustworthy Software Systems
Trustworthy Software Systems Greg Morrisett Cutting Professor of Computer Science School of Engineering & Applied Sciences Harvard University Little about me Research & Teaching Compilers, Languages, Formal
More informationLinux scheduler history. We will be talking about the O(1) scheduler
CPU Scheduling Linux scheduler history We will be talking about the O(1) scheduler SMP Support in 2.4 and 2.6 versions 2.4 Kernel 2.6 Kernel CPU1 CPU2 CPU3 CPU1 CPU2 CPU3 Linux Scheduling 3 scheduling
More informationCompromise-as-a-Service
ERNW GmbH Carl-Bosch-Str. 4 D-69115 Heidelberg 3/31/14 Compromise-as-a-Service Our PleAZURE Felix Wilhelm & Matthias Luft {fwilhelm, mluft}@ernw.de ERNW GmbH Carl-Bosch-Str. 4 D-69115 Heidelberg Agenda
More informationHow 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 brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
More informationSolid State Storage in Massive Data Environments Erik Eyberg
Solid State Storage in Massive Data Environments Erik Eyberg Senior Analyst Texas Memory Systems, Inc. Agenda Taxonomy Performance Considerations Reliability Considerations Q&A Solid State Storage Taxonomy
More informationSecurity Overview of the Integrity Virtual Machines Architecture
Security Overview of the Integrity Virtual Machines Architecture Introduction... 2 Integrity Virtual Machines Architecture... 2 Virtual Machine Host System... 2 Virtual Machine Control... 2 Scheduling
More informationPERFORMANCE TUNING ORACLE RAC ON LINUX
PERFORMANCE TUNING ORACLE RAC ON LINUX By: Edward Whalen Performance Tuning Corporation INTRODUCTION Performance tuning is an integral part of the maintenance and administration of the Oracle database
More informationA Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis
A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis Mark Stanovich Florida State University, USA Contents 1 Introduction 2 2 Scheduling Theory 3 2.1 Workload
More informationSystem Software Integration: An Expansive View. Overview
Software Integration: An Expansive View Steven P. Smith Design of Embedded s EE382V Fall, 2009 EE382 SoC Design Software Integration SPS-1 University of Texas at Austin Overview Some Definitions Introduction:
More informationHow To Write A Canopen Program For A Network (Auv) With A Network And Data Communication (Can) On A Computer (Canopen) (Canconnect) (Aui) (Cannopen) And A Network) (
CANopen Master and Node Software Radoslav Bortel, Faculty of Electrical Engineering, Czech Technical University, Prague Mentors: Mark Sibenac, Bill Kirkwood Summer 2002 Keywords: CAN, CANopen, communication,
More informationQuality of Service su Linux: Passato Presente e Futuro
Quality of Service su Linux: Passato Presente e Futuro Luca Abeni luca.abeni@unitn.it Università di Trento Quality of Service su Linux:Passato Presente e Futuro p. 1 Quality of Service Time Sensitive applications
More informationHigh-Density Network Flow Monitoring
Petr Velan petr.velan@cesnet.cz High-Density Network Flow Monitoring IM2015 12 May 2015, Ottawa Motivation What is high-density flow monitoring? Monitor high traffic in as little rack units as possible
More informationCIS 551 / TCOM 401 Computer and Network Security
CIS 551 / TCOM 401 Computer and Network Security Spring 2007 Lecture 3 1/18/07 CIS/TCOM 551 1 Announcements Email project groups to Jeff (vaughan2 AT seas.upenn.edu) by Jan. 25 Start your projects early!
More information