Implementation ofReal-Time Systems
Real-Time Requirements
How do processors deal with such constraints?
How do processors deal with such constraints?
How do processors deal with such constraints?
Example: Interval Timers in Solaris
Example: Interval Timers in Solaris
Example: More Interval Timers in Solaris
Example: More Interval Timers in Solaris
Example microprocessor widely-used for real-time Intel 8051 (MCS-51 family)
Intel 8051
Intel 8051
Intel 8051Interrupt Sequence
Intel 8051
Real-Time Operating Systems
Real-Time Operating Systems
Requirements for RTOS’s
Examples from VxWorks
Examples from VxWorks
Examples from VxWorks
Examples from VxWorks
A tale of Priority Inversion in VxWorks
RT case studyStructure of DiCK (Didactic C Kernel)(from Buttazzo, Hard Real-Time Computing Systems, Kluwer, 1997)
DiCK Process State Transitions
Robot Control Example(from Buttazzo, Hard Real-Time Computing Systems, Kluwer, 1997)
Robot Arm with Deburring Tool
Robot Control
Process Structure
CAB = Cyclical Asynchronous Buffer
CAB (2)
Examples where CABs are Useful
CAB Primitives (1)
CAB Primitives (2)
CAB Primitives (3)
Robotic Application Processes
Robotic Application Processes
Robotic Application Processes
Program using the “DiCK” (Didactic C Kernel) primitives(from Buttazzo, Hard Real-Time Computing Systems, Kluwer, 1997)
Program (2)
Program (3)
Program (4)
Program (5)
Program (6)
Program (7)
Languages & Modelsfor Real-Time Systems
Why look at Languages?
Why Models?
Ada 95 Language Features Pertinent to Real-Time and Parallelism(see http://www.adahome.com/rm95/rm9x-toc.html)
Ada speak
Diagrammatic Model of Typical Ada Processing by Loop
Non-determinism using Select
Semaphore in Ada
Non-determinism + Termination
“Unconditional” Alternative
“when” conditions
“when” conditions: readers/writers
Delay Alternative
Autonomous Periodic Tasks(one loop for each task)
Problem with Previous Approach
Dispatcher Model
Better Model: Use builtin delay_until
Priority Issues
Sources