|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4096 (0x1000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Scheduler, seg_0213e1
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
-- -------------------------------------------------------------------------
-- CIFO HAL/S scheduling package.
-- See CIFO section titled "Synchronous and Asynchronous Task Scheduling",
-- or chapter 12 of "Programming in HAL/S" by Ryer.
-- -------------------------------------------------------------------------
with Task_Ids, Dynamic_Priorities, Event_Management, Calendar;
use Task_Ids, Dynamic_Priorities, Event_Management, Calendar;
package Scheduler is
type Task_Id is new Boolean; -- Bogus Declaration
Task_Overrun : Event;
type Task_Initiations is (Immediately, At_Time, After_Delay, On_Event);
type Task_Repetitions is (None, Repeat_Every, Repeat_After);
type Task_Completions is (None, Until_Time, While_Event, Until_Event);
type Initiation_Info (Initiation : Task_Initiations := Immediately) is
record
case Initiation is
when Immediately =>
null;
when At_Time =>
T : Time;
when After_Delay =>
D : Duration;
when On_Event =>
E : Event_Expression;
end case;
end record;
type Repetition_Info (Repetition : Task_Repetitions := None) is
record
case Repetition is
when None =>
null;
when Repeat_Every | Repeat_After =>
D : Duration;
end case;
end record;
type Completion_Info (Completion : Task_Completions := None) is
record
case Completion is
when None =>
null;
when Until_Time =>
T : Time;
when While_Event | Until_Event =>
E : Event_Expression;
end case;
end record;
procedure Schedule (Scheduled_Task : in Task_Id;
Report_Overrun : in Boolean := False;
Priority : in Dynamic_Priorities.Priority;
Initiation : in Initiation_Info;
Repetition : in Repetition_Info;
Completion : in Completion_Info;
Overrun : in Event := Task_Overrun);
procedure Wait_For_Schedule (Completed : out Boolean);
procedure Deschedule (Scheduled_Task : in Task_Id);
end Scheduler;
nblk1=3
nid=0
hdr6=6
[0x00] rec0=1c rec1=00 rec2=01 rec3=01c
[0x01] rec0=1f rec1=00 rec2=02 rec3=068
[0x02] rec0=0d rec1=00 rec2=03 rec3=000
tail 0x2151cbc12838d738f0db9 0x42a00088462060003