1 /* ***********************************************************
2 * *
3 * Copyright, C Honeywell Information Systems Inc., 1983 *
4 * *
5 *********************************************************** */
6
7
8
9 /* HISTORY COMMENTS:
10 1) change86-02-12Pierret, approve86-03-03MCR7331,
11 audit86-04-28Newcomb, install86-05-06MR12.0-1054:
12 Changed to version 5.8.
13 2) change86-03-03Pierret, approve86-03-03MCR7349,
14 audit86-04-28Newcomb, install86-05-06MR12.0-1054:
15 Changed to version 5.9.
16 END HISTORY COMMENTS */
17
18
19 /* DESCRIPTION:
20
21 Per-System Data Management Segment actually per-AIM authorization.
22 */
23
24 /* HISTORY:
25
26 Written by J. Bongiovanni, 08/15/82.
27 Modified:
28 08/17/82 by M. Pandolf: to add before journal and transaction manager
29 global variables.
30 09/14/82 by M. Pandolf: to add data management daemon event information.
31 08/04/82 by M. Pandolf: to add timeout increment and default before
32 journal size.
33 10/18/82 by Lee A. Newcomb: to add flag recovering_from_crash_sw.
34 11/10/82 by Lee A. Newcomb: to change recovering_from_crash_sw to
35 current_dm_state see dm_statuses.incl.pl1.
36 11/18/82 by J. Bongiovanni: to add lock items.
37 12/22/82 by M. Pandolf: to add log_lock.
38 03/15/83 by M. Pandolf: to add initializer_name.
39 03/21/83 by M. Pandolf: to add trace_stack_mode.
40 03/23/83 by M. Pandolf: to add initializer_shutdown_delay,
41 default_bj_dirname, and default_bj_filename.
42 03/28/83 by M. Pandolf: to change default_bj_dir filename to
43 bj_default_dir filename; and add log_proc_term.
44 06/08/83 by L. A. Newcomb: to add command_ms_name for talking to the Daemon.
45 11/04/83 by M. Pandolf: to clarify setting of default before journal names.
46 03/05/84 by Lee A. Newcomb: changed to use the include file dm_system_states
47 renamed from dm_statuses, and to use the new names therein.
48 06/12/84 by Lindsey Spratt: Changed initializer_shutdown_delay to be fixed bin
49 71. Removed the trace_stack_mode.
50 08/01/84 by Lee A. Newcomb: added shutdown delay and time values and
51 default all the shutdown delays to five minutes.
52 09/05/84 by Lee A. Newcomb: added the times for "user warning" and "begin
53 shutdown" shutdown steps, and begin_shutdown_delay; renamed
54 initializer_shutdown_delay time to be user_shutdown_= for better
55 understanding, and added the saved shutdown time and reason cells
56 that are set by an operator or administrator.
57 10/18/84 by Stanford S. Cox: added lock_list_meters_rel & meter_fast_locks.
58 11/05/84 by Lindsey Spratt: Renamed the module dm_system_data_template_ from
59 dm_system_data_. This makes the per-system initialization
60 simpler, since only the system data segment in the per-bootload
61 dir has the name dm_system_data_, and the library system data
62 segment is always known as dm_system_data_template_.
63 01/08/85 by Steve Herbst: Deleted $log_lock.
64 01/25/85 by Lindsey Spratt: Added $system_software_version, 1.0.
65 02/15/85 by Lindsey Spratt: Changed $system_software_version to "1.1 dev" for
66 dev version of DM system. Corresponding bound_dev version is
67 "1.1".
68 02/24/85 by Lindsey Spratt: Re-added $system_software_version, which was
69 backed out in the most recent installation of this module back to
70 the modifications journalized by Herbst on 01/08/85. The current
71 value of the version is "1.3 dev". Also, removed the unused
72 DM_LOG_NAME constant.
73 02/27/85 by Lindsey Spratt: Changed $system_software_version to "2.1 dev".
74 03/19/85 by Lindsey Spratt: Changed version to "3.1 dev".
75 03/25/85 by Lindsey Spratt: Changed version to "4.2 dev".
76 03/26/85 by Lindsey Spratt: Changed version to "4.3 dev".
77 03/27/85 by Lindsey Spratt: Changed version to "4.4 dev".
78 03/28/85 by Lindsey Spratt: Changed version to "4.5 dev".
79 03/29/85 by Lindsey Spratt: Changed version to "4.6 dev".
80 04/01/85 by S. Cox: Changed to set on $meter_fast_locks.
81 04/04/85 by Lee A. Newcomb: Fixed to set the default system BJ size to 4000
82 CI's as approved, not 192.
83 04/12/85 by Lindsey Spratt: Changed version to "5.0".
84 04/12/85 by Lindsey Spratt: Changed version to "5.1". This version has the
85 change to fm_put_.
86 04/18/85 by Lindsey Spratt: Changed version to "5.2". This version includes:
87 fixes to fast_lock metering so that the meters are actually
88 incremented, and to the fast_lock metering and status commands;
89 pnotices for the dm_display_version and dm_set_free_area modules;
90 fixes to transaction_manager_ user shutdown to turn off the
91 shutdown timers; a fix to the file_manager_ to correctly
92 report via $suffix_info that max_length, dumper_switches and
93 safety_switch are not supported; and, a fix to dm file creation to
94 get the correct IACLs and to ignore the "e" access in the IACLs
95 if any.
96 04/19/85 by Lindsey Spratt: Changed version to "5.3". This version has a fix
97 to im_basic_search to fix some problems with relative searches.
98 05/03/85 by Lindsey Spratt: Changed version to "5.4". This version has fixes
99 to the sys_pn_tbl management in the file_manager_; fixes to
100 bjm_rollback, fixes to the handling of rollback handlers for
101 delete and create of DM files; adds dm_relation_status to the
102 tools; and, retains dm_vector_util_.
103 05/07/85 by Lindsey Spratt: Changed version to "5.5". This version has fixes
104 to file_manager_ to remove pages of a deleted DM file from the
105 "modified pages" list kept by the file_manager_.
106 05/15/85 by Lindsey Spratt: Changed version to "5.6". This version includes
107 the changes to use a dm_journal_seg_ which has ring brackets of
108 0,0,0 it was readable and read in ring 2.
109 05/16/85 by Lindsey Spratt: Changed version to "5.7". This version includes
110 the change to tm_per_process_init_ to not init the dm_journal_seg_.
111 */
112 /* format: style2,^inddcls,linecom,ifthendo,ifthen,^indnoniterdo,dclind5,idind35 */
113 %page;
114 dm_system_data_template_:
115 proc ;
116
117 /* START OF DECLARATIONS */
118
119 /* Automatic */
120
121 dcl code fixed bin 35;
122 dcl 1 local_cds_args aligned like cds_args;
123
124 dcl 1 system_data aligned, /* dm_system_data_template_$... */
125 2 system_software_version char 8 aligned,
126 2 bootload_time fixed bin 71, /* Time of system bootload */
127 2 initialization_time fixed bin 71, /* Time this data was initialized */
128 2 initializer_event_chn fixed bin 71, /* channel for telling management process things */
129 2 initialized bit 1 aligned, /* ON => data has been initialized */
130 2 initializer_processid bit 36 aligned, /* Process ID who initialized */
131 2 initializer_name char 32 aligned, /* Person.Project who initialized */
132 2 initializer_wakeup_increment fixed bin, /* time in MINUTES that daemon waits for request */
133 2 max_n_transactions fixed bin, /* Number of entries in various transaction tables */
134 2 bj_max_n_journals fixed bin, /* Number of before journals per system */
135 2 bj_max_n_processes fixed bin, /* Number of process to use before journals */
136 2 bj_default_journal_size fixed bin, /* size in control intervals of before */
137 /* journal made by daemon for system */
138 2 area_rel bit 18 aligned, /* Offset of area */
139 2 fast_lock_data_rel bit 18 aligned, /* Offset of fast_lock_data */
140 2 lock_ips_mask bit 36 aligned, /* IPS Mask to allow QUIT, CPUT, ALRM */
141 2 tm_tdt_relp bit 18 aligned,
142 2 bj_txt_relp bit 18 aligned,
143 2 lock_list_meters_rel bit 18 aligned, /* offset of lock_list_meters */
144 2 meter_fast_locks bit 1 aligned,
145 2 log_proc_terms bit 1 aligned,
146 2 bj_default_dirname char 168 aligned,
147 2 bj_default_filename char 32 aligned,
148 2 current_dm_state char 4 aligned, /* SHUTDOWN INFORMATION: step delays, step times, and reason.
149 The delays are between each step of shutdown and they all default
150 to five minutes. The times are absolute times for each shutdown
151 step and are set by the caretaker Daemon when it recieves the
152 system_shutdown_scheduled_ IPS or a request from the
153 operator/administrator interface. The saved_* shutdown values
154 are set by the latter interface; if the Daemon has to choose
155 between the shutdown times in the saved values and the defaults
156 that are applied when a Multics shutdown is scheduled, the set of
157 times with the earliest user bump time is used. There is
158 currently no requirement that the times must be in ascending
159 order; e.g., "user shutdown" can occur before "user warning",
160 etc.
161 */
162 2 /* delay between ... */
163 begin_shutdown_delay /* user warning and begin shutdown */
164 user_shutdown_delay /* begin shutdown and user shutdown */
165 user_bump_delay /* user shutdown and bumping users */
166 daemon_logout_delay /* bumping users and force Daemon logout */
167 /* when to... */
168 user_warning_time /* ...have user processes signal dm_shutdown_warning_ */
169 begin_shutdown_time /* ...stop new transactions */
170 user_shutdown_time /* ...have user processes signal dm_user_shutdown_ */
171 user_bump_time /* ...bump users */
172 daemon_logout_time /* ...force Daemon logout */
173 /* operator/admin specified times */
174 saved_user_warning_time /* ...have user processes signal dm_shutdown_warning_ */
175 saved_begin_shutdown_time /* ...stop new transactions */
176 saved_user_shutdown_time /* ...have user processes signal dm_user_shutdown_ */
177 saved_user_bump_time /* ...bump users */
178 saved_daemon_logout_time /* ...force Daemon logout */
179 fixed bin 71,
180 2 /* why oh why must we leave? */
181 shutdown_reason
182 saved_shutdown_reason
183 char 64 aligned,
184 2 command_ms_name char 32; /* name in per-AIM dir of msg seg for talking to Daemon */
185
186 /* Constant */
187 dcl
188 EXCLUDE_ARRAY 1 char 32 init "pad*"
189 MYNAME char 24 init "dm_system_data_template_"
190 int static options constant;
191
192 /* Entry */
193 dcl com_err_ entry options variable,
194 create_data_segment_ entry ptr fixed bin 35;
195
196 /* Builtin */
197 dcl addr hbound null size unspec builtin;
198 %page;
199 unspec system_data = ""b;
200
201 system_data.system_software_version = "5.9";
202 system_data.initializer_wakeup_increment = 15;
203 system_data.begin_shutdown_delay, /* default shutdown delays are five minutes */
204 system_data.user_shutdown_delay, system_data.user_bump_delay, system_data.daemon_logout_delay =
205 5 * 60 * 10 ** 6;
206 system_data.shutdown_reason, system_data.saved_shutdown_reason = "NO REASON FOR SHUTDOWN GIVEN";
207 system_data.bj_max_n_journals = 20;
208 system_data.bj_max_n_processes = 256;
209 system_data.bj_default_journal_size = 4000;
210 system_data.max_n_transactions = 128;
211 system_data.current_dm_state = DM_SYSTEM_STATE_UNDEFINED;
212 system_data.meter_fast_locks = "1"b;
213
214 /*
215 NOTE: the pathname of the journal used by processes in lieu of an
216 explicitly chosen one this pathname being known as the "default path"
217 is set at DM bootload time by the procedure "dm_load_configuration_".
218 */
219
220 system_data.bj_default_dirname = "";
221 system_data.bj_default_filename = "";
222
223 unspec local_cds_args = ""b;
224
225 local_cds_args.sections 1.p = addr system_data;
226 local_cds_args.sections 1.len = size system_data;
227 local_cds_args.sections 1.struct_name = "system_data";
228 local_cds_args.seg_name = MYNAME;
229 local_cds_args.exclude_array_ptr = addr EXCLUDE_ARRAY;
230 local_cds_args.num_exclude_names = hbound EXCLUDE_ARRAY 1;
231 local_cds_args.switches.have_text = "1"b;
232
233 call create_data_segment_ addr local_cds_args code;
234 if code ^= 0 then
235 call com_err_ code MYNAME;
236
237 return;
238
239 /* end dm_system_data_template_; */
240 %page;
241 %include cds_args;
242 %page;
243 %include dm_system_states;
244
245
246 end dm_system_data_template_;