Safe Kernel Scheduler Development with Bossa
|
|
|
- Elinor Johnston
- 10 years ago
- Views:
Transcription
1 Safe Kernel Scheduler Development with Bossa Gilles Muller Obasco Group, Ecole des Mines de Nantes/INRIA, LINA Julia L. Lawall DIKU, University of Copenhagen 1 1
2 Process scheduling is an old issue, but: there is no single perfect scheduler Application requirements: Computation server: fairness Number crunching: ASAP Hard real-time: strict deadlines Multimedia: user perception, relaxed deadlines Embedded systems: energy Recent research work OSDI (8), SOSP (4), RTSS (28), Usenix (5) 2 2
3 Still Very limited impact on commercial OSes Round robin Priority-based Fifo Application needs known only by the application (or framework) programmer The OS must be customized to application needs Very few application programmers possess kernel expertise 3 3
4 Bossa goals Simplify scheduler development so that an application programmer can safely extend kernel behavior Predictable development Safe development Integration within existing OSes 4 4
5 Issues in customizing the OS 1. How to integrate a scheduling policy into the kernel? 2. How to write a policy? 3. How to verify policy correctness? 5 5
6 1- How to integrate new policies in the kernel We need an extensible kernel (a la SPIN, exokernel) Extensible kernel Event Interface Scheduling policy as an OS extension Complex to program Research prototypes, limited support (drivers, libraries) 6 6
7 1 - How to integrate new policies in the kernel Bossa approach Enrich an existing kernel (Linux, Windows) with a scheduling-specific event interface Existing scheduling code removed Tool-assisted transformation process using AOP and temporal logic [ASE-2003, EW2004] Existing bossa-ified kernel Event Interface Block.*, Unblock.*, Clocktick Policy code as an OS extension (Kernel component) 7 7
8 2 - How to write policies: Kernel development is a nightmare C Development is error-prone Low-level C code => little help from the compiler Likely to crash the OS => test and debug tedious 8 8
9 2 - How to write policies Capture kernel expertise into a DSL A programming language dedicated to a family of programs that offers specific abstractions and notations. Trade expressiveness for expertise/knowledge: Productivity : easier and safer programming Robustness : (static) verification of properties Performance : efficient compilation 9 9
10 2 - How to write policies Capture kernel expertise into a DSL Domain analysis System components Policy... Policy Library 1. Family of system components 2. Enforce a two-stage design: policy/algorithms/strategy common mechanisms/library domain properties 3. DSL syntax language restrictions 10 10
11 2 - How to write policies Capture kernel expertise into a DSL Benefits of Domain Specific Languages Expertise re-use separate What/How expertise repository in underlying kernel mechanisms Code re-use well-identified basic mechanisms enforced re-use of the mechanisms Program safety and robustness property verification (predictable) enforced correct usage of the mechanisms 11 11
12 2 - How to write policies Capture kernel expertise into a DSL Existing bossa-ified kernel Event Interface DSL policy Bossa compiler/verifier Compiled policy (kernel component) 12 12
13 The Bossa DSL Looks like C but: Provides high level abstractions Process attributes Ordering criteria Process states Event handlers Interface functions Typical well known scheduling policies are under 200 lines 13 13
14 Process attributes and priorities scheduler Linux = { type policy_t = enum { SCHED_FIFO,SCHED_RR, SCHED_OTHER }; // RT policies // Round Robin process = { policy_t policy, int rt_priority, // 0 for round robin int priority, // initial time slice int ticks // current time slice }; ordering_criteria = { highest rt_priority, highest ticks }; 14 14
15 Process states Class of state + Process storage states = { RUNNING running : process; READY ready : fifo select queue; READY expired : queue; READY yield : process; BLOCKED blocked : queue; } TERMINATED terminated; 15 15
16 Event handlers handler (event e) { On block.* { e.target => blocked; } On unblock.preemptive { if (e.target in blocked) { e.target => ready; if (!empty(running) && (e.target > running)) running => ready; } } 16 16
17 Event handlers - Schedule On bossa.schedule { if (empty(ready)) { foreach (p in blocked) { p.ticks = p.ticks/2 + (((p.priority)>>2)+1); } if (!empty(yield)) { yield.ticks = yield.ticks/2 + (((yield.priority)>>2)+1); } if ( empty (expired)) { yield => ready; } else { foreach (p in expired) { p => ready; } } } select() => running; } if (!empty(yield)) { yield => ready; } 17 17
18 Properties of the Bossa DSL Termination Bounded loops Complete set of event handlers No loss of a process Kernel protection w.r.t. crashes 18 18
19 3 -How to verify policy correctness? Is the implementation consistent? DSL properties Does the implementation interact correctly with the target OS? Extensible system development» Kernel expert» Policy programmer Example: do not elect a blocked process 19 19
20 Event types For each event, describe: Event notification context. Expected handler effect. block.*: [tgt in RUNNING] -> [tgt in BLOCKED] Usage: Check that kernel expectations are satisfied at compile time Document these expectations. Event types are kernel-specific. Written once by the kernel expert
21 Blocking in Linux (Tout ce que vous avez toujours voulu savoir sans oser le demander) tgt in ready E_unblock tgt in blocked E_schedule E_block add to wait queue Resource available yes no no signal State test + Signal pending E_schedule signal Kernel schedule green: executed by tgt (normally running) remove from wait queue E_yield tgt in ready blue: executed by another process 21 21
22 Taking into account interrupts: Target of block might not be running tgt in ready unblock tgt in blocked E_schedule E_block add to wait queue Resource available yes no no signal State test + Signal pending signal E_schedule Kernel schedule Unblock of a higher priority process. remove from wait queue E_yield tgt in ready 22 22
23 Taking into account interrupts: Target of unblock might not be blocked tgt in ready unblock tgt in blocked schedule block add to wait queue Unblock of the target process. Resource available yes no remove from wait queue schedule State Test yield Kernel schedule tgt in ready 23 23
24 Unblock of the target process: Target of unblock might not be blocked tgt in ready E_unblock tgt in blocked E_schedule E_block add to wait queue Unblock of the target process Resource available yes no remove from wait queue E_schedule State test E_yield Kernel schedule tgt in ready 24 24
25 Linux event types (kernel expert) unblock.preemptive: [[] = RUNNING, tgt in BLOCKED] -> [[] = RUNNING, tgt in READY] [p in RUNNING, tgt in BLOCKED] -> {[p in RUNNING, tgt in READY], [[p, tgt] in READY]} [tgt in RUNNING] -> [tgt in RUNNING] [tgt in READY] -> [tgt in READY] block.*: [tgt in RUNNING] -> [tgt in BLOCKED] [[] = RUNNING, tgt in READY] -> [tgt in BLOCKED] 25 25
26 Bossa evaluation Benefit of new policies QoS for a video player on a highly loaded machine Precise control of CPU usage for legacy applications (web servers) Performance overhead w.r.t. the original Linux kernel LMbench micro-benchmark Impact of context switches on legacy applications Web server - Apache 26 26
27 QoS for multimedia applications Managing several classes of applications using a hierarchy of schedulers Priority Virtual scheduler Process scheduler for multimedia applications EDF Round Robin Standard Linux process scheduler Video player Parallel compilation 27 27
28 Impact of context switches on Apache Same number of req/s on Linux & Bossa (1160 req/s, 5kb pages) 50% 40% 30% 20% bossa <5K linux <5K bossa 10K-15K linux 10K-15K bossa >20K linux >20K 10% 0% <5K # cycles <10K <100K <250K <500K >500K 28 28
29 LMbench - Absolute overhead Bossa2.4/Linux 2.4 cycles Linux Bossa array size (KB) 0 processes
30 LMbench - relative overhead Bossa2.4/Linux % 130% 120% 110% 100% 90% array size (KB) 0 processes
31 On-going work Encyclopedia of scheduling policies (Bossa Nova) Bossa-Box: Personal Video Recorder with QOS Generalization to other resources Energy management (R. Urunuela) Multi-OS generalized approach (C. Augier) Port to Windows XP Port to Jaluna/Chorus (RT kernel) Port to the 2.6 linux kernel 31 31
32 Conclusion Programming scheduling policies is now possible for non kernel experts Dissemination of research work Nice support for teaching scheduling Verification of safety properties Confidence in system behavior Event types document kernel behavior 32 32
33 PUB! 2.4/2.6 bossa-linux kernel, Teaching lab, Bossa-Knoppix,
34 Re- PUB! 8 Octobre EuroSys Octobre SOSP, Brighton Novembre Middleware, Grenoble 3-7 Juillet 2006 ECOOP, Nantes 20 ans 34 34
Operating 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/
Comparison between scheduling algorithms in RTLinux and VxWorks
Comparison between scheduling algorithms in RTLinux and VxWorks Linköpings Universitet Linköping 2006-11-19 Daniel Forsberg ([email protected]) Magnus Nilsson ([email protected]) Abstract The
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
Scheduling 0 : Levels. High level scheduling: Medium level scheduling: Low level scheduling
Scheduling 0 : Levels High level scheduling: Deciding whether another process can run is process table full? user process limit reached? load to swap space or memory? Medium level scheduling: Balancing
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get
Performance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
CPU 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
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
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
CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS
CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into
CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems
Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Based on original slides by Silberschatz, Galvin and Gagne 1 Basic Concepts CPU I/O Burst Cycle Process execution
Readings 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
Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles
Application Performance in the QLinux Multimedia Operating System Sundaram, A. Chandra, P. Goyal, P. Shenoy, J. Sahni and H. Vin Umass Amherst, U of Texas Austin ACM Multimedia, 2000 Introduction General
Linux 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
Multiprocessor 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 [email protected] Universität Paderborn PC² Agenda Multiprocessor and
Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum
Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods
Embedded & Real-time Operating Systems
Universität Dortmund 12 Embedded & Real-time Operating Systems Peter Marwedel, Informatik 12 Germany Application Knowledge Structure of this course New clustering 3: Embedded System HW 2: Specifications
Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/
Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching
ò Paper reading assigned for next Thursday ò Lab 2 due next Friday ò What is cooperative multitasking? ò What is preemptive multitasking?
Housekeeping Paper reading assigned for next Thursday Scheduling Lab 2 due next Friday Don Porter CSE 506 Lecture goals Undergrad review Understand low-level building blocks of a scheduler Understand competing
Linux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
Scheduling policy. ULK3e 7.1. Operating Systems: Scheduling in Linux p. 1
Scheduling policy ULK3e 7.1 Goals fast process response time good throughput for background jobs avoidance of process starvation reconciliation of needs of low- and high-priority processes Operating Systems:
Process 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,
Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
Linux Plumbers 2010. API for Real-Time Scheduling with Temporal Isolation on Linux
Linux Plumbers 2010 November 3rd, Boston API for Real-Time Scheduling with Temporal Isolation on Linux Tommaso Cucinotta, Cucinotta, Dhaval Giani, Dario Faggioli, Fabio Checconi Real-Time Systems Lab (RETIS)
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:
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
Embedded 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
Why Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes) John Ousterhout Sun Microsystems Laboratories [email protected] http://www.sunlabs.com/~ouster Introduction Threads: Grew up in OS world (processes).
Quality of Service su Linux: Passato Presente e Futuro
Quality of Service su Linux: Passato Presente e Futuro Luca Abeni [email protected] Università di Trento Quality of Service su Linux:Passato Presente e Futuro p. 1 Quality of Service Time Sensitive applications
Road 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:
Konzepte von Betriebssystem-Komponenten. Linux Scheduler. Valderine Kom Kenmegne [email protected]. Proseminar KVBK Linux Scheduler Valderine Kom
Konzepte von Betriebssystem-Komponenten Linux Scheduler Kenmegne [email protected] 1 Contents: 1. Introduction 2. Scheduler Policy in Operating System 2.1 Scheduling Objectives 2.2 Some Scheduling
Linux for Embedded and Real-Time Systems
Linux for Embedded and Real-Time Systems Kaiserslautern 9 June 2005 Samir Amiry ([email protected]) Fraunhofer IESE Institut Experimentelles Software Engineering Outlines Introduction. Linux: the
Real-Time Operating Systems for MPSoCs
Real-Time Operating Systems for MPSoCs Hiroyuki Tomiyama Graduate School of Information Science Nagoya University http://member.acm.org/~hiroyuki MPSoC 2009 1 Contributors Hiroaki Takada Director and Professor
Modular Real-Time Linux
Modular Real-Time Linux Shinpei Kato Department of Information and Computer Science, Keio University 3-14-1 Hiyoshi, Kohoku, Yokohama, Japan [email protected] Nobuyuki Yamasaki Department of Information
Lecture 3 Theoretical Foundations of RTOS
CENG 383 Real-Time Systems Lecture 3 Theoretical Foundations of RTOS Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering Task States Executing Ready Suspended (or blocked) Dormant (or sleeping)
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
RTAI. Antonio Barbalace [email protected]. (modified by M.Moro 2011) RTAI
Antonio Barbalace [email protected] (modified by M.Moro 2011) Real Time Application Interface by Dipartimento di Ingegneria Aereospaziale dell Università di Milano (DIAPM) It is not a complete
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
IN STA LLIN G A VA LA N C HE REMOTE C O N TROL 4. 1
IN STA LLIN G A VA LA N C HE REMOTE C O N TROL 4. 1 Remote Control comes as two separate files: the Remote Control Server installation file (.exe) and the Remote Control software package (.ava). The installation
Real-Time Component Software. slide credits: H. Kopetz, P. Puschner
Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware
Linux Process Scheduling. sched.c. schedule() scheduler_tick() hooks. try_to_wake_up() ... CFS CPU 0 CPU 1 CPU 2 CPU 3
Linux Process Scheduling sched.c schedule() scheduler_tick() try_to_wake_up() hooks RT CPU 0 CPU 1 CFS CPU 2 CPU 3 Linux Process Scheduling 1. Task Classification 2. Scheduler Skeleton 3. Completely Fair
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,
Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.
Overview Concepts of Mobile Operating Systems Lecture 11 Concepts of Mobile Operating Systems Mobile Business I (WS 2007/08) Prof Dr Kai Rannenberg Chair of Mobile Business and Multilateral Security Johann
TI Linux and Open Source Initiative Backgrounder
TI Linux and Open Source Initiative Backgrounder Texas Instruments Incorporated (TI) has supported the use of embedded real-time operating systems in digital signal processing (DSP) for many years with
CPU Scheduling. CSC 256/456 - Operating Systems Fall 2014. TA: Mohammad Hedayati
CPU Scheduling CSC 256/456 - Operating Systems Fall 2014 TA: Mohammad Hedayati Agenda Scheduling Policy Criteria Scheduling Policy Options (on Uniprocessor) Multiprocessor scheduling considerations CPU
Virtual Machines. www.viplavkambli.com
1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software
Threads Scheduling on Linux Operating Systems
Threads Scheduling on Linux Operating Systems Igli Tafa 1, Stavri Thomollari 2, Julian Fejzaj 3 Polytechnic University of Tirana, Faculty of Information Technology 1,2 University of Tirana, Faculty of
Xen and the Art of. Virtualization. Ian Pratt
Xen and the Art of Virtualization Ian Pratt Keir Fraser, Steve Hand, Christian Limpach, Dan Magenheimer (HP), Mike Wray (HP), R Neugebauer (Intel), M Williamson (Intel) Computer Laboratory Outline Virtualization
Module 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
Chapter 5 Process Scheduling
Chapter 5 Process Scheduling CPU Scheduling Objective: Basic Scheduling Concepts CPU Scheduling Algorithms Why Multiprogramming? Maximize CPU/Resources Utilization (Based on Some Criteria) CPU Scheduling
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
Linux A multi-purpose executive support for civil avionics applications?
August 2004 Serge GOIFFON Pierre GAUFILLET AIRBUS France Linux A multi-purpose executive support for civil avionics applications? Civil avionics software context Main characteristics Required dependability
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
Real-Time Operating Systems. http://soc.eurecom.fr/os/
Institut Mines-Telecom Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline 2/66 Fall 2014 Institut Mines-Telecom Definitions What is an Embedded
Introduction to Embedded Systems. Software Update Problem
Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t
Predictable 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 [email protected]
Real-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
EECatalog SPECIAL FEATURE
Type Zero Hypervisor the New Frontier in Embedded Virtualization The hypervisor s full control over the hardware platform and ability to virtualize hardware platforms are beneficial in environments that
Process Scheduling in Linux
Process Scheduling in Linux Scheduling Mechanism: how to switch. Scheduling Policy: when to switch and what process to choose. Some scheduling objectives: fast process response time avoidance of process
Linux Scheduler. Linux Scheduler
or or Affinity Basic Interactive es 1 / 40 Reality... or or Affinity Basic Interactive es The Linux scheduler tries to be very efficient To do that, it uses some complex data structures Some of what it
Real- Time Scheduling
Real- Time Scheduling Chenyang Lu CSE 467S Embedded Compu5ng Systems Readings Ø Single-Processor Scheduling: Hard Real-Time Computing Systems, by G. Buttazzo. q Chapter 4 Periodic Task Scheduling q Chapter
Example 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
Linux O(1) CPU Scheduler. Amit Gud amit (dot) gud (at) veritas (dot) com http://amitgud.tk
Linux O(1) CPU Scheduler Amit Gud amit (dot) gud (at) veritas (dot) com http://amitgud.tk April 27, 2005 Agenda CPU scheduler basics CPU scheduler algorithms overview Linux CPU scheduler goals What is
Operating System Overview. Otto J. Anshus
Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps
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
Overview 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)
Real-time Performance Control of Elastic Virtualized Network Functions
Real-time Performance Control of Elastic Virtualized Network Functions Tommaso Cucinotta Bell Laboratories, Alcatel-Lucent Dublin, Ireland Introduction Introduction A new era of computing for ICT Wide
STORM. Simulation TOol for Real-time Multiprocessor scheduling. Designer Guide V3.3.1 September 2009
STORM Simulation TOol for Real-time Multiprocessor scheduling Designer Guide V3.3.1 September 2009 Richard Urunuela, Anne-Marie Déplanche, Yvon Trinquet This work is part of the project PHERMA supported
What is going on in Operating Systems Research: The OSDI & SOSP Perspective. Dilma M. da Silva IBM TJ Watson Research Center, NY [email protected].
What is going on in Operating Systems Research: The OSDI & SOSP Perspective Dilma M. da Silva IBM TJ Watson Research Center, NY [email protected] 16 July 2006 Slide 2 Main OS conferences OSDI Operating
Linux Block I/O Scheduling. Aaron Carroll [email protected] December 22, 2007
Linux Block I/O Scheduling Aaron Carroll [email protected] December 22, 2007 As of version 2.6.24, the mainline Linux tree provides four block I/O schedulers: Noop, Deadline, Anticipatory (AS)
OPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
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
INTEL PARALLEL STUDIO EVALUATION GUIDE. Intel Cilk Plus: A Simple Path to Parallelism
Intel Cilk Plus: A Simple Path to Parallelism Compiler extensions to simplify task and data parallelism Intel Cilk Plus adds simple language extensions to express data and task parallelism to the C and
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.
Chapter 13 Embedded Operating Systems
Operating Systems: Internals and Design Principles Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Embedded System Refers to the use of electronics and software within a product
CS 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
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
Basics 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
LynxOS RTOS (Real-Time Operating System)
LynxOS RTOS (Real-Time Operating System) Stephen J. Franz CS-550 Section 1 Fall 2005 1 Summary LynxOS is one of two real time operating systems (RTOS) developed and marketed by LynuxWorks of San José,
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:
Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:
Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the
EECS 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
OPERATING SYSTEMS SCHEDULING
OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform
Types Of Operating Systems
Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded
Project No. 2: Process Scheduling in Linux Submission due: April 28, 2014, 11:59pm
Project No. 2: Process Scheduling in Linux Submission due: April 28, 2014, 11:59pm PURPOSE Getting familiar with the Linux kernel source code. Understanding process scheduling and how different parameters
Stream Processing on GPUs Using Distributed Multimedia Middleware
Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research
Operating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
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,
Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example
Real-Time Scheduling (Part 1) (Working Draft) Insup Lee Department of Computer and Information Science School of Engineering and Applied Science University of Pennsylvania www.cis.upenn.edu/~lee/ CIS 41,
Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses
Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline
