24
19.1 Silberschatz, Galvin and Gagne ©2009 perating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems

Chapter 19: Real-Time Systems

  • Upload
    uttara

  • View
    85

  • Download
    1

Embed Size (px)

DESCRIPTION

Chapter 19: Real-Time Systems. 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. Objectives. To explain the timing requirements of real-time systems - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 19:  Real-Time Systems

19.1 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

Chapter 19: Real-Time Systems

Page 2: Chapter 19:  Real-Time Systems

19.2 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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

Page 3: Chapter 19:  Real-Time Systems

19.3 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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

Page 4: Chapter 19:  Real-Time Systems

19.4 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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.

Page 5: Chapter 19:  Real-Time Systems

19.5 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

System Characteristics

Single purpose

Small size

Inexpensively mass-produced

Specific timing requirements

Page 6: Chapter 19:  Real-Time Systems

19.6 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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.

Page 7: Chapter 19:  Real-Time Systems

19.7 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

Bus-Oriented System

Page 8: Chapter 19:  Real-Time Systems

19.8 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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.

Page 9: Chapter 19:  Real-Time Systems

19.9 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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

Page 10: Chapter 19:  Real-Time Systems

19.10 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

Address Translation

Page 11: Chapter 19:  Real-Time Systems

19.11 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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

Page 12: Chapter 19:  Real-Time Systems

19.12 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

Minimizing Latency

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

Page 13: Chapter 19:  Real-Time Systems

19.13 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

Interrupt Latency

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

Page 14: Chapter 19:  Real-Time Systems

19.14 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

Dispatch Latency

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

Page 15: Chapter 19:  Real-Time Systems

19.15 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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

Page 16: Chapter 19:  Real-Time Systems

19.16 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

Scheduling of tasks when P2 has a higher priority than P1

Page 17: Chapter 19:  Real-Time Systems

19.17 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

Rate 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: Chapter 19:  Real-Time Systems

19.18 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

Missed Deadlines with Rate Monotonic Scheduling

Page 19: Chapter 19:  Real-Time Systems

19.19 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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

Page 20: Chapter 19:  Real-Time Systems

19.20 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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

Page 21: Chapter 19:  Real-Time Systems

19.21 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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

Page 22: Chapter 19:  Real-Time Systems

19.22 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

VxWorks 5.0

Page 23: Chapter 19:  Real-Time Systems

19.23 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

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

Page 24: Chapter 19:  Real-Time Systems

19.24 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8th Edition

End of Chapter 19