Chapter 19: Real-Time Systems. Operating System Concepts 8 th Edition,

Similar documents
Chapter 5: CPU Scheduling. Operating System Concepts 9 th Edit9on

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)

CSE 4/521 Introduction to Operating Systems

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

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

Chapter 6: CPU Scheduling

Properties of Processes

Chapter 5: Process Scheduling

8: Scheduling. Scheduling. Mark Handley

CS370 Operating Systems

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

Chapter 6: CPU Scheduling

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

Practice Exercises 305

CPU Scheduling (Part II)

Chapter 6: CPU Scheduling

Titolo presentazione. Scheduling. sottotitolo A.Y Milano, XX mese 20XX ACSO Tutoring MSc Eng. Michele Zanella

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

So far. Next: scheduling next process from Wait to Run. 1/31/08 CSE 30341: Operating Systems Principles

A comparison between the scheduling algorithms used in RTLinux and in VxWorks - both from a theoretical and a contextual view

Operating System Concepts Ch. 5: Scheduling

Chapter 6: CPU Scheduling

Chapter 5: CPU Scheduling

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! ANALYZE!!!

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

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

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

Multiprocessor and Real-Time Scheduling. Chapter 10

1.1 CPU I/O Burst Cycle

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

3. CPU Scheduling. Operating System Concepts with Java 8th Edition Silberschatz, Galvin and Gagn

Input/Output Systems

Process- Concept &Process Scheduling OPERATING SYSTEMS

Two Real-Time Operating Systems and Their Scheduling Algorithms: QNX vs. RTLinux

CS370 Operating Systems

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

Preview. Process Scheduler. Process Scheduling Algorithms for Batch System. Process Scheduling Algorithms for Interactive System

Scheduling. CSC400 - Operating Systems. 7: Scheduling. J. Sumey. one of the main tasks of an OS. the scheduler / dispatcher

CPU Scheduling: Objectives

CS370 Operating Systems

Multiprocessor and Real- Time Scheduling. Chapter 10

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

Scheduling. Scheduling. Scheduling. Scheduling Criteria. Priorities. Scheduling

NuttX Realtime Programming

CPU Scheduling Algorithms

Frequently asked questions from the previous class survey

Comparison of soft real-time CPU scheduling in Linux kernel 2.6 series with Solaris 10

Chapter 20: Multimedia Systems

Chapter 20: Multimedia Systems. Operating System Concepts 8 th Edition,

Zilog Real-Time Kernel

ALL the assignments (A1, A2, A3) and Projects (P0, P1, P2) we have done so far.

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

CS370 Operating Systems

Multimedia Systems 2011/2012

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College

by Maria Lima Term Paper for Professor Barrymore Warren Mercy College Division of Mathematics and Computer Information Science

Chapter 5: CPU Scheduling

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1

CPU Scheduling. Basic Concepts. Histogram of CPU-burst Times. Dispatcher. CPU Scheduler. Alternating Sequence of CPU and I/O Bursts

INF1060: Introduction to Operating Systems and Data Communication. Pål Halvorsen. Wednesday, September 29, 2010

Processes and Threads

Introduction to Computers and Programming


Assignment 3 (Due date: Thursday, 10/15/2009, in class) Part One: Provide brief answers to the following Chapter Exercises questions:

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

Process Scheduling. Copyright : University of Illinois CS 241 Staff

The University of Missouri - Columbia Electrical & Computer Engineering Department ECE4220 Real-Time Embedded Computing

TDIU25: Operating Systems II. Processes, Threads and Scheduling

Chapter 5: CPU Scheduling

Semaphore. Originally called P() and V() wait (S) { while S <= 0 ; // no-op S--; } signal (S) { S++; }

CS418 Operating Systems

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Processes and Threads

Scheduling of processes

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

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter

Real-Time Systems. Real-Time Operating Systems

COSC243 Part 2: Operating Systems

Scheduling. Scheduling 1/51

Lecture 17: Threads and Scheduling. Thursday, 05 Nov 2009

Uniprocessor Scheduling. Aim of Scheduling

Uniprocessor Scheduling. Aim of Scheduling. Types of Scheduling. Long-Term Scheduling. Chapter 9. Response time Throughput Processor efficiency

Operating Systems Unit 3

CS307: Operating Systems

Chapter 13: I/O Systems

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial)

Chapter -5 QUALITY OF SERVICE (QOS) PLATFORM DESIGN FOR REAL TIME MULTIMEDIA APPLICATIONS

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018

Chapter 4: Threads. Chapter 4: Threads

Comparison of scheduling in RTLinux and RT-Mach Fredrik Löfgren frelo305 Dan Persson danpe454

Frequently asked questions from the previous class survey

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013

Chapter 5 CPU scheduling

Four Components of a Computer System. Operating System Concepts 7 th Edition, Jan 12, 2005

Chapter 5 Process Scheduling

CS4514 Real Time Scheduling

CPU scheduling. Alternating sequence of CPU and I/O bursts. P a g e 31

OPERATING SYSTEMS. COMS W1001 Introduction to Information Science. Boyi Xie

10 th AUTOSAR Open Conference

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