COMPILATION LISTING OF SEGMENT !BBBJQcZmMpkCkN Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 05/06/86 1302.4 mst Tue Options: table map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 8 9 /* HISTORY COMMENTS: 10* 1) change(86-02-12,Pierret), approve(86-03-03,MCR7331), 11* audit(86-04-28,Newcomb), install(86-05-06,MR12.0-1054): 12* Changed to version 5.8. 13* 2) change(86-03-03,Pierret), approve(86-03-03,MCR7349), 14* audit(86-04-28,Newcomb), install(86-05-06,MR12.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 file)name to 43* bj_default_(dir file)name; 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 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 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 1 1 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 1 2 1 3 dcl 1 cds_args based aligned, 1 4 2 sections (2), 1 5 3 p ptr, /* pointer to data for text/static section */ 1 6 3 len fixed bin (18), /* size of text/static section */ 1 7 3 struct_name char (32), /* name of declared structure for this section */ 1 8 2 seg_name char (32), /* name to create segment by */ 1 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 1 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 1 11 2 switches, /* control switches */ 1 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 1 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 1 14 3 have_text bit (1) unal, /* ON if text section given */ 1 15 3 have_static bit (1) unal, /* ON if static section given */ 1 16 3 pad bit (32) unal; 1 17 1 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 1 19 1 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 241 242 2 1 /* BEGIN INCLUDE FILE - dm_system_states.incl.pl1 */ 2 2 2 3 /* DESCRIPTION: 2 4* 2 5* This include file gives all defined values that 2 6* dm_system_data_$current_dm_state may have. 2 7**/ 2 8 2 9 /* HISTORY: 2 10*Written by Lee A. Newcomb, CISL, 11/04/82 2 11*Modified: 2 12*03/02/84 by Lee A. Newcomb: added DM_SYSTEM_STATE_SHUTDOWN_WARNING and 2 13* DM_SYSTEM_STATE_USER_SHUTDOWN; also renamed from dm_statuses to 2 14* dm_system_states.incl.pl1. 2 15*04/06/84 by Lindsey Spratt: Added DM_SYSTEM_STATE_SYSTEM_SHUTDOWN. 2 16*09/05/84 by Lee A. Newcomb: renamed DM_SYSTEM_STATE_SHUTDOWN_WARNING do 2 17* ...SHUTDOWN_BEGUN and ...SYSTEM_SHUTDOWN to 2 18* ...SHUTDOWN_BUMP_USERS; deleted ...USER_SHUTDOWN. 2 19**/ 2 20 /* format: style2,^inddcls,linecom,ifthendo,ifthen,^indnoniterdo,dclind5,idind35 */ 2 21 2 22 dcl ( /* valid statuses of data management */ 2 23 /* ordered to expected sequence of use */ 2 24 DM_SYSTEM_STATE_UNDEFINED init ("undf"), /* found in a template dm_system_data_ */ 2 25 DM_SYSTEM_STATE_INITIALIZING init ("init"), 2 26 DM_SYSTEM_STATE_RECOVERING init ("rcov"), 2 27 DM_SYSTEM_STATE_RUNNING init ("run "), 2 28 DM_SYSTEM_STATE_SHUTDOWN_BEGUN init ("sbgn"), 2 29 DM_SYSTEM_STATE_SHUTDOWN_BUMP_USERS 2 30 init ("sbmp"), 2 31 DM_SYSTEM_STATE_NORMAL_SHUTDOWN init ("shut") 2 32 ) char (4) aligned int static options (constant); 2 33 2 34 /* END INCLUDE FILE - dm_system_states.incl.pl1 */ 243 244 245 246 end dm_system_data_template_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/06/86 1258.0 !BBBJQcZmMpkCkN.pl1 >spec>install>1054>dm_system_data_template_.cds 241 1 04/01/76 2209.5 cds_args.incl.pl1 >ldd>include>cds_args.incl.pl1 243 2 01/07/85 0900.0 dm_system_states.incl.pl1 >ldd>include>dm_system_states.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. DM_SYSTEM_STATE_UNDEFINED 000000 constant char(4) initial dcl 2-22 ref 211 EXCLUDE_ARRAY 000007 constant char(32) initial array unaligned dcl 187 set ref 229 230 MYNAME 000001 constant char(24) initial unaligned dcl 187 set ref 228 234* addr builtin function dcl 197 ref 225 229 233 233 begin_shutdown_delay 122 000150 automatic fixed bin(71,0) level 2 dcl 124 set ref 203* bj_default_dirname 37 000150 automatic char(168) level 2 dcl 124 set ref 220* bj_default_filename 111 000150 automatic char(32) level 2 dcl 124 set ref 221* bj_default_journal_size 26 000150 automatic fixed bin(17,0) level 2 dcl 124 set ref 209* bj_max_n_journals 24 000150 automatic fixed bin(17,0) level 2 dcl 124 set ref 207* bj_max_n_processes 25 000150 automatic fixed bin(17,0) level 2 dcl 124 set ref 208* cds_args based structure level 1 dcl 1-3 code 000100 automatic fixed bin(35,0) dcl 121 set ref 233* 234 234* com_err_ 000014 constant entry external dcl 193 ref 234 create_data_segment_ 000016 constant entry external dcl 193 ref 233 current_dm_state 121 000150 automatic char(4) level 2 dcl 124 set ref 211* daemon_logout_delay 130 000150 automatic fixed bin(71,0) level 2 dcl 124 set ref 203* exclude_array_ptr 42 000102 automatic pointer level 2 dcl 122 set ref 229* have_text 44(02) 000102 automatic bit(1) level 3 packed unaligned dcl 122 set ref 231* hbound builtin function dcl 197 ref 230 initializer_wakeup_increment 22 000150 automatic fixed bin(17,0) level 2 dcl 124 set ref 202* len 2 000102 automatic fixed bin(18,0) array level 3 dcl 122 set ref 226* local_cds_args 000102 automatic structure level 1 dcl 122 set ref 223* 233 233 max_n_transactions 23 000150 automatic fixed bin(17,0) level 2 dcl 124 set ref 210* meter_fast_locks 35 000150 automatic bit(1) level 2 dcl 124 set ref 212* num_exclude_names 40 000102 automatic fixed bin(17,0) level 2 dcl 122 set ref 230* p 000102 automatic pointer array level 3 dcl 122 set ref 225* saved_shutdown_reason 176 000150 automatic char(64) level 2 dcl 124 set ref 206* sections 000102 automatic structure array level 2 dcl 122 seg_name 30 000102 automatic char(32) level 2 dcl 122 set ref 228* shutdown_reason 156 000150 automatic char(64) level 2 dcl 124 set ref 206* size builtin function dcl 197 ref 226 struct_name 3 000102 automatic char(32) array level 3 dcl 122 set ref 227* switches 44 000102 automatic structure level 2 dcl 122 system_data 000150 automatic structure level 1 dcl 124 set ref 199* 225 226 system_software_version 000150 automatic char(8) level 2 dcl 124 set ref 201* unspec builtin function dcl 197 set ref 199* 223* user_bump_delay 126 000150 automatic fixed bin(71,0) level 2 dcl 124 set ref 203* user_shutdown_delay 124 000150 automatic fixed bin(71,0) level 2 dcl 124 set ref 203* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. DM_SYSTEM_STATE_INITIALIZING constant char(4) initial dcl 2-22 DM_SYSTEM_STATE_NORMAL_SHUTDOWN constant char(4) initial dcl 2-22 DM_SYSTEM_STATE_RECOVERING constant char(4) initial dcl 2-22 DM_SYSTEM_STATE_RUNNING constant char(4) initial dcl 2-22 DM_SYSTEM_STATE_SHUTDOWN_BEGUN constant char(4) initial dcl 2-22 DM_SYSTEM_STATE_SHUTDOWN_BUMP_USERS constant char(4) initial dcl 2-22 exclude_names based char(32) array unaligned dcl 1-18 null builtin function dcl 197 NAME DECLARED BY EXPLICIT CONTEXT. dm_system_data_template_ 000041 constant entry external dcl 114 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 312 332 224 322 Length 2324 224 20 1755 65 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dm_system_data_template_ 296 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dm_system_data_template_ 000100 code dm_system_data_template_ 000102 local_cds_args dm_system_data_template_ 000150 system_data dm_system_data_template_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ create_data_segment_ decimal_exp_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 114 000040 199 000046 201 000051 202 000053 203 000055 206 000115 207 000123 208 000125 209 000127 210 000131 211 000133 212 000135 220 000137 221 000142 223 000145 225 000150 226 000152 227 000154 228 000157 229 000162 230 000164 231 000166 233 000170 234 000203 237 000222 Object Segment >spec>install>1054>dm_system_data_template_ Created on 05/06/86 1302.5 mst Tue by GJohnson.SysMaint.a using create_data_segment_, Version II of Friday, May 02, 1986 Object Text Defs Link Symb Static Start 0 0 226 756 766 766 Length 1225 226 530 10 223 0 42 Definitions: segname: dm_system_data_template_ text|27 area_rel text|122 begin_shutdown_delay text|134 begin_shutdown_time text|37 bj_default_dirname text|111 bj_default_filename text|26 bj_default_journal_size text|24 bj_max_n_journals text|25 bj_max_n_processes text|33 bj_txt_relp text|2 bootload_time text|216 command_ms_name text|121 current_dm_state text|130 daemon_logout_delay text|142 daemon_logout_time text|30 fast_lock_data_rel text|4 initialization_time text|10 initialized text|6 initializer_event_chn text|12 initializer_name text|11 initializer_processid text|22 initializer_wakeup_increment text|31 lock_ips_mask text|34 lock_list_meters_rel text|36 log_proc_terms text|23 max_n_transactions text|35 meter_fast_locks text|146 saved_begin_shutdown_time text|154 saved_daemon_logout_time text|176 saved_shutdown_reason text|152 saved_user_bump_time text|150 saved_user_shutdown_time text|144 saved_user_warning_time text|156 shutdown_reason symb|0 symbol_table text|0 system_software_version text|32 tm_tdt_relp text|126 user_bump_delay text|140 user_bump_time text|124 user_shutdown_delay text|136 user_shutdown_time text|132 user_warning_time No Links. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved