19.1 silberschatz, galvin and gagne ©2009 operating system concepts with java – 8 th edition...

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

Upload: wilfred-norton

Post on 19-Jan-2016

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems

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

Bus-Oriented System

Page 8: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems

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

Address Translation

Page 11: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems

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

VxWorks 5.0

Page 23: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition 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: 19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems

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

End of Chapter 19