Constructing and Verifying Cyber Physical Systems
|
|
- Bernice Montgomery
- 6 years ago
- Views:
Transcription
1 Constructing and Verifying Cyber Physical Systems Mixed Criticality Scheduling and Real-Time Operating Systems Marcus Völp
2 Overview Introduction Mathematical Foundations (Differential Equations and Laplace Transformation) Control and Feedback Transfer Functions and State Space Models Poles, Zeros / PID Control Stability, Root Locust Method, Digital Control Mixed-Criticality Scheduling and Real-Time Operating Systems (RTOS) Coordinating Networked Cyber-Physical Systems Program Verification Differential Dynamic Logic and KeYmaera X Differential Invariants Math Physics Feedback Control RTOS CPS Verification Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 178
3 Overview Cyclic Executives Real-Time Operating Systems The Case for Virtualization Scheduling Theory 101 Real-Time Systems Correctness not only depends on computed values, but also on their timeliness. Mixed Criticality Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 179
4 Cyclic Executive int main(void) { } // initialization code while (true) { task1; wait_until(t 2 ); task2; wait_until(t 3 ); } actual execution time worst-case execution time t 2 t 3 frame cooperative scheduling: tasks finish voluntarily errors or bugs in one task may jeopardize the entire system Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 180
5 Example: Arduino Scheduler typedef void (*task_fn_t)(void); struct Task { task_fn_t function; uint16_t interval_ticks; uint16_t max_time_micros; }; Task _tasks[num_tasks]; /* Scheduler *=========== * run one tick; this will run as many scheduler tasks as we can in the specified time */ void AP_Scheduler::run(uint16_t time_available) { uint32_t run_started_usec = hal.scheduler->micros(); uint32_t now = run_started_usec; if (_task_time_allowed <= time_available) { // run it _task_time_started = now; task_fn_t func = (task_fn_t)pgm_read_pointer(&_tasks[i].function); current_task = i; func(); current_task = -1; // record the tick counter when we ran. This drives // when we next run the event _last_run[i] = _tick_counter; // work out how long the event actually took now = hal.scheduler->micros(); uint32_t time_taken = now - _task_time_started; for (uint8_t i=0; i<_num_tasks; i++) { uint16_t dt = _tick_counter - _last_run[i]; uint16_t interval_ticks = pgm_read_word(&_tasks[i].interval_ticks); if (dt >= interval_ticks) { // this task is due to run. Do we have enough time to run it? _task_time_allowed = pgm_read_word(&_tasks[i].max_time_micros); if (dt >= interval_ticks*2) { // we've slipped a whole run of this task! } } } } } if (time_taken > _task_time_allowed) { // the event overran! } if (time_taken >= time_available) { } time_available -= time_taken; Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 181
6 Preemptive Scheduling user mode t 2 t 3 kernel mode time scheduling overhead priority (minimal) interrelease time T i relative deadline D i Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 182 time
7 Real-Time Operating Systems Functionality Thread / Task / Process: Abstraction for execution (sometimes also for resources shared by thread) Scheduling: When to run which task and for how long? Mutexes / Semaphores: Protection of resource accesses Mutex: single thread may enter critical section Semaphore: initial count determines how much threads can enter (count > 0 => semaphore is free; count =< 0 => semaphore is blocked) Timers: Used internally for scheduling Timeouts (e.g., when accessing a device) Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 183
8 Microkernels Functionality Isolation Message passing to overcome isolation boundaries Address spaces App App App Cyclic Executive / some RTOSs Hardware App App App OS Server Driver Microkernel Hardware Inter Process Communication Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 184
9 Context Switches App App App App App App Cyclic Executive / some RTOSs Hardware OS Server Driver Microkernel Hardware while (true) { task1(); 1: wait_until(t 2 ); task2(); 2: wait_until(t 3 ); } call task1 = push 1f jmp task1 user kernel R Task 1 e Task 2 task 1 area g 1) find state save area of task 1 2) store user regs 3) find state save area for task 2 4) load user regs 5) switch address space 6) exit from kernel R e g task 2 area Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 185
10 Context Switches page / translation table base register page table: f(v) -> p App App App OS Server Driver Microkernel Hardware 0x1f3dc dab user kernel R Task 1 e Task 2 task 1 area g 1) find state save area of task 1 2) store user regs 3) find state save area for task 2 4) load user regs 5) switch address space 6) exit from kernel R e g task 2 area Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 186
11 Context Switches page / translation table base register page table: f(v) -> p App App App OS Server Driver Microkernel Hardware 0x1f3dc dab user kernel R Task 1 e Task 2 task 1 area g 1) find state save area of task 1 2) store user regs 3) find state save area for task 2 4) load user regs 5) switch address space 6) exit from kernel R e g task 2 area Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 187
12 The Case for Virtualization Extended functionality requires a certain amount of code more bugs (approx. 1 / 1000 LOC) less predictable timing complexity high-end CPUs to speed up mostly sequential execution but, complex applications are often less timing critical open issue: is this still true for vision, App OS Server App Microkernel App Driver Linux VMM App guest virtual machine monitor host Hardware Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 188
13 The Case for Virtualization Virtualization in a nutshell App App systemcall guest virtual guest host Linux VMM Microkernel guest physical VM call / VM exit host physical make sure every interesting event (access to registers of virtualized devices, page faults at transparently shared page, ) exit the VM prevent guest from unauthorized access to resources App App Linux App App VMM OS Server Driver Microkernel Hardware guest virtual machine monitor host Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 189
14 Scheduling Theory 101 Periodic Task Model: τ i = (C i, P i, D i ) Task characterized as sequence of jobs (possibly infinite) φ i P i D i Worst-Case Execution Time (WCET) C i upper bound on job execution times r i,0 C i r i,j C i Period P i subsequent jobs arrive exactly P i apart φ i P i D i relative Deadline D i implicit D i = P i constrained D i P i arbitrary (also D i > P i ) Phase φ i release time r i,j = jp i + φ i absolute deadline AD i,j = r i,j + D i r i,0 C i r i,j C i Sporadic Task Model: τ i = (C i, P i, D i ) Like periodic, exept: minimal interrelease time P i between the release of any two subsequent jobs, there is at least P i time. Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 190
15 Scheduling Theory 101 Scheduling Scheduling algorithm: decides when to run which job, where (on which resources, typically on which core), and for how long. Schedule is feasible for a set of tasks if: 1) no job τ i,j executes before r i,j 2) all jobs receive at least C i time in between r i,j and r i,j +D i Scheduling algorithm is optimal (wrt. schedulability) if it finds a feasible schedule whenever there exists one. φ i P i D i r i,0 C i r i,j C i φ i P i r i,0 C i r i,j C i D i (Classic) sporadic task model: A set of sporadic tasks is schedulable if it is schedulable at the synchronous arrival sequence, that is, when the first job of all tasks arrives at the same time and when subsequent jobs are exactly P i apart.!!! Does not hold for mixed-criticality tasks!!! Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 191
16 Scheduling Theory 101 Fixed Task Priority (Uniprocessor) assign priority to task and use the same priority for all jobs simultaneous release produces worst schedule critical instant e.g., Rate Monotonic Scheduling assign priorities inverse proportional to P i if phase = 0, D i = P i and jobs are independent (must not wait for others): optimal if periods are harmonic (integer multiples) optimal in the class of fixed task priority algorithms Liu Layland Criterion: n periodic tasks are schedulable with RMS if n i=1 Utilization C i P i n ( n 2 1) 0.69 n Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 192
17 Scheduling Theory 101 Fixed Job Priority (Uniprocessor) assign fixed priority to job (once it is released) don t change priorities of running jobs e.g., Earliest Deadline First job priority proportional to absolute deadline optimal if jobs are independent, phase = 0 n i=1 C i P i Optimal multiprocessor scheduling algorithms require jobs to change priorities and assigned processors (migrate) while they run. (trivial extensions of EDF partitioned / global EDF have utilization bound of m+1 2 ) Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 193
18 Why learn scheduling theory? Get an idea when and how your control tasks will be executed? Is your system strong enough to schedule all tasks or do you need additional processors? Understand choices and tradeoffs when selecting a system: cyclic executive time partitioned system (scheduling like cyclic ex. but with isolation) dynamic scheduling in RTOS / RT-Microkernel mutex locked by 3 while preempted will be unavailable to 2 (priority inversion) 2 runs in between here: may happen between two device register accesses preemption leaves task with cold caches must be considered when determining WCET Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 194
19 Mixed criticality scheduling Consolidate safety-critical tasks of different importance into a single system to share resources (most notably the CPU), even across criticality levels to safe costs, weight, energy C(LO) C(HI) Tasks: τ i = (l i, C i, P i, D i ), e.g., l i LO, HI Definition: (MC-feasibility) A set T of tasks is mixed-criticality feasible if every job τ i,j receives C i (l i ) time in between r i,j and r i,j + D i, provided the following rely condition holds: all jobs τ h,k of higher criticality tasks τ h (with l h > l i ) complete within C h (l i ) units time. Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 195
20 Mixed criticality scheduling Definition: (MC-feasibility) A set T of tasks is mixed-criticality feasible if every job τ i,j receives C i (l i ) time in between r i,j and r i,j + D i, provided the following rely condition holds: all jobs τ h,k of higher criticality tasks τ h (with l h > l i ) complete within C h (l i ) units time. C(LO) C(HI) HI LO Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 196
21 Mixed criticality scheduling Definition: (MC-feasibility) A set T of tasks is mixed-criticality feasible if every job τ i,j receives C i (l i ) time in between r i,j and r i,j + D i, provided the following rely condition holds: all jobs τ h,k of higher criticality tasks τ h (with l h > l i ) complete within C h (l i ) units time. C(LO) C(HI) HI LO Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 197
22 Mixed criticality scheduling Criticality Monotonic Scheduling Higher criticality tasks are higher prioritized than all lower criticality tasks. Use classical algorithm within criticality band (e.g., RMS) HI LO Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 198
23 Mixed criticality scheduling Criticality Monotonic Scheduling Higher criticality tasks are higher prioritized than all lower criticality tasks. Use classical algorithm within criticality band (e.g., RMS) HI LO Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 199
24 Mixed criticality scheduling Criticality Monotonic Scheduling Higher criticality tasks are higher prioritized than all lower criticality tasks. Use classical algorithm within criticality band (e.g., RMS) HI LO criticality inversion lower criticality job executes at higher priority than high criticality job to guarantee its completion in case the rely condition holds. Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 200
25 Examples Sacrificing tasks for more critical functionality Source: NASA Source: Magnus Manske (CC-BY 2.0) Flight Drive / Break A: DO 178c Certification Catastrophic IEC EN 61508: Safety Certification Probability for Faults per Hour (continuous operation) B: Hazardous SIL 4: PFH C: Major SIL 3: PFH Image Processing Car Entertainment D: E: Minor No Safety Effect SIL 2: PFH SIL 1: PFH Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 201
26 Examples: Autonomous Driving Lane Driving Vehicle Driver Transition Manager Intersection Handling Panhead Planner Distance Keeper Current Scene Reporter Merge Planner Lane Selector Precedence Estimator Goal Selector State Estimator Goal Selection Urmson et al., 2008, Autonomous driving in urban environments: Boss and the Urban Challenge Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 202
27 Design for Mixed Criticality Bounded interference in independent development slack How to limit the interference a low task may cause without having to rely on an analysis of this task? How to limit cross core interference in such a way? Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 203
28 Design for Mixed Criticality Catchup / Restart after dropping If the new job proceeds with fresh data anyway, prepare to discharge intermediate results of the previous job. Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 204
29 Overview Cyclic Executives Real-Time Operating Systems The Case for Virtualization Scheduling Theory 101 Real-Time Systems Correctness not only depends on computed values, but also on their timeliness. Mixed Criticality Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 205
30 The Big Picture Control Control Control Computer Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 206
31 The Big Picture Control Control Control Computer Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 207
32 Overview Introduction Mathematical Foundations (Differential Equations and Laplace Transformation) Control and Feedback Transfer Functions and State Space Models Poles, Zeros / PID Control Stability, Root Locust Method, Digital Control Mixed-Criticality Scheduling and Real-Time Operating Systems (RTOS) Coordinating Networked Cyber-Physical Systems Program Verification Differential Dynamic Logic and KeYmaera X Differential Invariants Math Physics Feedback Control RTOS CPS Verification Summer 2015 Constructing and Verifying Cyber Physical Systems - Marcus Völp 208
Introduction to Embedded Systems
Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 9/9A Fall 0 008-0: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter : Operating Systems, Microkernels,
More informationMicrokernel/OS and Real-Time Scheduling
Chapter 12 Microkernel/OS and Real-Time Scheduling Hongwei Zhang http://www.cs.wayne.edu/~hzhang/ Ack.: this lecture is prepared in part based on slides of Lee, Sangiovanni-Vincentelli, Seshia. Outline
More informationImplementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9
Implementing Scheduling Algorithms Real-Time and Embedded Systems (M) Lecture 9 Lecture Outline Implementing real time systems Key concepts and constraints System architectures: Cyclic executive Microkernel
More informationExam Review TexPoint fonts used in EMF.
Exam Review Generics Definitions: hard & soft real-time Task/message classification based on criticality and invocation behavior Why special performance measures for RTES? What s deadline and where is
More informationUNIT -3 PROCESS AND OPERATING SYSTEMS 2marks 1. Define Process? Process is a computational unit that processes on a CPU under the control of a scheduling kernel of an OS. It has a process structure, called
More informationDepartment of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW
Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW 2 SO FAR talked about in-kernel building blocks: threads memory IPC drivers
More informationWhat s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable
What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an
More informationGlobal Scheduling in Multiprocessor Real-Time Systems
Global Scheduling in Multiprocessor Real-Time Systems Alessandra Melani 1 Global vs Partitioned scheduling Single shared queue instead of multiple dedicated queues Global scheduling Partitioned scheduling
More informationCopyright Notice. COMP9242 Advanced Operating Systems S2/2014 Week 9: Real-Time Systems. Real-Time System: Definition
Copyright Notice These slides are distributed under the Creative Commons Attribution.0 License COMP94 Advanced Operating Systems S/014 Week 9: Real- Systems @GernotHeiser You are free: to share to copy,
More informationEvent-Driven Scheduling. (closely following Jane Liu s Book)
Event-Driven Scheduling (closely following Jane Liu s Book) Real-Time Systems, 2006 Event-Driven Systems, 1 Principles Assign priorities to Jobs At events, jobs are scheduled according to their priorities
More informationAnalyzing Real-Time Systems
Analyzing Real-Time Systems Reference: Burns and Wellings, Real-Time Systems and Programming Languages 17-654/17-754: Analysis of Software Artifacts Jonathan Aldrich Real-Time Systems Definition Any system
More informationScheduling Algorithm and Analysis
Scheduling Algorithm and Analysis Model and Cyclic Scheduling (Module 27) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Task Scheduling Schedule: to determine which task
More informationEmbedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Embedded Systems: OS Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Standalone Applications Often no OS involved One large loop Microcontroller-based
More informationReal Time Operating Systems and Middleware
Real Time Operating Systems and Middleware Introduction to Real-Time Systems Luca Abeni abeni@disi.unitn.it Credits: Luigi Palopoli, Giuseppe Lipari, Marco Di Natale, and Giorgio Buttazzo Scuola Superiore
More informationLecture 12: An Overview of Scheduling Theory
Lecture 12: An Overview of Scheduling Theory [RTCS Ch 8] Introduction Execution Time Estimation Basic Scheduling Approaches Static Cyclic Scheduling Fixed Priority Scheduling Rate Monotonic Analysis Earliest
More informationCEC 450 Real-Time Systems
CEC 450 Real-Time Systems Lecture 7 Review October 9, 2017 Sam Siewert Coming Next Finish Up with Recount of Mars Pathfinder and Unbounded Priority Inversion Mike Jone s Page (Microsoft) Glenn Reeves on
More informationEmbedded Systems: OS
Embedded Systems: OS Jinkyu Jeong (Jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) Standalone
More informationCSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable)
CSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable) Past & Present Have looked at two constraints: Mutual exclusion constraint between two events is a requirement that
More informationReference Model and Scheduling Policies for Real-Time Systems
ESG Seminar p.1/42 Reference Model and Scheduling Policies for Real-Time Systems Mayank Agarwal and Ankit Mathur Dept. of Computer Science and Engineering, Indian Institute of Technology Delhi ESG Seminar
More informationLecture 3. Introduction to Real-Time kernels. Real-Time Systems
Real-Time Systems Lecture 3 Introduction to Real-Time kernels Task States Generic architecture of Real-Time kernels Typical structures and functions of Real-Time kernels Last lecture (2) Computational
More informationReal-Time Systems. Real-Time Operating Systems
Real-Time Systems Real-Time Operating Systems Hermann Härtig WS 2018/19 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources Non-Real-Time
More informationCS4514 Real Time Scheduling
CS4514 Real Time Scheduling Jose M. Garrido Fall 2015 Department of Computer Science 1 Periodic Tasks Typical real-time application has many tasks that need to be executed periodically Reading sensor data
More informationIntroduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2
Introduction to Real-time Systems Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Real-time systems deliver services while meeting some timing constraints Not necessarily fast,
More informationResource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems
Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of
More informationOperating system concepts. Task scheduling
Operating system concepts Task scheduling Task scheduling (thread scheduling) Target of scheduling are ready tasks ACTIVE TASK BLOCKED TASKS PASSIVE TASKS READY TASKS Active task currently running on processor
More informationCSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.
CSC 4103 - Operating Systems Spring 2008 Lecture - XII Midterm Review Tevfik Ko!ar Louisiana State University March 4 th, 2008 1 I/O Structure After I/O starts, control returns to user program only upon
More informationReal-Time Architectures 2004/2005
Real-Time Architectures 2004/2005 Scheduling Analysis I Introduction & Basic scheduling analysis Reinder J. Bril 08-04-2005 1 Overview Algorithm and problem classes Simple, periodic taskset problem statement
More information6.1 Motivation. Fixed Priorities. 6.2 Context Switch. Real-time is about predictability, i.e. guarantees. Real-Time Systems
Real-Time Systems Summer term 2017 6.1 Motivation 6.1 Motivation Real-Time Systems 6 th Chapter Practical Considerations Jafar Akhundov, M.Sc. Professur Betriebssysteme Real-time is about predictability,
More informationSimplified design flow for embedded systems
Simplified design flow for embedded systems 2005/12/02-1- Reuse of standard software components Knowledge from previous designs to be made available in the form of intellectual property (IP, for SW & HW).
More informationPredictable Interrupt Management and Scheduling in the Composite Component-based System
Predictable Interrupt Management and Scheduling in the Composite Component-based System Gabriel Parmer and Richard West Computer Science Department Boston University Boston, MA 02215 {gabep1, richwest}@cs.bu.edu
More informationChapter 6: CPU Scheduling. Operating System Concepts 9 th Edition
Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time
More informationOperating Systems and Networks Assignment 9
Spring Term 01 Operating Systems and Networks Assignment 9 Assigned on: rd May 01 Due by: 10th May 01 1 General Operating Systems Questions a) What is the purpose of having a kernel? Answer: A kernel is
More informationTime Triggered and Event Triggered; Off-line Scheduling
Time Triggered and Event Triggered; Off-line Scheduling Real-Time Architectures -TUe Gerhard Fohler 2004 Mälardalen University, Sweden gerhard.fohler@mdh.se Real-time: TT and ET Gerhard Fohler 2004 1 Activation
More informationA Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria
A Predictable RTOS Mantis Cheng Department of Computer Science University of Victoria Outline I. Analysis of Timeliness Requirements II. Analysis of IO Requirements III. Time in Scheduling IV. IO in Scheduling
More informationEECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS
EECS 571 Principles of Real-Time Embedded Systems Lecture Note #10: More on Scheduling and Introduction of Real-Time OS Kang G. Shin EECS Department University of Michigan Mode Changes Changes in mission
More informationREAL-TIME OVERVIEW SO FAR MICHAEL ROITZSCH. talked about in-kernel building blocks:
Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW 2 SO FAR talked about in-kernel building blocks: threads memory IPC drivers
More informationFault tolerant scheduling in real time systems
tolerant scheduling in real time systems Afrin Shafiuddin Department of Electrical and Computer Engineering University of Wisconsin-Madison shafiuddin@wisc.edu Swetha Srinivasan Department of Electrical
More informationMultiprocessor and Real-Time Scheduling. Chapter 10
Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems
More informationREAL-TIME OPERATING SYSTEMS SHORT OVERVIEW
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group REAL-TIME OPERATING SYSTEMS SHORT OVERVIEW HERMANN HÄRTIG, WS 2017/18 OUTLINE Basic Variants of Real-Time Operating
More informationReal-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview
Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview 02/02/12 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources
More informationAperiodic Servers (Issues)
Aperiodic Servers (Issues) Interference Causes more interference than simple periodic tasks Increased context switching Cache interference Accounting Context switch time Again, possibly more context switches
More informationScheduling Multi-Periodic Mixed-Criticality DAGs on Multi-Core Architectures
Scheduling Multi-Periodic Mixed-Criticality DAGs on Multi-Core Architectures Roberto MEDINA Etienne BORDE Laurent PAUTET December 13, 2018 1/28 Outline Research Context Problem Statement Scheduling MC-DAGs
More informationSchedulability with resource sharing. Priority inheritance protocol Priority ceiling protocol Stack resource policy
Schedulability with resource sharing Priority inheritance protocol Priority ceiling protocol Stack resource policy 1 Lecture overview We have discussed the occurrence of unbounded priority inversion We
More informationRecap. Run to completion in order of arrival Pros: simple, low overhead, good for batch jobs Cons: short jobs can stuck behind the long ones
Recap First-Come, First-Served (FCFS) Run to completion in order of arrival Pros: simple, low overhead, good for batch jobs Cons: short jobs can stuck behind the long ones Round-Robin (RR) FCFS with preemption.
More informationScheduling of Parallel Real-time DAG Tasks on Multiprocessor Systems
Scheduling of Parallel Real-time DAG Tasks on Multiprocessor Systems Laurent George ESIEE Paris Journée du groupe de travail OVSTR - 23 mai 2016 Université Paris-Est, LRT Team at LIGM 1/53 CONTEXT: REAL-TIME
More informationCEC 450 Real-Time Systems
CEC 450 Real-Time Systems Lecture 2 Introduction Part 1 August 31, 2015 Sam Siewert So Why SW for HRT Systems? ASIC and FPGA State-Machine Solutions Offer Hardware Clocked Deterministic Solutions FPGAs
More informationReal-Time and Concurrent Programming Lecture 6 (F6): Scheduling and bounded response times
http://cs.lth.se/eda040 Real-Time and Concurrent Programming Lecture 6 (F6): Scheduling and bounded response times Klas Nilsson 2015-10-06 http://cs.lth.se/eda040 F6: Scheduling and bounded response times
More informationWhat s an Operating System? Real-Time Operating Systems. Cyclic Executive. Do I Need One? Handling an Interrupt. Interrupts
What s an Operating System? Real-Time Operating Systems Provides environment for executing programs Prof. Stephen A. Edwards Process abstraction for multitasking/concurrency Scheduling Hardware abstraction
More informationSubject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:
Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive
More informationR13 SET - 1 2. Answering the question in Part-A is compulsory 1 a) Define Operating System. List out the objectives of an operating system. [3M] b) Describe different attributes of the process. [4M] c)
More informationOverview. Sporadic tasks. Recall. Aperiodic tasks. Real-time Systems D0003E 2/26/2009. Loosening D = T. Aperiodic tasks. Response-time analysis
Overview Real-time Systems D0003E Lecture 11: Priority inversion Burns/Wellings ch. 13 (except 13.12) Aperiodic tasks Response time analysis Blocking Priority inversion Priority inheritance Priority ceiling
More informationEnriching Enea OSE for Better Predictability Support
Enriching Enea OSE for Better Predictability Support Master of Science Thesis Naveed Ul Mustafa naveedum@kth.se Stockholm, August 2011 Examiner: Ingo Sander KTH ingo@kth.se Supervisor: Mehrdad Saadatmand
More informationReal-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 Application Software
More informationLearning Outcomes. Scheduling. Is scheduling important? What is Scheduling? Application Behaviour. Is scheduling important?
Learning Outcomes Scheduling Understand the role of the scheduler, and how its behaviour influences the performance of the system. Know the difference between I/O-bound and CPU-bound tasks, and how they
More informationProcess Coordination and Shared Data
Process Coordination and Shared Data Lecture 26 In These Notes... Sharing data safely When multiple threads/processes interact in a system, new species of bugs arise 1. Compiler tries to save time by not
More informationParallel Scheduling for Cyber-Physical Systems: Analysis and Case Study on a Self-Driving Car
Parallel Scheduling for Cyber-Physical Systems: Analysis and Case Study on a Self-Driving Car Junsung Kim, Hyoseung Kim, Karthik Lakshmanan and Raj Rajkumar Carnegie Mellon University Google 2 CMU s Autonomous
More informationFinal Examination. Thursday, December 3, :20PM 620 PM. NAME: Solutions to Selected Problems ID:
CSE 237B EMBEDDED SOFTWARE, FALL 2009 PROF. RAJESH GUPTA Final Examination Thursday, December 3, 2009 5:20PM 620 PM NAME: Solutions to Selected Problems ID: Problem Max. Points Points 1 20 2 25 3 35 4
More informationCS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017
CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Outline o Process concept o Process creation o Process states and scheduling o Preemption and context switch o Inter-process communication
More informationConcurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system
Real world exposed programs Programs written to interact with the real world, outside the computer Programs handle input and output of data in pace matching the real world processes Necessitates ability
More informationReal-time operating systems and scheduling
Real-time operating systems and scheduling Problem 21 Consider a real-time operating system (OS) that has a built-in preemptive scheduler. Each task has a unique priority and the lower the priority id,
More informationMultiprocessor and Real- Time Scheduling. Chapter 10
Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors
More informationREAL-TIME VIRTUAL RESOURCES IN THE CLOUD ALOYSIUS K. MOK UNIVERSITY OF TEXAS AT AUSTIN SEPT 15, 2018
REAL-TIME VIRTUAL RESOURCES IN THE CLOUD ALOYSIUS K. MOK UNIVERSITY OF TEXAS AT AUSTIN SEPT 15, 2018 Synopsis Yesteryear - B777 AIMS Real-Time Virtual Resource Application Demo Challenges Yesteryear s
More informationWhat is the Race Condition? And what is its solution? What is a critical section? And what is the critical section problem?
What is the Race Condition? And what is its solution? Race Condition: Where several processes access and manipulate the same data concurrently and the outcome of the execution depends on the particular
More informationReal-Time Systems. Hard Real-Time Multiprocessor Scheduling
Real-Time Systems Hard Real-Time Multiprocessor Scheduling Marcus Völp WS 2015/16 Outline Introduction Terminology, Notation and Assumptions Anomalies + Impossibility Results Partitioned Scheduling (no
More informationVerification of Real-Time Systems Resource Sharing
Verification of Real-Time Systems Resource Sharing Jan Reineke Advanced Lecture, Summer 2015 Resource Sharing So far, we have assumed sets of independent tasks. However, tasks may share resources to communicate
More informationReal-Time Cache Management for Multi-Core Virtualization
Real-Time Cache Management for Multi-Core Virtualization Hyoseung Kim 1,2 Raj Rajkumar 2 1 University of Riverside, California 2 Carnegie Mellon University Benefits of Multi-Core Processors Consolidation
More informationarxiv: v2 [cs.ds] 22 Jun 2016
Federated Scheduling Admits No Constant Speedup Factors for Constrained-Deadline DAG Task Systems Jian-Jia Chen Department of Informatics, TU Dortmund University, Germany arxiv:1510.07254v2 [cs.ds] 22
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 11 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Multilevel Feedback Queue: Q0, Q1,
More informationSystemy RT i embedded Wykład 11 Systemy RTOS
Systemy RT i embedded Wykład 11 Systemy RTOS Wrocław 2013 Plan Introduction Tasks Queues Interrupts Resources Memory management Multiprocessor operation Introduction What s an Operating System? Provides
More informationIntroduction to Embedded Systems
Introduction to Embedded Systems Edward A. Lee & Sanjit Seshia UC Berkeley EECS Spring 008 Copyright 008, Edward A. Lee & Sanjit Seshia, All rights reserved Lecture 0: Scheduling Anomalies Source This
More informationA Server-based Approach for Predictable GPU Access Control
A Server-based Approach for Predictable GPU Access Control Hyoseung Kim * Pratyush Patel Shige Wang Raj Rajkumar * University of California, Riverside Carnegie Mellon University General Motors R&D Benefits
More informationOPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5
OPERATING SYSTEMS CS3502 Spring 2018 Processor Scheduling Chapter 5 Goals of Processor Scheduling Scheduling is the sharing of the CPU among the processes in the ready queue The critical activities are:
More informationCS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University
CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):
More informationImplementation Alternatives. Lecture 2: Implementation Alternatives & Concurrent Programming. Current Implementation Alternatives
Lecture 2: Implementation Alternatives & Concurrent ming Implementation Alternatives Controllers can be implemented using a number of techniques [RTCS Ch 3] Implementation Alternatives Processes and threads
More informationOverview of Scheduling a Mix of Periodic and Aperiodic Tasks
Overview of Scheduling a Mix of Periodic and Aperiodic Tasks Minsoo Ryu Department of Computer Science and Engineering 2 Naive approach Background scheduling Algorithms Under static priority policy (RM)
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 informationComparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,
Comparison of scheduling in RTLinux and QNX Andreas Lindqvist, andli299@student.liu.se Tommy Persson, tompe015@student.liu.se 19 November 2006 Abstract The purpose of this report was to learn more about
More informationOperating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy
Operating Systems Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. AL-AZHAR University Website : eaymanelshenawy.wordpress.com Email : eaymanelshenawy@yahoo.com Reference
More informationDEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year & Semester Section Subject Code Subject Name Degree & Branch : I & II : M.E : CP7204 : Advanced Operating Systems : M.E C.S.E. 1. Define Process? UNIT-1
More informationProcess Management And Synchronization
Process Management And Synchronization In a single processor multiprogramming system the processor switches between the various jobs until to finish the execution of all jobs. These jobs will share the
More informationEmbedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory
Embedded Systems 5. Operating Systems Lothar Thiele Computer Engineering and Networks Laboratory Embedded Operating Systems 5 2 Embedded Operating System (OS) Why an operating system (OS) at all? Same
More information4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd.
So far in CS4271 Functionality analysis Modeling, Model Checking Timing Analysis Software level WCET analysis System level Scheduling methods Today! erformance Validation Systems CS 4271 Lecture 10 Abhik
More informationMixed Criticality Scheduling in Time-Triggered Legacy Systems
Mixed Criticality Scheduling in Time-Triggered Legacy Systems Jens Theis and Gerhard Fohler Technische Universität Kaiserslautern, Germany Email: {jtheis,fohler}@eit.uni-kl.de Abstract Research on mixed
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 1018 L10 Synchronization Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Development project: You
More informationUniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling
Uniprocessor Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Three level scheduling 2 1 Types of Scheduling 3 Long- and Medium-Term Schedulers Long-term scheduler Determines which programs
More informationEnsuring Schedulability of Spacecraft Flight Software
Ensuring Schedulability of Spacecraft Flight Software Flight Software Workshop 7-9 November 2012 Marek Prochazka & Jorge Lopez Trescastro European Space Agency OUTLINE Introduction Current approach to
More informationDesign and Analysis of Time-Critical Systems Introduction
Design and Analysis of Time-Critical Systems Introduction Jan Reineke @ saarland university ACACES Summer School 2017 Fiuggi, Italy computer science Structure of this Course 2. How are they implemented?
More informationTasks. Task Implementation and management
Tasks Task Implementation and management Tasks Vocab Absolute time - real world time Relative time - time referenced to some event Interval - any slice of time characterized by start & end times Duration
More informationMidterm Exam Amy Murphy 19 March 2003
University of Rochester Midterm Exam Amy Murphy 19 March 2003 Computer Systems (CSC2/456) Read before beginning: Please write clearly. Illegible answers cannot be graded. Be sure to identify all of your
More informationAn application-based EDF scheduler for OSEK/VDX
An application-based EDF scheduler for OSEK/VDX Claas Diederichs INCHRON GmbH 14482 Potsdam, Germany claas.diederichs@inchron.de Ulrich Margull 1 mal 1 Software GmbH 90762 Fürth, Germany margull@1mal1.com
More informationPartitioned Fixed-Priority Scheduling of Parallel Tasks Without Preemptions
Partitioned Fixed-Priority Scheduling of Parallel Tasks Without Preemptions *, Alessandro Biondi *, Geoffrey Nelissen, and Giorgio Buttazzo * * ReTiS Lab, Scuola Superiore Sant Anna, Pisa, Italy CISTER,
More informationECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Processes and threads 1 Overview Process concept Process scheduling Thread
More informationPROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13
PROCESS SCHEDULING II CS124 Operating Systems Fall 2017-2018, Lecture 13 2 Real-Time Systems Increasingly common to have systems with real-time scheduling requirements Real-time systems are driven by specific
More informationReal-time Support in Operating Systems
Real-time Support in Operating Systems Colin Perkins teaching/2003-2004/rtes4/lecture11.pdf Lecture Outline Overview of the rest of the module Real-time support in operating systems Overview of concepts
More informationA Multi-Modal Composability Framework for Cyber-Physical Systems
S5 Symposium June 12, 2012 A Multi-Modal Composability Framework for Cyber-Physical Systems Linh Thi Xuan Phan Insup Lee PRECISE Center University of Pennsylvania Avionics, Automotive Medical Devices Cyber-physical
More informationARTIST-Relevant Research from Linköping
ARTIST-Relevant Research from Linköping Department of Computer and Information Science (IDA) Linköping University http://www.ida.liu.se/~eslab/ 1 Outline Communication-Intensive Real-Time Systems Timing
More informationEmbedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi
Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi Lecture - 20 Fundamentals of Embedded Operating Systems In today s class, we shall
More informationAnalysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation
Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation Meng Xu Linh Thi Xuan Phan Hyon-Young Choi Insup Lee Department of Computer and Information Science
More informationBack to RTOS. CSE466 Autumn 00-1
Back to RTOS Scheduling Deadline Laxity Rate Monotonic Shared Code in Multiprocessing Share Resources: Deadlock avoidance Process Synchronization and Communication Memory Management CSE466 Autumn 00-1
More informationLecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms
Operating System Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts Scheduling Criteria Scheduling Algorithms OS Process Review Multicore Programming Multithreading Models Thread Libraries Implicit
More information