Constructing and Verifying Cyber Physical Systems

Size: px
Start display at page:

Download "Constructing and Verifying Cyber Physical Systems"

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 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 information

Microkernel/OS and Real-Time Scheduling

Microkernel/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 information

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Implementing 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 information

Exam Review TexPoint fonts used in EMF.

Exam 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 information

UNIT -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 information

Department 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 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 information

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

What 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 information

Global Scheduling in Multiprocessor Real-Time Systems

Global 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 information

Copyright Notice. COMP9242 Advanced Operating Systems S2/2014 Week 9: Real-Time Systems. Real-Time System: Definition

Copyright 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 information

Event-Driven Scheduling. (closely following Jane Liu s Book)

Event-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 information

Analyzing Real-Time Systems

Analyzing 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 information

Scheduling Algorithm and Analysis

Scheduling 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 information

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Embedded 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 information

Real Time Operating Systems and Middleware

Real 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 information

Lecture 12: An Overview of Scheduling Theory

Lecture 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 information

CEC 450 Real-Time Systems

CEC 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 information

Embedded Systems: OS

Embedded 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 information

CSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable)

CSL373: 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 information

Reference Model and Scheduling Policies for Real-Time Systems

Reference 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 information

Lecture 3. Introduction to Real-Time kernels. Real-Time Systems

Lecture 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 information

Real-Time Systems. Real-Time Operating Systems

Real-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 information

CS4514 Real Time Scheduling

CS4514 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 information

Introduction 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 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 information

Resource-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 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 information

Operating system concepts. Task scheduling

Operating 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 information

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.

CSC 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 information

Real-Time Architectures 2004/2005

Real-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 information

6.1 Motivation. Fixed Priorities. 6.2 Context Switch. Real-time is about predictability, i.e. guarantees. Real-Time Systems

6.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 information

Simplified design flow for embedded systems

Simplified 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 information

Predictable Interrupt Management and Scheduling in the Composite Component-based System

Predictable 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 information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 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 information

Operating Systems and Networks Assignment 9

Operating 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 information

Time Triggered and Event Triggered; Off-line Scheduling

Time 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 information

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

A 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 information

EECS 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 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 information

REAL-TIME OVERVIEW SO FAR MICHAEL ROITZSCH. talked about in-kernel building blocks:

REAL-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 information

Fault tolerant scheduling in real time systems

Fault 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 information

Multiprocessor and Real-Time Scheduling. Chapter 10

Multiprocessor 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 information

REAL-TIME OPERATING SYSTEMS SHORT OVERVIEW

REAL-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 information

Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview

Real-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 information

Aperiodic Servers (Issues)

Aperiodic 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 information

Scheduling Multi-Periodic Mixed-Criticality DAGs on Multi-Core Architectures

Scheduling 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 information

Schedulability 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 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 information

Recap. 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. 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 information

Scheduling of Parallel Real-time DAG Tasks on Multiprocessor Systems

Scheduling 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 information

CEC 450 Real-Time Systems

CEC 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 information

Real-Time and Concurrent Programming Lecture 6 (F6): Scheduling and bounded response times

Real-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 information

What 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. 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 information

Subject 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: 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 information

R13 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 information

Overview. Sporadic tasks. Recall. Aperiodic tasks. Real-time Systems D0003E 2/26/2009. Loosening D = T. Aperiodic tasks. Response-time analysis

Overview. 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 information

Enriching Enea OSE for Better Predictability Support

Enriching 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 information

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

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 Application Software

More information

Learning Outcomes. Scheduling. Is scheduling important? What is Scheduling? Application Behaviour. Is scheduling important?

Learning 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 information

Process Coordination and Shared Data

Process 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 information

Parallel 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 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 information

Final Examination. Thursday, December 3, :20PM 620 PM. NAME: Solutions to Selected Problems ID:

Final 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 information

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 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 information

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system

Concurrent 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 information

Real-time operating systems and scheduling

Real-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 information

Multiprocessor and Real- Time Scheduling. Chapter 10

Multiprocessor 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 information

REAL-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 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 information

What 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? 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 information

Real-Time Systems. Hard Real-Time Multiprocessor Scheduling

Real-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 information

Verification of Real-Time Systems Resource Sharing

Verification 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 information

Real-Time Cache Management for Multi-Core Virtualization

Real-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 information

arxiv: v2 [cs.ds] 22 Jun 2016

arxiv: 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 information

CS370 Operating Systems

CS370 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 information

Systemy RT i embedded Wykład 11 Systemy RTOS

Systemy 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 information

Introduction to Embedded Systems

Introduction 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 information

A Server-based Approach for Predictable GPU Access Control

A 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 information

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

OPERATING 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 information

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

CS 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 information

Implementation Alternatives. Lecture 2: Implementation Alternatives & Concurrent Programming. Current Implementation Alternatives

Implementation 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 information

Overview of Scheduling a Mix of Periodic and Aperiodic Tasks

Overview 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 information

Embedded Systems. 6. Real-Time Operating Systems

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

More information

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,

Comparison 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 information

Operating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy

Operating 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 information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1

DEPARTMENT 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 information

Process Management And Synchronization

Process 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 information

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory

Embedded 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 information

4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd.

4/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 information

Mixed Criticality Scheduling in Time-Triggered Legacy Systems

Mixed 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 information

CS370 Operating Systems

CS370 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 information

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

Uniprocessor 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 information

Ensuring Schedulability of Spacecraft Flight Software

Ensuring 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 information

Design and Analysis of Time-Critical Systems Introduction

Design 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 information

Tasks. Task Implementation and management

Tasks. 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 information

Midterm Exam Amy Murphy 19 March 2003

Midterm 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 information

An application-based EDF scheduler for OSEK/VDX

An 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 information

Partitioned Fixed-Priority Scheduling of Parallel Tasks Without Preemptions

Partitioned 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 information

ECE 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 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 information

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13

PROCESS 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 information

Real-time Support in Operating Systems

Real-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 information

A Multi-Modal Composability Framework for Cyber-Physical Systems

A 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 information

ARTIST-Relevant Research from Linköping

ARTIST-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 information

Embedded 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 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 information

Analysis 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 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 information

Back to RTOS. CSE466 Autumn 00-1

Back 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 information

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms

Lecture 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