/* BEGIN INCLUDE FILE: dm_bj_pste.incl.pl1 */ /* DESCRIPTION Layout of the per-system before journal table entries. This structure is used to contain information about a before journal active in a running DMS. It is currently also used as the header of a before journal (see dm_bj_header.incl.pl1). Version changes to this structure require either automatic conversion to be set up, or users to be told to re-create their journals. Currently, a bj_pste must be 64 words long; any future changes must at least make sure a bj_pste is an even # of words for the alignment of some of its elements. */ /* HISTORY: Written by Andre Bensoussan, 06/15/82. Modified: 08/16/82 by Andre Bensoussan: to add stamp_for_last_ci_put. 09/29/82 by Lee A. Newcomb: to fix BJ_PSTE_VERSION_1 and fix some alignments. 11/01/82 by Andre Bensoussan: to add "stamp_for_last_ci_on_disk", "n_bi_still_unsafe", and "n_bi_being_saved". 02/08/83 by M. Pandolf: to add append_state structure. 03/19/83 by L. A. Newcomb: to fix up some alignments and spelling problems. 04/27/83 by M. Pandolf: to add meter structure at end. 02/11/85 by Lee A. Newcomb: Fixed version constant name to agree with its value of 2; fixed references to page files or PF's; fixed format of description and history sections. 03/07/85 by Lee A. Newcomb: Changed a pad word to be txn_storage_limit and expanded on the description for future generations (no version was made). 03/27/85 by Lee A. Newcomb: Changed one of the unused meters to n_txn_storage_limit_hits (again without a version change). */ /* format: style2,ll79,ind3,^indprocbody,ifthendo,ifthen,^indnoniterdo,^inddcls,dclind5,idind35,linecom */ dcl BJ_PSTE_VERSION_2 fixed bin internal static options (constant) init (2); dcl bj_pste_ptr ptr; /* MUST HAVE EVEN NUMBER OR WORDS */ dcl 1 bj_pste based (bj_pste_ptr) aligned, 2 version fixed bin, 2 bj_ix fixed bin, /* Index of this entry in bj_pst table */ 2 lock aligned, 3 pid bit (36), /* process ID of lock owner */ 3 event bit (36), 2 bj_uid bit (36), /* UID of BJ file */ 2 ci_size fixed bin, /* In number of bytes */ 2 max_size fixed bin, /* In number of ci's */ 2 active bit (1) aligned, /* 0 means journal not being used */ 2 time_header_updated fixed bin (71), 2 earliest_meaningful_time fixed bin (71), /* time stamp on first valid control interval */ 2 update_frequency fixed bin, /* Not used yet, probably will be how many CIs */ 2 last_rec_id bit (36), /* rec id of the last logical record in journal */ 2 n_processes fixed bin, /* Number of processes using this BJ */ 2 n_txn fixed bin, /* Number of txn in progress using this BJ */ 2 last_ci_info aligned, 3 last_ci_buffered fixed bin (24) uns, /* Last ci encached in the buffer */ 3 last_ci_put fixed bin (24) uns, /* Last ci put in the BJ */ 3 last_ci_flushed fixed bin (24) uns, /* Last ci for which flush initiated */ 3 last_ci_on_disk fixed bin (24) uns, /* Last ci of that portion of the BJ known to be ... */ /* .. completely on disk */ 3 stamp_for_last_ci_put fixed bin (71), /* Time stamp associated with the last ci put in the BJ */ 3 stamp_for_last_ci_on_disk fixed bin (71), /* Time stamp associated with the last ci on disk in the BJ */ 2 n_bi_still_unsafe fixed bin, /* number of bi's still not on disk */ 2 n_bi_being_saved fixed bin, /* number of bi's for which flush initiated */ 2 buffer_offset fixed bin (18) uns, /* Now allocated in the bj_pst segment */ 2 txn_storage_limit fixed bin (35), /* # of bytes a single txn may write */ 2 cl aligned, /* Circular List */ 3 origin_ci fixed bin (24) uns, 3 lowest_ci fixed bin (24) uns, 3 highest_ci fixed bin (24) uns, 3 number_ci fixed bin (24) uns, 2 append_state aligned, 3 current_operation char (4), /* equal to "appe" when append in progress */ 3 pending_n_txn fixed bin, /* n_txn value when append done */ 3 pending_last_rec_id bit (36), /* last_rec_id value after append done */ 3 pending_last_element_id bit (36), /* last element id after append done */ 3 txte_rec_id_relp bit (18), /* rel ptr into seg containing TXT for txte.pending_bj_rec_id */ 2 pad_to_even_word1 bit (36) aligned, 2 meters aligned, /* dim (10) fixed bin (71), */ 3 n_bi_written fixed bin (71), /* meter (1) */ 3 n_bi_bytes_written fixed bin (71), /* meter (2) */ 3 n_journal_full fixed bin (71), /* meter (3) */ 3 n_successful_recycles fixed bin (71), /* meter (4) */ 3 n_ci_recycled fixed bin (71), /* meter (5) */ 3 n_txn_started fixed bin (71), /* meter (6) */ 3 n_non_null_txn fixed bin (71), /* meter (7) */ 3 n_txn_storage_limit_hits fixed bin (71), /* meter (8) */ 3 meter (9:10) fixed bin (71), /* meter (9) - meter (10) */ 2 pad_to_64_words (6) bit (36); /* 64 is even (see below) */ /* END INCLUDE FILE: dm_bj_pste.incl.pl1 */ */ ----------------------------------------------------------- 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 */