Real-Time Programming Languages - Operating Systems
Real-Time Programming Languages - Operating Systems Real-Time Programming Languages - Operating Systems
Recurrent Tasks (2) 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 procedure Set_Characteristic(T : Task_Id; Period : Time_Span; First_Schedule : Time) is begin Set_Value((Period, First_Schedule), T ); end Set_Characteristic; procedure Wait_Until_Next_Schedule is Task_Info : Task_Information := Value; Next_Time : Time; begin Next_Time := Task_Info.Period + Task_Info.Next_Schedule_Time; Set_Value((Task_Info.Period,Next_Time)); delay until Next_Time; end Wait_Until_Next_Schedule; end Periodic_Scheduler; Burns, Wellings Ch. 12.4 Page 315 WS 2013/14 Real-Time Systems, Real-Time Prog. Languages / Hermann Härtig 58
Recurrent Tasks (3) Periodic tasks can now be encoded as Burns, Wellings 01 02 03 04 05 06 07 08 09 task Periodic_Task; task body Periodic_Task is begin loop -- statements to be executed each period Periodic_Scheduler.Wait_Until_Next_Schedule end loop; end Periodic_Task; WS 2013/14 Real-Time Systems, Real-Time Prog. Languages / Hermann Härtig 59
- Page 7 and 8: Esterel at a glance Most statements
- Page 9 and 10: Esterel „Data“: Variables and S
- Page 11 and 12: Signals vs Variables 01 Emit Count(
- 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: Recurrent Tasks (1) 01 02 03 04 05
- Page 61 and 62: Example 01 02 03 04 05 06 07 08 09
- Page 63 and 64: Example 01 02 03 04 05 06 07 08 09
- Page 65 and 66: Missing in this RT-HLL lecture ●
Recurrent Tasks (2)<br />
25<br />
26<br />
27<br />
28<br />
29<br />
30<br />
31<br />
32<br />
33<br />
34<br />
35<br />
36<br />
37<br />
38<br />
39<br />
40<br />
procedure Set_Characteristic(T : Task_Id; Period : <strong>Time</strong>_Span;<br />
First_Schedule : <strong>Time</strong>) is<br />
begin<br />
Set_Value((Period, First_Schedule), T );<br />
end Set_Characteristic;<br />
procedure Wait_Until_Next_Schedule is<br />
Task_Info : Task_Information := Value;<br />
Next_<strong>Time</strong> : <strong>Time</strong>;<br />
begin<br />
Next_<strong>Time</strong> := Task_Info.Period +<br />
Task_Info.Next_Schedule_<strong>Time</strong>;<br />
Set_Value((Task_Info.Period,Next_<strong>Time</strong>));<br />
delay until Next_<strong>Time</strong>;<br />
end Wait_Until_Next_Schedule;<br />
end Periodic_Scheduler;<br />
Burns,<br />
Wellings<br />
Ch. 12.4<br />
Page 315<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 58