Chapter 19: Real-Time Systems. Overview of Real-Time Systems. Objectives. System Characteristics. Features of Real-Time Systems



Similar documents
Comparison between scheduling algorithms in RTLinux and VxWorks

Operating System: Scheduling

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

Exercises : Real-time Scheduling analysis

Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition

CPU Scheduling Outline

Processor Scheduling. Queues Recall OS maintains various queues

Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling

W4118 Operating Systems. Instructor: Junfeng Yang

Operating Systems Concepts: Chapter 7: Scheduling Strategies

OPERATING SYSTEMS SCHEDULING

Lecture 3 Theoretical Foundations of RTOS

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

CPU Scheduling. CPU Scheduling

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts

ICS Principles of Operating Systems

Chapter 5 Process Scheduling

CPU Scheduling. Core Definitions

Scheduling 0 : Levels. High level scheduling: Medium level scheduling: Low level scheduling

Performance Comparison of RTOS

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d

Module 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1

Konzepte von Betriebssystem-Komponenten. Linux Scheduler. Valderine Kom Kenmegne Proseminar KVBK Linux Scheduler Valderine Kom

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Hard Real-Time Linux

Real- Time Scheduling

CPU Scheduling. CSC 256/456 - Operating Systems Fall TA: Mohammad Hedayati

Threads Scheduling on Linux Operating Systems

PROCESS SCHEDULING ALGORITHMS: A REVIEW

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

Process Scheduling CS 241. February 24, Copyright University of Illinois CS 241 Staff

REAL TIME OPERATING SYSTEMS. Lesson-10:

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1

Operating Systems Lecture #6: Process Management

CHAPTER 15: Operating Systems: An Overview

Operating Systems. III. Scheduling.

Computer Science 4302 Operating Systems. Student Learning Outcomes

CPU Scheduling. Multitasking operating systems come in two flavours: cooperative multitasking and preemptive multitasking.

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Improvement of Scheduling Granularity for Deadline Scheduler

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

Operating System Structures

System Software and TinyAUTOSAR

Linux 2.4. Linux. Windows

Quality of Service su Linux: Passato Presente e Futuro

Weighted Total Mark. Weighted Exam Mark

Real Time Operating System for Embedded DSP Applications

A Comparative Study of CPU Scheduling Algorithms

Operating Systems, 6 th ed. Test Bank Chapter 7

Module 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Predictable response times in event-driven real-time systems

/ Operating Systems I. Process Scheduling. Warren R. Carithers Rob Duncan

Process Scheduling. Process Scheduler. Chapter 7. Context Switch. Scheduler. Selection Strategies

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

What is best for embedded development? Do most embedded projects still need an RTOS?

Today. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons

Chapter 2: OS Overview

W4118 Operating Systems. Instructor: Junfeng Yang

Resource Reservation & Resource Servers. Problems to solve

4. Fixed-Priority Scheduling

Real-Time Operating Systems.

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010

Real-Time Operating Systems for MPSoCs

Process Description and Control william stallings, maurizio pizzonia - sistemi operativi

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Tasks Schedule Analysis in RTAI/Linux-GPL

Real-time Operating Systems. VO Embedded Systems Engineering Armin Wasicek

Main Points. Scheduling policy: what to do next, when there are multiple threads ready to run. Definitions. Uniprocessor policies

A Group based Time Quantum Round Robin Algorithm using Min-Max Spread Measure

OS OBJECTIVE QUESTIONS

Operating System Aspects. Real-Time Systems. Resource Management Tasks

Embedded Systems. 6. Real-Time Operating Systems

Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5

Enhancing the Monitoring of Real-Time Performance in Linux

Announcements. Basic Concepts. Histogram of Typical CPU- Burst Times. Dispatcher. CPU Scheduler. Burst Cycle. Reading

Overview of the Linux Scheduler Framework

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Operating Systems 4 th Class

Common Approaches to Real-Time Scheduling

The Design and Implementation of Real-Time Schedulers in RED-Linux

Mobile Operating Systems Lesson 05 Windows CE Part 1

CPUInheritance Scheduling. UniversityofUtah

Real-Time Scheduling Strategy for Wireless Sensor Networks O.S

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

Linux scheduler history. We will be talking about the O(1) scheduler

Devices and Device Controllers

A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis

A Review on Load Balancing In Cloud Computing 1

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.

Introduction. Scheduling. Types of scheduling. The basics

Real Time Operating Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches / /13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1

Transcription:

Chapter 19: Real-Time Systems System Characteristics Features of Real-Time Systems Chapter 19: Real-Time Systems Implementing Real-Time Operating Systems Real-Time CPU Scheduling VxWorks 5.x 19.2 Silberschatz, Galvin and Gagne 2005 Objectives Overview of Real-Time Systems To explain the timing requirements of real-time systems To distinguish between hard and soft real-time systems To discuss the defining characteristics of real-time systems To describe scheduling algorithms for hard real-time systems A real-time system requires that results be produced within a specified deadline period. An embedded system is a computing device that is part of a larger system (I.e. automobile, airliner.) A safety-critical system is a real-time system with catastrophic results in case of failure. A hard real-time system guarantees that real-time tasks be completed within their required deadlines. A soft real-time system provides priority of real-time tasks over non real-time tasks. 19.3 Silberschatz, Galvin and Gagne 2005 19.4 Silberschatz, Galvin and Gagne 2005

System Characteristics System-on on-a-chip Single purpose Small size Inexpensively mass-produced Many real-time systems are designed using system-on-a-chip (SOC) strategy. SOC allows the CPU, memory, memory-management unit, and attached peripheral ports (I.e. USB) to be contained in a single integrated circuit. Specific timing requirements 19.5 Silberschatz, Galvin and Gagne 2005 19.6 Silberschatz, Galvin and Gagne 2005 Bus-Oriented System Features of Real-Time Kernels Most real-time systems do not provide the features found in a standard desktop system. Reasons include Real-time systems are typically single-purpose. Real-time systems often do not require interfacing with a user. Features found in a desktop PC require more substantial hardware that what is typically available in a real-time system. 19.7 Silberschatz, Galvin and Gagne 2005 19.8 Silberschatz, Galvin and Gagne 2005

Virtual Memory in Real-Time Systems Address Translation Address translation may occur via: (1) Real-addressing mode where programs generate actual addresses. (2) Relocation register mode. (3) Implementing full virtual memory. 19.9 Silberschatz, Galvin and Gagne 2005 19.10 Silberschatz, Galvin and Gagne 2005 Implementing Real-Time Operating Systems In general, real-time operating systems must provide: Minimizing Latency Event latency is the amount of time from when an event occurs to when it is serviced. (1) Preemptive, priority-based scheduling (2) Preemptive kernels (3) Latency must be minimized 19.11 Silberschatz, Galvin and Gagne 2005 19.12 Silberschatz, Galvin and Gagne 2005

Interrupt Latency Dispatch Latency Interrupt latency is the period of time from when an interrupt arrives at the CPU to when it is serviced. Dispatch latency is the amount of time required for the scheduler to stop one process and start another. 19.13 Silberschatz, Galvin and Gagne 2005 19.14 Silberschatz, Galvin and Gagne 2005 Real-Time CPU Scheduling Periodic processes require the CPU at specified intervals (periods) p is the duration of the period d is the deadline by when the process must be serviced t is the processing time Scheduling of tasks when P 2 has a higher priority than P 1 19.15 Silberschatz, Galvin and Gagne 2005 19.16 Silberschatz, Galvin and Gagne 2005

Rate Montonic Scheduling A priority is assigned based on the inverse of its period Shorter periods = higher priority; Longer periods = lower priority Missed Deadlines with Rate Monotonic Scheduling P 1 is assigned a higher priority than P 2. 19.17 Silberschatz, Galvin and Gagne 2005 19.18 Silberschatz, Galvin and Gagne 2005 Earliest Deadline First Scheduling Proportional Share Scheduling Priorities are assigned according to deadlines: the earlier the deadline, the higher the priority; the later the deadline, the lower the priority. T shares are allocated among all processes in the system. An application receives N shares where N < T. This ensures each application will receive N / T of the total processor time. 19.19 Silberschatz, Galvin and Gagne 2005 19.20 Silberschatz, Galvin and Gagne 2005

Pthread Scheduling VxWorks 5.0 The Pthread API provides functions for managing real-time threads. Pthreads defines two scheduling classes for real-time threads: (1) SCHED_FIFO - threads are scheduled using a FCFS strategy with a FIFO queue. There is no time-slicing for threads of equal priority. (2) SCHED_RR - similar to SCHED_FIFO except time-slicing occurs for threads of equal priority. 19.21 Silberschatz, Galvin and Gagne 2005 19.22 Silberschatz, Galvin and Gagne 2005 Wind Microkernel The Wind microkernel provides support for the following: (1) Processes and threads; (2) preemptive and non-preemptive round-robin scheduling; (3) manages interrupts (with bounded interrupt and dispatch latency times); End of Chapter 19 (4) shared memory and message passing interprocess communication facilities. 19.23 Silberschatz, Galvin and Gagne 2005