1
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze
Unit OS9: Real-Time and Embedded Systems
9.1. Introduction and Vocabulary
3
Roadmap for Section 9.1 Introduction and Vocabulary Performance - - PDF document
Unit OS9: Real-Time and Embedded Systems 9.1. Introduction and Vocabulary Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Roadmap for Section 9.1 Introduction and Vocabulary Performance
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze
3
4
5
Do all tasks have to be executed before their deadline? (not necessarily) Sometimes “yes”: flight control in an aircraft Sometimes “no”: Multimedia-App.
How to decide whether a task has been (completely) executed? Relatively simple: bank transaction Impossible: Computation of π
Terminate or run to completion? Aircraft accident vs. Videoconference
6
Value deadline Value deadline Value deadline
7
8
9
10
11
12
13
A B A
A preempted A resumed A completed
tA1 tA2
14
Controlled process Sensors Job list Clock Trigger generator Execution Display Actuators Operator Environment
15
Sensor and actuator layer Peripheral area Central cluster
16
17
Processor Architecture Network Architecture Architectures for Clock Synchronization Fault-tolerance and Reliability Evaluation
Task Assignment and Scheduling Communication Protocols Failure Management and Recovery Clock Synchronization Algorithms
Programming Languages Databases Performance Measures
18
consumes resources (cpu, memory, input data) produces results
19
20
21
22
preemptive
bookkeeping
disk write
23
24
25
26
27
28
29
30
31
32
NORMAL TIME_CRITICAL
Time TL locks resource TH starts, request resource TH continues to completion TL is boosted until it frees resource TL runs as scheduled
33
34
In addition, the OS behavior must be predictable. This means real-time system developers must have detailed information about the system interrupt levels, system calls, and timing:
The maximum time during which interrupts are masked by the OS and by device drivers must be known. The maximum time that device drivers use to process an interrupt, and specific IRQ information relating to those device drivers, must be known. The interrupt latency (the time from interrupt to task run) must be predictable and compatible with application requirements.
35