For a good summary, visit:

Slides:



Advertisements
Similar presentations
Real Time Scheduling.
Advertisements

EE5900 Advanced Embedded System For Smart Infrastructure
A Sample RTOS Presentation 4 Group A4: Sean Hudson, Manasi Kapadia Syeda Taib.
COSC 513 Operating Systems Yue Dou
1 Multiprocessor and Real-Time Scheduling Chapter 10.
Real-Time Scheduling CIS700 Insup Lee October 3, 2005 CIS 700.
Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by.
Real Time Operating Systems
1 Multiprocessor and Real-Time Scheduling Chapter 10.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
Project 2 – solution code
CS 3013 & CS 502 Summer 2006 Scheduling1 The art and science of allocating the CPU and other resources to processes.
Multiprocessor and Real-Time Scheduling Chapter 10.
5: CPU-Scheduling1 Jerry Breecher OPERATING SYSTEMS SCHEDULING.
1 Scheduling in Representative Operating Systems.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CprE 458/558: Real-Time Systems
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
Chapter 10 Multiprocessor and Real-Time Scheduling
Multiprocessor and Real-Time Scheduling
CPU Scheduling Chapter 6 Chapter 6.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 5 Operating Systems.
Operating System Concepts and Techniques Lecture 5 Scheduling-1 M. Naghibzadeh Reference M. Naghibzadeh, Operating System Concepts and Techniques, First.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
More Scheduling cs550 Operating Systems David Monismith.
MM Process Management Karrie Karahalios Spring 2007 (based off slides created by Brian Bailey)
Chapter 10 Multiprocessor and Real-Time Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Chapter 6 Scheduling. Basic concepts Goal is maximum utilization –what does this mean? –cpu pegged at 100% ?? Most programs are I/O bound Thus some other.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Scheduling policies for real- time embedded systems.
Chapter 10 Multiprocessor and Real-Time Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
Page 1 2P13 Week 9. Page 2 Table 9.2 Scheduling Criteria User Oriented, Performance Related Turnaround time This is the interval of time between the submission.
Multiprocessor and Real-Time Scheduling Chapter 10.
Multiprocessor and Real-Time Scheduling
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
Real Time Scheduling Telvis Calhoun CSc Outline Introduction Real-Time Scheduling Overview Tasks, Jobs and Schedules Rate/Deadline Monotonic Deferrable.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 31 – Multimedia OS (Part 1) Klara Nahrstedt Spring 2011.
ICOM Noack Scheduling For Distributed Systems Classification – degree of coupling Classification – granularity Local vs centralized scheduling Methods.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Real-Time Scheduling CS 3204 – Operating Systems Lecture 20 3/3/2006 Shahrooz Feizabadi.
2.5 Scheduling Given a multiprogramming system. Given a multiprogramming system. Many times when more than 1 process is waiting for the CPU (in the ready.
Undergraduate course on Real-time Systems Linköping 1 of 45 Autumn 2009 TDDC47: Real-time and Concurrent Programming Lecture 5: Real-time Scheduling (I)
RTOS task scheduling models
Page 1 2P13 Week 10. Page 2 Page 3 Static table-driven approaches performs a static analysis of feasible schedules of dispatching result is a schedule.
Group no.2 Presented to : Eng.Ahmed Hassan Sunday, March 04,2012.
Real-Time Scheduling CS 3204 – Operating Systems Lecture 13 10/3/2006 Shahrooz Feizabadi.
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
2.5 Scheduling. Given a multiprogramming system, there are many times when more than 1 process is waiting for the CPU (in the ready queue). Given a multiprogramming.
Real time scheduling G.Anuradha Ref:- Stallings. Real time computing Correctness of the system depends not only on the logical result of computation,
Introduction to Embedded Systems Rabie A. Ramadan 5.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 31 – Process Management (Part 1) Klara Nahrstedt Spring 2009.
CS333 Intro to Operating Systems Jonathan Walpole.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 32 – Multimedia OS Klara Nahrstedt Spring 2010.
Real-Time Operating Systems RTOS For Embedded systems.
Principles of Operating Systems Lecture 16 Abhishek Dubey Daniel Balasubramanian Real Time Scheduling Fall 2014.
Embedded System Scheduling
Multiprocessor, Multicore, and Real-Time Scheduling Chapter 10
Chapter 8 – Processor Scheduling
Lecture 24: Process Scheduling Examples and for Real-time Systems
Realtime Scheduling Algorithms
TDC 311 Process Scheduling.
CPU SCHEDULING.
Multiprocessor and Real-Time Scheduling
CS703 - Advanced Operating Systems
CS703 - Advanced Operating Systems
Chapter 6: CPU Scheduling
Presentation transcript:

For a good summary, visit: Real-Time Scheduling Module 3.2 For a good summary, visit: http://www.cs.uah.edu/~weisskop/osnotes_html/M8.html

Characteristics of Real-Time Operating Systems A key characteristic is the variability or jitter. i.e., level of its consistency concerning the amount of time it takes to accept and complete an application's task A hard real-time operating system has less jitter than a soft real-time operating system. The chief design goal is not high throughput, but rather a guarantee of a soft or hard performance category. A real-time OS that can usually or generally meet a deadline is a soft real-time OS, but if can meet a deadline deterministically it is a hard real-time OS.

Characteristics of Real-Time Operating Systems Responsiveness/Predictability How long, after acknowledgment, it takes the operating system to service the interrupt Includes amount of time to begin execution of the interrupt Includes the amount of time to perform the interrupt The effect of interrupt nesting will introduce more delays Keep interrupt handling and context switching to minimal. In some RTOS, disable interrupts altogether.

Characteristics of Real-Time Operating Systems User Control User control in non-RTOS has no or limited control (say scheduling function and priority) User control in RTOS may include: User specifies priority User task priority can be higher than priority of system tasks Specify paging or not for a process What processes must always reside in main memory Disks algorithms to use Rights of processes

Characteristics of Real-Time Operating Systems Reliability Rebooting is unacceptable way of handling failures. Degradation of performance may have catastrophic consequences (financial loss or loss of life.) When there is a failure, a core dump is not acceptable. RTOS attempt either to correct the problem or minimize its effects while continuing to run Most critical, high priority tasks must always be met. Stability issue.

Features of Real-Time Operating Systems Fast context switch Small size with minimal functionality Ability to respond to external interrupts quickly Multitasking with IPC primitives such as semaphores, signals, and events Preemptive scheduling base on priority Minimization of intervals during which interrupts are disabled Delay tasks for fixed amount of time

RT Scheduler The heart of RTOS is the short term scheduler. What is important is meeting the deadline of hard RT tasks and the completion of as many soft RT tasks as possible. Issues like fairness, minimizing turnaround time, etc are not that important. Military aircraft requires time constraints in the range of 10 to 100 microseconds.

RT Scheduling RTOS schedulers must be able to guarantee that a process will complete by its required deadline. Failure leads to catastrophe; late execution is no better than no execution. One criteria is that the execution time of all processes (including operating system processes) be predictable. When a new task arrives, the system can decide whether or not it can be guaranteed. Scheduling algorithms can use static or dynamic techniques. When combined with traditional scheduling notions of preemption and priority, several classes of algorithms result

Scheduling of a Real-Time Process

Scheduling of a Real-Time Process

Scheduling of a Real-Time Process

Scheduling of a Real-Time Process

Real-Time Scheduling Approaches Static table-driven can be developed when tasks are periodic, and have a known duration. Execution schedule can be planned off-line. Of course such systems have little or no ability to respond to unexpected events. Predictable but inflexible (change to any task means redoing the schedule.) EDF is an example Static priority-driven preemptive assigns static priorities off-line and then applies them in some form of preemptive priority scheduler. Traditional priority-driven scheduler is used Priority is based on time constraints Rate monotonic scheduling (RMS) is an example. Dynamic planning-based tries to build achievable schedules on the fly, i.e. feasibility analysis. When a new task arrives, the system tries to fit it into the existing schedule. If this can be done, and all deadlines can still be met, the task will be accepted. Dynamic best effort No feasibility analysis. Admit every process Commercially available, it is easy to implement System assigns priority to the task when it arrives Does not guarantee meeting deadlines

Deadline Scheduling Real-time applications are not concerned with speed but with completing or starting tasks Scheduling tasks with the earliest deadline minimized the fraction of tasks that miss their deadlines

Deadline Scheduling Information used Ready time Periodic times are examples Starting deadline Completion deadline Usually either starting or completion deadline Processing time Either supplied or exponentially estimated Resource requirements Priority Hard vs. soft RT task Subtask scheduler Some tasks have a mandatory and optional subtasks. Only mandatory subtask possesses a hard deadline.

Two Tasks A runs every 20ms for 10ms, and B runs every 50ms for 25ms. The system can do a scheduling decision every 10ms.

Execution time of each task is 20ms.

Rate Monotonic Scheduling Assigns priorities to tasks on the basis of their periods Highest-priority task is the one with the shortest period

Periodic Task Timing Diagram

Features of RMS Widely adopted for use in industrial applications. Utilization as high as 90% is often achieved. Adjustment of priority is easily achieved by making the task periods shorter. This is done whenever task starts missing its deadline.