COMPILATION LISTING OF SEGMENT print_meters Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/12/82 1237.7 mst Fri Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 /* ****************************************************** 8* * * 9* * * 10* * Copyright (c) 1972 by Massachusetts Institute of * 11* * Technology and Honeywell Information Systems, Inc. * 12* * * 13* * * 14* ****************************************************** */ 15 16 print_meters: proc; 17 18 /* PRINT_METERS - Print statistics sampled by answering service. 19* 20* THVV */ 21 /* modified to use hardcore defs 77.04.08 THVV */ 22 23 dcl dn char (168) aligned, 24 en char (32) aligned, 25 statp ptr, 26 (tcmp, tcdp) ptr, 27 double fixed bin (71) aligned based, 28 scaled fixed bin (35, 18) aligned based, 29 single fixed bin (35) aligned based, 30 time float bin, 31 meter_time float bin, 32 cpu_time float bin, 33 cpu_delta float bin, 34 idle_val float bin, 35 idle_delta float bin, 36 zero_idle_val float bin, 37 zidle_delta float bin, 38 kmu float bin, 39 kmu_delta float bin, 40 responseval float bin, 41 (datstr, datstr1, datstr2, crahs) char (16) aligned, 42 upt fixed bin (71) init (0), 43 (i, n) fixed bin, 44 ap ptr, 45 al fixed bin, 46 ec fixed bin (35), 47 (p1, q1) ptr; 48 49 dcl TCMave_eligible_loc fixed bin (18); 50 dcl TCMavequeue_loc fixed bin (18); 51 dcl TCMcumulative_memory_usage_loc fixed bin (18); 52 dcl TCMidle_loc fixed bin (18); 53 dcl TCMinitialize_time_loc fixed bin (18); 54 dcl TCMlast_time_loc fixed bin (18); 55 dcl TCMmp_idle_loc fixed bin (18); 56 dcl TCMprocessor_time_loc fixed bin (18); 57 dcl TCMresponse_count_loc fixed bin (18); 58 dcl TCMresponse_time_loc fixed bin (18); 59 dcl TCMzero_idle_loc fixed bin (18); 60 dcl offset fixed bin (18); 61 62 dcl ring0_get_$segptr entry (char (*), char (*), ptr, fixed bin (35)); 63 dcl ring0_get_$definition entry (ptr, char (*), char (*), fixed bin (18), fixed bin, fixed bin (35)); 64 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)), 65 expand_path_ entry (ptr, fixed bin, ptr, ptr, fixed bin (35)), 66 ioa_ entry options (variable), 67 ioa_$rsnnl entry options (variable), 68 date_time_ entry (fixed bin (71), char (*) aligned), 69 com_err_ entry options (variable); 70 71 dcl hcs_$initiate entry (char (*) aligned, char (*) aligned, char (*) aligned, fixed bin (1), 72 fixed bin (2), ptr, fixed bin (35)), 73 hcs_$terminate_noname entry (ptr, fixed bin (35)); 74 75 76 dcl (addr, addrel, null, substr, divide, mod) builtin; 77 1 1 /* BEGIN INCLUDE FILE ... stat_seg.incl.pl1 - answering service statistics */ 1 2 1 3 dcl 1 statistics based (statp) aligned, /* Filled in by "as_meter_" periodically. */ 1 4 2 time_of fixed bin (71), /* Time of sample. */ 1 5 2 index fixed bin, /* Index of current slot */ 1 6 2 wrapped fixed bin, /* Incremented every time we wrap around */ 1 7 2 pad (4) fixed bin, 1 8 2 array (652), /* Array of sample bins */ 1 9 3 time fixed bin (71), /* Sample time */ 1 10 3 sysid char (8), /* Current system ID */ 1 11 3 uptime fixed bin (71), /* Time of bootload */ 1 12 3 units fixed bin, /* Number of load units */ 1 13 3 users fixed bin, /* Number of users */ 1 14 3 erfno char (8), /* ERF number from last crash */ 1 15 3 crashtime fixed bin (71), /* Time of crash. */ 1 16 3 ncpu fixed bin (5) unal, /* Current # of CPU's */ 1 17 3 pad2 bit (30) unal, 1 18 3 kmem fixed bin (17) unal, /* Current # of pages of main core */ 1 19 3 kbulk fixed bin (17) unal, /* Current # of pages of paging dev */ 1 20 3 system_virtual_time fixed bin (71), /* Cumulative virtual cpu time */ 1 21 3 tcdata_contents (256) fixed bin, /* Copy of header of ring 0 tc_data */ 1 22 3 sst_contents (128) fixed bin; /* Copy of header of ring 0 sst */ 1 23 1 24 dcl STAT_header_lth fixed bin int static init (8); /* Lth in words for stat_seg header. */ 1 25 dcl STAT_entry_lth fixed bin int static init (400); /* Length in words for stat_seg entry. */ 1 26 1 27 /* END INCLUDE FILE ... stat_seg.incl.pl1 */ 78 79 80 dcl heading char (120) aligned int static init 81 ("^/Time^3xUnits CP Kmem MPD^2xMeter time^4xCPU time^3xAvg queue^5xResponse^7xIdle^4xZero idle Avg eligible^8xK mu"); 82 83 /* ================================================================= */ 84 85 call cu_$arg_ptr (1, ap, al, ec); 86 if ec ^= 0 then do; 87 er: call com_err_ (ec, "print_meters", ""); 88 fail: return; 89 end; 90 call expand_path_ (ap, al, addr (dn), addr (en), ec); 91 if ec ^= 0 then go to er; 92 call hcs_$initiate (dn, en, "", 0, 1, statp, ec); /* initiate meter seg */ 93 if statp = null then go to er; 94 95 call date_time_ (statistics.time_of, datstr); 96 call ioa_ ("system statistics as of ^a", datstr); 97 98 n = statistics.index; 99 if statistics.wrapped ^= 0 then do; 100 call ioa_ ("statistics wrapped"); 101 end; 102 103 cpu_delta, idle_delta, zidle_delta = 0; 104 kmu_delta = 0e0; 105 call ioa_ (heading); 106 i = 1; 107 redoit: q1 = addr (statistics.tcdata_contents (i, 1)); 108 time = statistics.time (i); 109 i = i + 1; 110 if i > n then go to exit; 111 if statistics.time (i) < time then go to redoit; 112 call date_time_ (statistics.time (i), datstr); 113 tcmp = addr (statistics.tcdata_contents (i, 1)); 114 call ring0_get_$segptr ("", "tc_data", tcdp, ec); 115 if ec ^= 0 then call error ("tc_data"); 116 call ring0_get_$definition (tcdp, "", "ave_eligible", offset, (0), ec); 117 if ec ^= 0 then call error ("sst.ave_eligible"); 118 TCMave_eligible_loc = offset; 119 call ring0_get_$definition (tcdp, "", "avequeue", offset, (0), ec); 120 if ec ^= 0 then call error ("sst.avequeue"); 121 TCMavequeue_loc = offset; 122 call ring0_get_$definition (tcdp, "", "cumulative_memory_usage", offset, (0), ec); 123 if ec ^= 0 then call error ("sst.cumulative_memory_usage"); 124 TCMcumulative_memory_usage_loc = offset; 125 call ring0_get_$definition (tcdp, "", "idle", offset, (0), ec); 126 if ec ^= 0 then call error ("sst.idle"); 127 TCMidle_loc = offset; 128 call ring0_get_$definition (tcdp, "", "mp_idle", offset, (0), ec); 129 if ec ^= 0 then call error ("sst.mp_idle"); 130 TCMmp_idle_loc = offset; 131 call ring0_get_$definition (tcdp, "", "response_count", offset, (0), ec); 132 if ec ^= 0 then call error ("sst.response_count"); 133 TCMresponse_count_loc = offset; 134 call ring0_get_$definition (tcdp, "", "response_time", offset, (0), ec); 135 if ec ^= 0 then call error ("sst.response_time"); 136 TCMresponse_time_loc = offset; 137 call ring0_get_$definition (tcdp, "", "last_time", offset, (0), ec); 138 if ec ^= 0 then call error ("sst.last_time"); 139 TCMlast_time_loc = offset; 140 call ring0_get_$definition (tcdp, "", "initialize_time", offset, (0), ec); 141 if ec ^= 0 then call error ("sst.initialize_time"); 142 TCMinitialize_time_loc = offset; 143 call ring0_get_$definition (tcdp, "", "processor_time", offset, (0), ec); 144 if ec ^= 0 then call error ("sst.processor_time"); 145 TCMprocessor_time_loc = offset; 146 call ring0_get_$definition (tcdp, "", "zero_idle", offset, (0), ec); 147 if ec ^= 0 then call error ("sst.zero_idle"); 148 TCMzero_idle_loc = offset; 149 call ring0_get_$definition (tcdp, "", "mp_idle", offset, (0), ec); 150 if ec ^= 0 then call error ("sst.mp_idle"); 151 TCMmp_idle_loc = offset; 152 153 meter_time = addrel (tcmp, TCMlast_time_loc) -> double - addrel (tcmp, TCMinitialize_time_loc) -> double; 154 kmu_delta = addrel (tcmp, TCMcumulative_memory_usage_loc) -> double / 1e6 - kmu; 155 kmu = addrel (tcmp, TCMcumulative_memory_usage_loc) -> double / 1e6; 156 cpu_delta = addrel (tcmp, TCMprocessor_time_loc) -> double - cpu_time; 157 cpu_time = addrel (tcmp, TCMprocessor_time_loc) -> double; 158 idle_delta = addrel (tcmp, TCMidle_loc) -> double - idle_val; 159 idle_val = addrel (tcmp, TCMidle_loc) -> double; 160 zidle_delta = addrel (tcmp, TCMzero_idle_loc) -> double - zero_idle_val; 161 zero_idle_val = addrel (tcmp, TCMzero_idle_loc) -> double; 162 responseval = addrel (tcmp, TCMresponse_time_loc) -> double / 1e6; 163 if addrel (tcmp, TCMresponse_count_loc) -> single > 0 then 164 responseval = responseval / addrel (tcmp, TCMresponse_count_loc) -> single; 165 else responseval = -1e0; 166 if uptime (i) ^= upt then do; 167 upt = statistics.uptime (i); 168 call date_time_ (upt, datstr1); 169 if i = 1 then do; 170 xtx: call ioa_ ("^/^a up at ^a", statistics.sysid (i), datstr1); 171 end; 172 else do; 173 if statistics.crashtime (i-1) = 0 then go to xtx; 174 call date_time_ (statistics.crashtime (i-1), datstr2); 175 crahs = statistics.erfno (i-1); 176 if crahs = "" then crahs = "shutdown"; 177 call ioa_ ("^/^a up at ^a after ^a at ^a", 178 statistics.sysid (i), datstr1, crahs, datstr2); 179 end; 180 cpu_delta, idle_delta, zidle_delta = 0; 181 kmu_delta = 0e0; 182 end; 183 call ioa_ ("^6a ^5.1f ^2d ^4d ^3.1f ^12a ^12a ^9.2f ^12.3f ^12a ^12a ^10.3f ^12.3f", 184 substr (datstr, 11, 6), statistics.units (i) / 1e1, 185 statistics.ncpu (i), statistics.kmem (i), 186 statistics.kbulk (i) / 1024e0, 187 tcv (meter_time), tcv (cpu_delta), 188 addrel (tcmp, TCMavequeue_loc) -> scaled, responseval, 189 tcv (idle_delta), tcv (zidle_delta), 190 addrel (tcmp, TCMave_eligible_loc) -> scaled, kmu_delta); 191 go to redoit; 192 193 exit: call ioa_ ("^/^/END"); 194 call hcs_$terminate_noname (statp, ec); 195 196 tcv: proc (x) returns (char (12) aligned); 197 198 dcl (sec, min, hr, junk) fixed bin, 199 rs char (12) aligned; 200 201 dcl x float bin; 202 203 sec = x * 1e-6; 204 min = divide (sec, 60, 17, 0); 205 hr = divide (min, 60, 17, 0); 206 min = mod (min, 60); 207 sec = mod (sec, 60); 208 call ioa_$rsnnl ("^4d^3d^3d", rs, junk, hr, min, sec); 209 substr (rs, 5, 1) = ":"; 210 substr (rs, 8, 1) = ":"; 211 if substr (rs, 6, 1) = " " then substr (rs, 6, 1) = "0"; 212 if substr (rs, 9, 1) = " " then substr (rs, 9, 1) = "0"; 213 return (rs); 214 end; 215 216 error: proc (x); 217 218 dcl x char (*); 219 220 call com_err_ (ec, "print_meters", "cannot locate ^a", x); 221 go to fail; 222 223 end error; 224 225 end print_meters; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/12/82 1110.0 print_meters.pl1 >spec>on>11/12/82>print_meters.pl1 78 1 07/23/81 1735.0 stat_seg.incl.pl1 >ldd>include>stat_seg.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. TCMave_eligible_loc 000236 automatic fixed bin(18,0) dcl 49 set ref 118* 183 TCMavequeue_loc 000237 automatic fixed bin(18,0) dcl 50 set ref 121* 183 TCMcumulative_memory_usage_loc 000240 automatic fixed bin(18,0) dcl 51 set ref 124* 154 155 TCMidle_loc 000241 automatic fixed bin(18,0) dcl 52 set ref 127* 158 159 TCMinitialize_time_loc 000242 automatic fixed bin(18,0) dcl 53 set ref 142* 153 TCMlast_time_loc 000243 automatic fixed bin(18,0) dcl 54 set ref 139* 153 TCMmp_idle_loc 000244 automatic fixed bin(18,0) dcl 55 set ref 130* 151* TCMprocessor_time_loc 000245 automatic fixed bin(18,0) dcl 56 set ref 145* 156 157 TCMresponse_count_loc 000246 automatic fixed bin(18,0) dcl 57 set ref 133* 163 163 TCMresponse_time_loc 000247 automatic fixed bin(18,0) dcl 58 set ref 136* 162 TCMzero_idle_loc 000250 automatic fixed bin(18,0) dcl 59 set ref 148* 160 161 addr builtin function dcl 76 ref 90 90 90 90 107 113 addrel builtin function dcl 76 ref 153 153 154 155 156 157 158 159 160 161 162 163 163 183 183 al 000232 automatic fixed bin(17,0) dcl 23 set ref 85* 90* ap 000230 automatic pointer dcl 23 set ref 85* 90* array 10 based structure array level 2 dcl 1-3 com_err_ 000064 constant entry external dcl 64 ref 87 220 cpu_delta 000173 automatic float bin(27) dcl 23 set ref 103* 156* 180* 183* 183* cpu_time 000172 automatic float bin(27) dcl 23 set ref 156 157* crahs 000217 automatic char(16) dcl 23 set ref 175* 176 176* 177* crashtime 22 based fixed bin(71,0) array level 3 dcl 1-3 set ref 173 174* cu_$arg_ptr 000052 constant entry external dcl 64 ref 85 date_time_ 000062 constant entry external dcl 64 ref 95 112 168 174 datstr 000203 automatic char(16) dcl 23 set ref 95* 96* 112* 183 183 datstr1 000207 automatic char(16) dcl 23 set ref 168* 170* 177* datstr2 000213 automatic char(16) dcl 23 set ref 174* 177* divide builtin function dcl 76 ref 204 205 dn 000100 automatic char(168) dcl 23 set ref 90 90 92* double based fixed bin(71,0) dcl 23 ref 153 153 154 155 156 157 158 159 160 161 162 ec 000233 automatic fixed bin(35,0) dcl 23 set ref 85* 86 87* 90* 91 92* 114* 115 116* 117 119* 120 122* 123 125* 126 128* 129 131* 132 134* 135 137* 138 140* 141 143* 144 146* 147 149* 150 194* 220* en 000152 automatic char(32) dcl 23 set ref 90 90 92* erfno 20 based char(8) array level 3 dcl 1-3 ref 175 expand_path_ 000054 constant entry external dcl 64 ref 90 hcs_$initiate 000066 constant entry external dcl 71 ref 92 hcs_$terminate_noname 000070 constant entry external dcl 71 ref 194 heading 000010 internal static char(120) initial dcl 80 set ref 105* hr 000262 automatic fixed bin(17,0) dcl 198 set ref 205* 208* i 000226 automatic fixed bin(17,0) dcl 23 set ref 106* 107 108 109* 109 110 111 112 113 166 167 169 170 173 174 175 177 183 183 183 183 idle_delta 000175 automatic float bin(27) dcl 23 set ref 103* 158* 180* 183* 183* idle_val 000174 automatic float bin(27) dcl 23 set ref 158 159* index 2 based fixed bin(17,0) level 2 dcl 1-3 ref 98 ioa_ 000056 constant entry external dcl 64 ref 96 100 105 170 177 183 193 ioa_$rsnnl 000060 constant entry external dcl 64 ref 208 junk 000263 automatic fixed bin(17,0) dcl 198 set ref 208* kbulk 25(18) based fixed bin(17,0) array level 3 packed unaligned dcl 1-3 ref 183 kmem 25 based fixed bin(17,0) array level 3 packed unaligned dcl 1-3 set ref 183* kmu 000200 automatic float bin(27) dcl 23 set ref 154 155* kmu_delta 000201 automatic float bin(27) dcl 23 set ref 104* 154* 181* 183* meter_time 000171 automatic float bin(27) dcl 23 set ref 153* 183* 183* min 000261 automatic fixed bin(17,0) dcl 198 set ref 204* 205 206* 206 208* mod builtin function dcl 76 ref 206 207 n 000227 automatic fixed bin(17,0) dcl 23 set ref 98* 110 ncpu 24 based fixed bin(5,0) array level 3 packed unaligned dcl 1-3 set ref 183* null builtin function dcl 76 ref 93 offset 000251 automatic fixed bin(18,0) dcl 60 set ref 116* 118 119* 121 122* 124 125* 127 128* 130 131* 133 134* 136 137* 139 140* 142 143* 145 146* 148 149* 151 q1 000234 automatic pointer dcl 23 set ref 107* responseval 000202 automatic float bin(27) dcl 23 set ref 162* 163* 163 165* 183* ring0_get_$definition 000050 constant entry external dcl 63 ref 116 119 122 125 128 131 134 137 140 143 146 149 ring0_get_$segptr 000046 constant entry external dcl 62 ref 114 rs 000264 automatic char(12) dcl 198 set ref 208* 209* 210* 211 211* 212 212* 213 scaled based fixed bin(35,18) dcl 23 set ref 183* 183* sec 000260 automatic fixed bin(17,0) dcl 198 set ref 203* 204 207* 207 208* single based fixed bin(35,0) dcl 23 ref 163 163 statistics based structure level 1 dcl 1-3 statp 000162 automatic pointer dcl 23 set ref 92* 93 95 98 99 107 108 111 112 113 166 167 170 173 174 175 177 183 183 183 183 194* substr builtin function dcl 76 set ref 183 183 209* 210* 211 211* 212 212* sysid 12 based char(8) array level 3 dcl 1-3 set ref 170* 177* tcdata_contents 30 based fixed bin(17,0) array level 3 dcl 1-3 set ref 107 113 tcdp 000166 automatic pointer dcl 23 set ref 114* 116* 119* 122* 125* 128* 131* 134* 137* 140* 143* 146* 149* tcmp 000164 automatic pointer dcl 23 set ref 113* 153 153 154 155 156 157 158 159 160 161 162 163 163 183 183 time 10 based fixed bin(71,0) array level 3 in structure "statistics" dcl 1-3 in procedure "print_meters" set ref 108 111 112* time 000170 automatic float bin(27) dcl 23 in procedure "print_meters" set ref 108* 111 time_of based fixed bin(71,0) level 2 dcl 1-3 set ref 95* units 16 based fixed bin(17,0) array level 3 dcl 1-3 ref 183 upt 000224 automatic fixed bin(71,0) initial dcl 23 set ref 23* 166 167* 168* uptime 14 based fixed bin(71,0) array level 3 dcl 1-3 ref 166 167 wrapped 3 based fixed bin(17,0) level 2 dcl 1-3 ref 99 x parameter float bin(27) dcl 201 in procedure "tcv" ref 196 203 x parameter char unaligned dcl 218 in procedure "error" set ref 216 220* zero_idle_val 000176 automatic float bin(27) dcl 23 set ref 160 161* zidle_delta 000177 automatic float bin(27) dcl 23 set ref 103* 160* 180* 183* 183* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. STAT_entry_lth internal static fixed bin(17,0) initial dcl 1-25 STAT_header_lth internal static fixed bin(17,0) initial dcl 1-24 p1 automatic pointer dcl 23 NAMES DECLARED BY EXPLICIT CONTEXT. er 000317 constant label dcl 87 ref 91 93 error 002520 constant entry internal dcl 216 ref 115 117 120 123 126 129 132 135 138 141 144 147 150 exit 002363 constant label dcl 193 ref 110 fail 000344 constant label dcl 88 ref 221 print_meters 000270 constant entry external dcl 16 redoit 000540 constant label dcl 107 ref 111 191 tcv 002410 constant entry internal dcl 196 ref 183 183 183 183 183 183 183 183 xtx 002072 constant label dcl 170 ref 173 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3050 3142 2721 3060 Length 3354 2721 72 176 126 36 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME print_meters 378 external procedure is an external procedure. tcv internal procedure shares stack frame of external procedure print_meters. error internal procedure shares stack frame of external procedure print_meters. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 heading print_meters STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME print_meters 000100 dn print_meters 000152 en print_meters 000162 statp print_meters 000164 tcmp print_meters 000166 tcdp print_meters 000170 time print_meters 000171 meter_time print_meters 000172 cpu_time print_meters 000173 cpu_delta print_meters 000174 idle_val print_meters 000175 idle_delta print_meters 000176 zero_idle_val print_meters 000177 zidle_delta print_meters 000200 kmu print_meters 000201 kmu_delta print_meters 000202 responseval print_meters 000203 datstr print_meters 000207 datstr1 print_meters 000213 datstr2 print_meters 000217 crahs print_meters 000224 upt print_meters 000226 i print_meters 000227 n print_meters 000230 ap print_meters 000232 al print_meters 000233 ec print_meters 000234 q1 print_meters 000236 TCMave_eligible_loc print_meters 000237 TCMavequeue_loc print_meters 000240 TCMcumulative_memory_usage_loc print_meters 000241 TCMidle_loc print_meters 000242 TCMinitialize_time_loc print_meters 000243 TCMlast_time_loc print_meters 000244 TCMmp_idle_loc print_meters 000245 TCMprocessor_time_loc print_meters 000246 TCMresponse_count_loc print_meters 000247 TCMresponse_time_loc print_meters 000250 TCMzero_idle_loc print_meters 000251 offset print_meters 000260 sec tcv 000261 min tcv 000262 hr tcv 000263 junk tcv 000264 rs tcv THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 call_ext_out_desc call_ext_out return fl2_to_fx1 mod_fx1 ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_ptr date_time_ expand_path_ hcs_$initiate hcs_$terminate_noname ioa_ ioa_$rsnnl ring0_get_$definition ring0_get_$segptr NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000267 23 000275 85 000277 86 000315 87 000317 88 000344 90 000345 91 000370 92 000372 93 000436 95 000442 96 000457 98 000477 99 000502 100 000504 103 000520 104 000524 105 000525 106 000536 107 000540 108 000545 109 000551 110 000552 111 000555 112 000566 113 000604 114 000610 115 000637 116 000646 117 000711 118 000724 119 000726 120 000766 121 000777 122 001001 123 001045 124 001055 125 001057 126 001117 127 001126 128 001130 129 001170 130 001202 131 001204 132 001250 133 001263 134 001265 135 001331 136 001341 137 001343 138 001405 139 001420 140 001422 141 001466 142 001501 143 001503 144 001547 145 001557 146 001561 147 001624 148 001637 149 001641 150 001701 151 001713 153 001715 154 001730 155 001744 156 001746 157 001756 158 001762 159 001772 160 001776 161 002006 162 002012 163 002024 165 002040 166 002042 167 002051 168 002052 169 002067 170 002072 171 002124 173 002125 174 002131 175 002146 176 002154 177 002163 180 002216 181 002222 183 002223 191 002362 193 002363 194 002376 225 002407 196 002410 203 002412 204 002416 205 002420 206 002422 207 002426 208 002431 209 002467 210 002471 211 002473 212 002502 213 002510 216 002520 220 002531 221 002572 ----------------------------------------------------------- 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