Chapter 19: Real-Time Systems

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

Operating System: Scheduling

Comparison between scheduling algorithms in RTLinux and VxWorks

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

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

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

CPU Scheduling Outline

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

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. CPU Scheduling

Exercises : Real-time Scheduling analysis

OPERATING SYSTEMS SCHEDULING

ICS Principles of Operating Systems

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

W4118 Operating Systems. Instructor: Junfeng Yang

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

PROCESS SCHEDULING ALGORITHMS: A REVIEW

Performance Comparison of RTOS

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

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

Operating Systems Concepts: Chapter 7: Scheduling Strategies

A Comparative Study of CPU Scheduling Algorithms

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

Chapter 5 Process 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

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

Real Time Operating System for Embedded DSP Applications

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

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

CHAPTER 1 INTRODUCTION

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

Resource Reservation & Resource Servers. Problems to solve

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

Chapter 2: OS Overview

REAL TIME OPERATING SYSTEMS. Lesson-18:

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

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

Threads Scheduling on Linux Operating Systems

Linux Process Scheduling. sched.c. schedule() scheduler_tick() hooks. try_to_wake_up() ... CFS CPU 0 CPU 1 CPU 2 CPU 3

CPU Scheduling. Core Definitions

Operating System Structures

Operating Systems Lecture #6: Process Management

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

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

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

Tasks Schedule Analysis in RTAI/Linux-GPL

Processor Scheduling. Queues Recall OS maintains various queues

Hard Real-Time Linux

A Review on Load Balancing In Cloud Computing 1

Improvement of Scheduling Granularity for Deadline Scheduler

OS OBJECTIVE QUESTIONS

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

Real- Time Scheduling

Computer Science 4302 Operating Systems. Student Learning Outcomes

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

TEST CHAPTERS 1 & 2 OPERATING SYSTEMS

How To Understand And Understand An Operating System In C Programming

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

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

Operating Systems 4 th Class

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

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

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

CHAPTER 15: Operating Systems: An Overview

Mobile Operating Systems Lesson 05 Windows CE Part 1

Devices and Device Controllers

Real-Time Operating Systems.

Linux 2.4. Linux. Windows

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

Analysis and Comparison of CPU Scheduling Algorithms

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

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

Operating Systems, 6 th ed. Test Bank Chapter 7

theguard! ApplicationManager System Windows Data Collector

Embedded Systems. 6. Real-Time Operating Systems

AFDX networks. Computers and Real-Time Group, University of Cantabria

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

Programming real-time systems with C/C++ and POSIX

Linux Scheduler Analysis and Tuning for Parallel Processing on the Raspberry PI Platform. Ed Spetka Mike Kohler

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

General Objectives: On completion of this course the student should be able to:

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

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

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

CPU Shielding: Investigating Real-Time Guarantees via Resource Partitioning

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

Weighted Total Mark. Weighted Exam Mark

A Priority based Round Robin CPU Scheduling Algorithm for Real Time Systems

A LECTURE NOTE ON CSC 322 OPERATING SYSTEM I DR. S. A. SODIYA

Enhancing the Monitoring of Real-Time Performance in Linux

Java and Real Time Storage Applications

Design and Implementation of the Heterogeneous Multikernel Operating System

Scheduling Algorithms

Operating Systems. III. Scheduling.

Real-Time Operating Systems for MPSoCs

Linux O(1) CPU Scheduler. Amit Gud amit (dot) gud (at) veritas (dot) com

Real-time scheduling algorithms, task visualization

System Software and TinyAUTOSAR

Transcription:

Chapter 19: Real-Time Systems, Silberschatz, Galvin and Gagne 2009 Chapter 19: Real-Time Systems System Characteristics Features of Real-Time Systems Implementing Real-Time Operating Systems Real-Time CPU Scheduling An Example: VxWorks 5.x 19.2 Silberschatz, Galvin and Gagne 2009

Objectives 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 19.3 Silberschatz, Galvin and Gagne 2009 Overview of 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.4 Silberschatz, Galvin and Gagne 2009

System Characteristics Single purpose Small size Inexpensively mass-produced Specific timing requirements 19.5 Silberschatz, Galvin and Gagne 2009 System-on-a-Chip 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 19.6 Silberschatz, Galvin and Gagne 2009

Bus-Oriented System 19.7 Silberschatz, Galvin and Gagne 2009 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.8 Silberschatz, Galvin and Gagne 2009

Virtual Memory in Real-Time Systems 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 2009 Address Translation 19.10 Silberschatz, Galvin and Gagne 2009

Implementing Real-Time Systems In general, real-time operating systems must provide: (1) Preemptive, priority-based scheduling (2) Preemptive kernels (3) Latency must be minimized 19.11 Silberschatz, Galvin and Gagne 2009 Minimizing Latency Event latency is the amount of time from when an event occurs to when it is serviced. 19.12 Silberschatz, Galvin and Gagne 2009

Interrupt Latency Interrupt latency is the period of time from when an interrupt arrives at the CPU to when it is serviced 19.13 Silberschatz, Galvin and Gagne 2009 Dispatch Latency Dispatch latency is the amount of time required for the scheduler to stop one process and start another 19.14 Silberschatz, Galvin and Gagne 2009

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 19.15 Silberschatz, Galvin and Gagne 2009 Scheduling of tasks when P 2 has a higher priority than P 1 19.16 Silberschatz, Galvin and Gagne 2009

Rate Montonic Scheduling A priority is assigned based on the inverse of its period Shorter periods = higher priority; Longer periods = lower priority P 1 is assigned a higher priority than P 2. 19.17 Silberschatz, Galvin and Gagne 2009 Missed Deadlines with Rate Monotonic Scheduling 19.18 Silberschatz, Galvin and Gagne 2009

Earliest Deadline First Scheduling Priorities are assigned according to deadlines: the earlier the deadline, the higher the priority; the later the deadline, the lower the priority 19.19 Silberschatz, Galvin and Gagne 2009 Proportional Share Scheduling 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.20 Silberschatz, Galvin and Gagne 2009

Pthread Scheduling 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 2009 VxWorks 5.0 19.22 Silberschatz, Galvin and Gagne 2009

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) (4) shared memory and message passing interprocess communication facilities 19.23 Silberschatz, Galvin and Gagne 2009 End of Chapter 19, Silberschatz, Galvin and Gagne 2009