|
|
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: 9216 (0x2400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Daemon, pragma Module_Name 4 3932, pragma Subsystem Os_Commands, seg_006370
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Calendar;
package Daemon is
-- There are five types of Daemon tasks controlled by this package, their
-- characteristics and default scheduling:
--
-- Snapshot. Frequent. ~1 minute slowdown. Hourly.
--
-- Action. Frequent, unobtrusive. Every two hours.
--
-- Weekly. Unobtrusive. Weekly at 2:30 AM.
-- Code_Segment Group Session Tape Terminal User
--
-- Daily. Variable, possibly significant interruption.
-- Nightly at 3:00 AM.
-- Ada DDB Directory Error_Log File Disk
--
-- Disk. Daily or as needed. Prolonged slowdown.
-- Last portion of the Daily run
--
-- If no other action is taken, all clients will be scheduled at a
-- frequency and time normally appropriate. These schedules can be
-- changed to suit specific needs. Note that Disk is included in the
-- Daily category and will be run with the other Daily Daemons.
--
-- Clients that interfere with normal operations warn all users.
--
-- There is a group of clients referred to as Major_Clients that are
-- expected to be of interest in monitoring the state of the machine:
-- Snapshot, Action, Disk, Ada, DDB, Directory, and File.
Major_Clients : constant String := "*";
procedure Run (Client : String := "Snapshot";
Response : String := "<PROFILE>");
-- Cause the named Client to run the specified operation immediately;
-- Has no effect on the next scheduled run of Client.
procedure Schedule (Client : String := ">>CLIENT NAME<<";
Interval : Duration;
First_Run : Duration := 0.0;
Response : String := "<PROFILE>");
-- Sets the interval at which the Client operation will take place.
procedure Quiesce (Client : String := ">>CLIENT NAME<<";
Additional_Delay : Duration := 86_400.0;
Response : String := "<PROFILE>");
-- Reschedule the Client not to run at the next scheduled time.
-- Equivalent to Schedule with a new First_Run, but the same Interval.
-- Defaults to a 1-day delay; use Duration'Last for indefinite delay.
procedure Status (Client : String := "*");
-- print a formatted display of current status for given Client
-- Matches on prefix of Client name, "" is prefix of all clients
-- Major Clients (*): Actions, Ada, DDB, Directory, Disk, File, Snapshot
-- The Disk Client provides additional information when run separately.
procedure Warning_Interval (Interval : Duration := 120.0);
function Get_Warning_Interval return Duration;
-- Warning given before starting Daily clients to allow time to Quiesce.
function In_Progress (Client : String) return Boolean;
function Next_Scheduled (Client : String) return Calendar.Time;
function Last_Run (Client : String) return Calendar.Time;
function Interval (Client : String) return Duration;
procedure Get_Size (Client : String;
Size : out Long_Integer;
Size_After_Last_Run : out Long_Integer;
Size_Before_Last_Run : out Long_Integer);
-- Sizes are set to -1 if invalid
-- Control of the Disk Daemon
--
-- The Disk Daemon runs in response to a number of stimuli:
--
-- Daemon.Schedule Runs at priority 6; intended for machine idle.
-- Daemon.Run Runs at priority -1; background collection.
-- Daemon.Collect Runs at specified priority
-- over threshold Starts at priority 0 with escalation
--
-- Messages to all users are issued for each of the three explicitly
-- called collections. In addition, a message is sent when a Set_Priority
-- is called and it causes a change in priority.
--
-- A background task monitors over threshold situations and sends messages
-- of interesting events. Threshold_Warnings (False) allows an
-- installation-provided job to tailor policy.
--
-- Additional control over Disk operations is available in the
-- Disk_Daemon tools package.
subtype Volume is Integer range 0 .. 31;
subtype Collection_Priority is Integer range -1 .. 6;
-- -1 is the default and implies very low-level background activity
-- 0 guarantees progress in collection but has some effect on response
-- 6 causes collection to take over the machine
procedure Collect (Vol : Volume; Priority : Collection_Priority := 0);
-- If this call initiates a collection, it waits for its completion.
procedure Set_Priority (Priority : Collection_Priority := -1);
-- Set the priority of a currently running collection to Priority
procedure Threshold_Warnings (On : Boolean := True);
-- Cause messages to be sent when collection thresholds are passed.
--
-- Control of snapshot messages
--
procedure Snapshot_Warning_Message (Interval : Duration := 120.0);
procedure Snapshot_Start_Message (On : Boolean := True);
procedure Snapshot_Finish_Message (On : Boolean := True);
procedure Show_Snapshot_Settings;
procedure Get_Snapshot_Settings (Warning : out Duration;
Start_Message : out Boolean;
Finish_Message : out Boolean);
-------------------------------------------------------------------------
--
-- Control of the contents and permanence of the operations error log
--
-------------------------------------------------------------------------
type Condition_Class is (Normal, Warning, Problem, Fatal);
type Log_Threshold is (Console_Print, Log_To_Disk, Commit_Disk);
procedure Show_Log_Thresholds;
procedure Set_Log_Threshold (Kind : Log_Threshold; Level : Condition_Class);
function Get_Log_Threshold (Kind : Log_Threshold) return Condition_Class;
-- Options on client compactions.
--
-- Consistency checking does additional work to assure that the internal
-- state of the system is as it seems. This is normally only run when
-- there are suspected problems. Consistency checking slows operations
-- for which it is meaningful by between one and three orders of magnitude.
--
-- Access_List_Compaction is the process of removing non-existent groups
-- from the access lists of objects. This condition occurs when groups
-- are removed from the machine. Access_List_Compaction is only done
-- for Ada, Directory and File clients. All other clients reqested will
-- be silently ignored. All three must be compacted for any old group
-- numbers to be freed.
--
-- The default is disabled. The default is restored after
-- the next appropriate daemon run has completed.
procedure Set_Consistency_Checking (Client : String := "";
On : Boolean := True;
Response : String := "<PROFILE>");
function Get_Consistency_Checking (Client : String := "") return Boolean;
procedure Set_Access_List_Compaction (Client : String := "";
On : Boolean := True;
Response : String := "<PROFILE>");
function Get_Access_List_Compaction (Client : String := "") return Boolean;
pragma Subsystem (Os_Commands);
pragma Module_Name (4, 3932);
end Daemon;
nblk1=8
nid=0
hdr6=10
[0x00] rec0=18 rec1=00 rec2=01 rec3=092
[0x01] rec0=17 rec1=00 rec2=02 rec3=042
[0x02] rec0=12 rec1=00 rec2=03 rec3=030
[0x03] rec0=14 rec1=00 rec2=04 rec3=02a
[0x04] rec0=15 rec1=00 rec2=05 rec3=04a
[0x05] rec0=18 rec1=00 rec2=06 rec3=026
[0x06] rec0=14 rec1=00 rec2=07 rec3=032
[0x07] rec0=11 rec1=00 rec2=08 rec3=000
tail 0x215013df881bf802a7e3c 0x42a00088462060003