Top Banner
Chapter 19: Real-Time Systems Chapter 19: Real-Time Systems
24

Ch19[1] Not Included

Dec 21, 2015

Download

Documents

Shubham Mittal

OS
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ch19[1] Not Included

Chapter 19: Real-Time SystemsChapter 19: Real-Time Systems

Page 2: Ch19[1] Not Included

19.2 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Chapter 19: Real-Time SystemsChapter 19: Real-Time Systems

System Characteristics

Features of Real-Time Systems

Implementing Real-Time Operating Systems

Real-Time CPU Scheduling

VxWorks 5.x

Page 3: Ch19[1] Not Included

19.3 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

ObjectivesObjectives

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

Page 4: Ch19[1] Not Included

19.4 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Overview of Real-Time SystemsOverview 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.

Page 5: Ch19[1] Not Included

19.5 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

System CharacteristicsSystem Characteristics

Single purpose

Small size

Inexpensively mass-produced

Specific timing requirements

Page 6: Ch19[1] Not Included

19.6 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

System-on-a-ChipSystem-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.

Page 7: Ch19[1] Not Included

19.7 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Bus-Oriented SystemBus-Oriented System

Page 8: Ch19[1] Not Included

19.8 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Features of Real-Time KernelsFeatures 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.

Page 9: Ch19[1] Not Included

19.9 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Virtual Memory in Real-Time SystemsVirtual 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.

Page 10: Ch19[1] Not Included

19.10 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Address TranslationAddress Translation

Page 11: Ch19[1] Not Included

19.11 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Implementing Real-Time Implementing Real-Time Operating SystemsOperating Systems

In general, real-time operating systems must provide:

(1) Preemptive, priority-based scheduling

(2) Preemptive kernels

(3) Latency must be minimized

Page 12: Ch19[1] Not Included

19.12 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Minimizing LatencyMinimizing Latency

Event latency is the amount of time from when an event occurs to when it is serviced.

Page 13: Ch19[1] Not Included

19.13 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Interrupt LatencyInterrupt Latency

Interrupt latency is the period of time from when an interrupt arrives at the CPU to when it is serviced.

Page 14: Ch19[1] Not Included

19.14 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Dispatch LatencyDispatch Latency

Dispatch latency is the amount of time required for the scheduler to stop one process and start another.

Page 15: Ch19[1] Not Included

19.15 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Real-Time CPU SchedulingReal-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

Page 16: Ch19[1] Not Included

19.16 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Scheduling of tasks when PScheduling of tasks when P22 has a has a

higher priority than Phigher priority than P11

Page 17: Ch19[1] Not Included

19.17 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Rate Montonic SchedulingRate Montonic Scheduling

A priority is assigned based on the inverse of its period

Shorter periods = higher priority;

Longer periods = lower priority

P1 is assigned a higher priority than P2.

Page 18: Ch19[1] Not Included

19.18 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Missed Deadlines with Missed Deadlines with Rate Monotonic SchedulingRate Monotonic Scheduling

Page 19: Ch19[1] Not Included

19.19 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Earliest Deadline First SchedulingEarliest 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.

Page 20: Ch19[1] Not Included

19.20 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Proportional Share SchedulingProportional 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.

Page 21: Ch19[1] Not Included

19.21 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Pthread SchedulingPthread 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.

Page 22: Ch19[1] Not Included

19.22 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

VxWorks 5.0VxWorks 5.0

Page 23: Ch19[1] Not Included

19.23 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 1, 2005

Wind MicrokernelWind 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.

Page 24: Ch19[1] Not Included

End of Chapter 19End of Chapter 19