Beruflich Dokumente
Kultur Dokumente
Lecture 1: Introduction
Course Outline
Design Methodologies
Scheduling Theory
Schedulability Analysis
Verification
References
Book:
Outline
Typical Real-Time
Applications
Digital Controllers
High-Level Controllers
Automotive Controllers
Industrial Automation
Command and Control Systems
Air Traffic Control Systems
Avionic Systems
Signal Processing
Real-Time Databases and Multimedia
Digital Controller
Controller
Reference
Input
A/D
Control-Law
Computation
D/A
A/D
Sensor
Plant
Actuator
Task Controller
VT
Gateway
Bridge
Hitch
Tractor Bus
Implement
Node
Tractor to
Implement
Bridge
GPS
Engine
Target Vehicles
CDA
Transponder
Autopilot
GPS
TA/AS
44
44
Transponder
CDA
Autopilot
44
2282
TA/AS
GPS
Engine
Controller #1
Engine
Controller #2
Rudder
Controller
Rudder
Pump
System
Controller
(King)
Instrument
Cluster #1
Instruments,
Switches, Lights
Instrument
Cluster #2
Instruments,
Switches, Lights
Fiber
to
TP
Lights
GPS
xponder
Throttle
Pitch, Roll
Heading
Windspeed
Pitch,Roll,
& Heading
Windbird
Mather
Throttle
Optically
Isolated RS-232
RAM
FLASH
CAN Choke
CAN
Transceiver
Optically
Isolated I/O
Fiber Optic
Transceivers
Extra CAN
Controller
(SJA1000)
uController
Target System
Compiler, Debugger,
Loader, Simulator,
Shell, vxSim, etc.
Application Tasks
WinNT OS
(or Solaris)
Real-Time OS (pOSEK)
Input
Output
Hardware (C167CR)
RS-232
Ethernet
Pentium PC
(SUN workstation)
Timer
interrupt
System calls
(trap)
Interrupt
dispatch
Interrupt
service
Scheduler
kernel
Task
execution
Outline
Definitions
Deadlines
Value of Result
Hard Real-Time System
Soft Real-Time System
deadline
time
Task Model
Event-Driven Task
Arrival Time
Deadline
Execution Time
Slack Time
Minimum Interarrival Time
Actual Interarrival Time
Time-Driven Task
Scheduled Start Time
Deadline
Execution Time
Slack Time
Period
Scheduler
Assumptions
Feasible Schedule
Timing Constraints
Periodic Task
Example #1
- assume priority-driven scheduling
Task
Period
Deadline Run-Time Phase
i
Ti
Di
Ci
i
--------------------------------------------------------------------A (High Priority) 2
2
1
4
B (Low Priority) 5
5
1
0
A
B
0
4 5
10
15
Example #2
Task
Period
Deadline Run-Time Phase
i
Ti
Di
Ci
i
--------------------------------------------------------------------A (Low Priority) 2
2
1
4
(High
B Priority)
5
5
1
0
A
B
0
4 5
10
15
Example #3
Task
Period
Deadline Run-Time Phase
i
Ti
Di
Ci
i
--------------------------------------------------------------------A (High Priority) 2
2
1
0
B (Low Priority) 5
5
2
0
A
B
0
4 5
10
15
Example #4
Task
Period
Deadline Run-Time Phase
i
Ti
Di
Ci
i
--------------------------------------------------------------------A (Low Priority) 2
2
1
0
(High
B Priority) 5
5
2
0
A
B
0
4 5
10
15
Example #5
Task
Period
Deadline Run-Time Phase
i
Ti
Di
Ci
i
--------------------------------------------------------------------A
2
2
1
0
B
5
5
2.1
0
U = C1 / T1 + C2 / T2 = 1 / 2 + 2.1 / 5 = 0.92
Even if U < 1, a task set may not be schedulable
using fixed priority scheduling.
Observations
Outline
System Characterization
Real-Time Scheduling
Priority-Driven Scheduling
Algorithms for Periodic Tasks
According to periods ( Ti )
Other
Types of Scheduling
Algorithms
Static Scheduling
Dynamic Scheduling
processor utilization
throughput
weighted sum of task completion times
schedule length
number of processors required
maximum lateness
missed deadlines
d3
d2
T1
T2
T3
d4
T4
d5
T5
T3
T4
T5
T1
Missed Deadlines