Real-Time Programming Languages - Operating Systems
Real-Time Programming Languages - Operating Systems Real-Time Programming Languages - Operating Systems
Example 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 begin -- initialisation loop Overrun.Reset(WCET, WCET_Overrun); Set_Handler(WCET_Error,WCET,Overrun.Handler); select Overrun.Stop_Task; -- handle the error if possible then abort -- code of the application null; --.RM end select; Cancel_Handler(WCET_Error, Bool); Set_Priority(14); delay until ... end loop; ... end Hard_Example; Burns, Wellings Ch. 15.5 Page 373 f. WS 2013/14 Real-Time Systems, Real-Time Prog. Languages / Hermann Härtig 64
Missing in this RT-HLL lecture ● RT-Java and RT-Garbage Collection ● Language with built-in periodic processes WS 2013/14 Real-Time Systems, Real-Time Prog. Languages / Hermann Härtig 65
- Page 13 and 14: Examples (all by Berry): ABRO Speci
- Page 15 and 16: Speed Specification SPEED: Count th
- Page 17 and 18: Few general points Ada has “Annex
- Page 19 and 20: Concurrency Tasks ● ● ● ● a
- Page 21 and 22: Termination of Tasks Every task has
- Page 23 and 24: The Rendezvous Based on client/serv
- Page 25 and 26: In detail task executing Server Cli
- Page 27 and 28: Select Statement ● ● Arbitrary
- Page 29 and 30: Example: Resource with Locking 01 0
- Page 31 and 32: Tasks ./. Protected Objects 01 02 0
- Page 33 and 34: Fixed Priorities ● task (type) T
- Page 35 and 36: Active Priority Base priority or
- Page 37 and 38: EDF Dispatching How to set deadline
- Page 39 and 40: Mixed Scheduling Policies, example
- Page 41 and 42: Explicit Request Ordering: Requeue
- Page 43 and 44: Timing events 01 02 03 04 05 06 07
- Page 45 and 46: Example: Watchdog 01 02 03 04 05 06
- Page 47 and 48: Time: Delay Statement 01 02 03 04 0
- Page 49 and 50: Delay and Select, client side(1) 01
- Page 51 and 52: Example 01 02 03 04 05 06 07 select
- Page 53 and 54: Example: Operator/Subscriber 01 02
- Page 55 and 56: Example: Operator/Subscriber 01 02
- Page 57 and 58: Recurrent Tasks (1) 01 02 03 04 05
- Page 59 and 60: Recurrent Tasks (3) Periodic tasks
- Page 61 and 62: Example 01 02 03 04 05 06 07 08 09
- Page 63: Example 01 02 03 04 05 06 07 08 09
Example<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
26<br />
27<br />
begin<br />
-- initialisation<br />
loop<br />
Overrun.Reset(WCET, WCET_Overrun);<br />
Set_Handler(WCET_Error,WCET,Overrun.Handler);<br />
select<br />
Overrun.Stop_Task;<br />
-- handle the error if possible<br />
then abort<br />
-- code of the application<br />
null; --.RM<br />
end select;<br />
Cancel_Handler(WCET_Error, Bool);<br />
Set_Priority(14);<br />
delay until ...<br />
end loop;<br />
...<br />
end Hard_Example;<br />
Burns,<br />
Wellings<br />
Ch. 15.5<br />
Page 373 f.<br />
WS 2013/14 <strong>Real</strong>-<strong>Time</strong> <strong>Systems</strong>, <strong>Real</strong>-<strong>Time</strong> Prog. <strong>Languages</strong> / Hermann Härtig 64