DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦60407d05b⟧ Wang Wps File

    Length: 18417 (0x47f1)
    Types: Wang Wps File
    Notes: FIX/1200/PSP/0084         
    Names: »4893A «

Derivation

└─⟦c7fef4850⟧ Bits:30006144 8" Wang WCS floppy, CR 0418A
    └─ ⟦this⟧ »4893A « 

WangText

…00……00……00……00……00…A…0a……00……00…A…0b…A…86…1                                             …02…           …02…   …02…   

     4893A/ir…02…FIX/1200/PSP/0084

…02…OK/840510…02……02…#
FIKS RECOVM PROCEDURE PSP
…02……02… FIKS














                 FIKS RECOVM PROCEDURE PSP



                 FIX/1200/PSP/0084













                 Ove Kaastrup





                 Ole Eskedal







                 AMC (6), LOL, APE, REV, LU
















                     …0e…     FIKS S/W Mgr.   840510

                                                

             1             
                          ILS Conf. Mgr.  840510…0f…

             840510





   …0f…4893A/ir…02… FIX/1200/PSP/0084

…02… OK/840510…02……02…ii
FIKS RECOVM PROCEDURE PSP
…02……02…  FIKS…0e…

















        840510                   All      Issue one of Document







    4893A/ir…02… FIX/1200/PSP/0084

…02… OK/840510…02…   iii
FIKS RECOVM PROCEDURE PSP
…02……02…  FIKS





                    …01…T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲



   1  SCOPE  ........................................
      1
     1.1 INTRODUCTION  ..............................
            1
     1.2 ABBREVIATIONS  .............................
            1

   2  APPLICABLE DOCUMENTS  .........................
      2
     2.1 SYSTEM SOFTWARE  ...........................
            2
     2.2 FIKS DOCUMENTATION  ........................
            2

   3  MODULE SPECIFICATION  .........................
      3
     3.1 FUNCTIONAL CAPABILITIES  ...................
            3
     3.2 INTERFACE DESCRIPTION  .....................
            4
     3.3 PROCESSING  ................................
            6
     3.4 DATA ORGANIZATION  .........................
           12
     3.5 STORAGE ALLOCATION  ........................
           13
     3.6 LIMITATIONS  ...............................
           13
     3.7 ERROR LOCATIONS  ...........................
           14

   4  QUALITY ASSURANCE  ............................
     14

   5  PREPARATION FOR DELIVERY  .....................
     15





                         1  S̲C̲O̲P̲E̲

         This document contains an as-built product specification
         of the initialization programme RECOVM (RECOVER MODULE).



1.1      I̲N̲T̲R̲O̲D̲U̲C̲T̲I̲O̲N̲

         This document is mainly ment as an aid to persons who
         are going to maintain the RECOVM programme, or to persons
         who wants a detailed insight in it. The document gives
         an overview of all functionalities of RECOVM, and their
         influence on related parts of the FIKS system are described.
         This document covers the description of both the N/M
         version and the SCC version of RECOVM. All functions
         described in this document apply to the N/M version,
         while only a subset of the functions apply to the SCC
         version. Section 3.3 points out the differences.



1.2      A̲B̲B̲R̲E̲V̲I̲A̲T̲I̲O̲N̲S̲

         Refer to ref. 6, chapter 1.2










                 2  A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲



2.1      S̲Y̲S̲T̲E̲M̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲

         1)  CR80 AMOS KERNEL
             Product Specification      CSS/302/PSP/0008

         2)  CR80 AMOS I/O SYSTEM
             Product Specification      CSS/006/PSP/0006

         3)  CR80 AMOS, FILE MANAGEMENT SYSTEM
             System Product Specification   CSS/920/SPS/0001

         4)  CR80 MINI COMPUTER HANDBOOK



2.2      F̲I̲K̲S̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲A̲T̲I̲O̲N̲

         5)  FIKS SYSTEM PSP
             FIX/1000/PSP/0038

         6)  FIKS DATA INTERFACE REFERENCE MANUAL
             FIX/0100/MAN/0004

         7)  MTCB ̲INIT PROCEDURE PSP
             FIX/1200/PSP/0067

         8)  MTCB MONITOR PSP
             FIX/1256/PSP/0066

         9)  QACCESS MONITOR PSP
             FIX/1256/PSP/0078

         10) CHECKPOINT SUBSYSTEM PSP
             FIX/1100/PSP/0041

         11) MES SUBMODULE PSP
             FIX/1351/PSP/0060

         12) NODAL SWITCH SUBSYSTEM
             FIX/1154/PSP/0107

         13) RESPDB PROCEDURE PSP
             FIX/1200/PSP/0085




                 3  M̲O̲D̲U̲L̲E̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲

         RECOVM is a programme which runs in the initialization
         phase of a N/M or SCC. It is only available in initializations
         that take checkpoints into account (which on the N/M
         means a switch to (or load of) a branch, which status
         is "STANDBY". On a SCC the module is activated when
         a load, which is n̲o̲t̲ of the type "COLD", is performed).
         The purpose of RECOVM is to retrieve all MTCB checkpoints
         which were active, when the system was closed. When
         this job is finished the RECOVM process is terminated
         and removed from the operational system, and then the
         online FIKS processes are loaded and started.



3.1      F̲U̲N̲C̲T̲I̲O̲N̲A̲L̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲I̲E̲S̲

         The functions of RECOVM are to access the CHECKP ̲FILE,
         inspect the checkpointed MTCB's, and queue them to
         a queue specified by the checkpoint record. The retrieved
         MTCB's are inserted in the data area of the MTCB monitor,
         and MTCB use-counts and file use-counts are updated.
         Further RECOVM accesses the NSS checkpoint file NSS
         ̲
         CHECKP. All MTCB's available are inspected, and the
         MTCB monitor is called in order to increment the MTCB
         use-counts. Each MTCB in the file holds the index of
         another MTCB. The use-count of the referenced MTCB's
         are updated by call of the MTCB monitor.
         Further the critical region PDBTAB (which have been
         updated with checkpoints by the SYSCHP process) is
         accessed, and for each MTCB referenced in the table,
         the MTCB monitor is called in order to increment its
         MTCB use count. 

         Finally, the data area of the MTCB monitor is made
         consistant by updating pointers and linking of unused
         table elements.

         The purpose of having this programme, instead of letting
         the application programmes retrieve them, when they
         are loaded, (as it is the case for other types of checkpoints)
         is, that the nature of MTCB's are rather complex and
         thus making it too cumbersome for the single application
         to handle it.
         By using this scheme, it is transparent for a majority
         of the applications (those, which only checkpoint MTCB's)
         whether the system is coldstarted or started on basis
         of checkpoints.



3.2      I̲N̲T̲E̲R̲F̲A̲C̲E̲ ̲D̲E̲S̲C̲R̲I̲P̲T̲I̲O̲N̲

         Figure 3.2 shows the interfaces of the RECOVM module.

         S̲Y̲S̲T̲E̲M̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲

         -   Disk files are accessed by means of the FMS-system
             via monitor calls of the IO-system.

         -   Critical regions are accessed by the critical region
             monitor procedure in the KERNEL (ref. 1).

         F̲I̲K̲S̲ ̲A̲P̲P̲L̲I̲C̲A̲T̲I̲O̲N̲ ̲I̲N̲T̲E̲R̲F̲A̲C̲E̲

         At the time RECOVM is run, the only applications available
         are the FIKS monitors.

         -   MTCB monitor (ref. 8).

         -   QACCESS monitor (ref. 9).

         F̲I̲L̲E̲S̲

         -   CHECKP ̲FILE on FIXHEAD volume.

         -   NSS ̲CHECKP on FIXHEAD volume.

         F̲I̲K̲S̲ ̲A̲R̲E̲A̲S̲

         -   MTCB DATA area is accessed both directly and via
             the MTCB monitor. The layout of the area is given
             in ref. 8, chapt. 3.4.

         -   QACCESS DATA area is accessed via calls of QACCESS
             monitor.


























































                        Figure 3.2
             Interface Description of Recovm




3.3      P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲

         The main processing in RECOVM takes place in the mainmodule.
         Some functionalities concerning MTCB list updates are
         performed by the procedure LINK ̲LIST. ref. 3.3.1.

         The processing can be divided into the following steps:

             a)  Initialization of programme.
             b)  Retrieval and queueing of checkpointed MTCB's.
             c)  Update of MTCB use-counts for MTCB's listed
                 in PDBTAB.
             d)  Update of MTCB use-counts according to NSS
                 ̲
                 CHECKP-file.
             e)  Update of MTCB use-counts for MTCB's referred
                 to in other MTCB's.
             f)  Update of file use-counts of MTCB's.
             g)  Update of MTCB resource data.
             h)  Linking of not used entries in MTCB-pools.

         In the SCC version of RECOVM, the processing in point
         c and d are not applicable.

         a)  I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲p̲r̲o̲g̲r̲a̲m̲m̲e̲

             -   The disk volumes MOVHEAD and FIXHEAD are looked
                 up by calls of MON (IO, GETROOT).
                 The volume names are inserted in the variables
                 at compile time (by use of INIT).

             -   The programme is "logged on" to the MTCB monitor
                 by call of MTCB, INITE.

             -   The disk file CHECKP ̲FILE on the FIXHEAD volume
                 is looked up by call of MON (IO, LOOKUP).

             -   The critical region CONFIG is accessed and
                 parameters concerning the MTCB DATA area are
                 read.

             -   Parameters to be used, when accessing MTCB
                 ̲DATA area are set up: DATA ̲PSW  =  the PSW
                 to be loaded when reading in MTCB ̲DATA area
                 (the use of PSW: see ref. 4).
                 MTCB ̲DATA ̲ADDR  =  the base relative address
                 of the first word in MTCB ̲DATA.
                 MTCB ̲POOL ̲ADDR  = the base relative address
                 of the pool section within the MTCB DATA area.



         b)  R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲a̲n̲d̲ ̲q̲u̲e̲u̲e̲i̲n̲g̲ ̲o̲f̲ ̲c̲h̲e̲c̲k̲p̲o̲i̲n̲t̲e̲d̲ ̲M̲T̲C̲B̲'̲s̲

             The purpose of this section is to reconstruct the
             situation, (concerning checkpointed MTCB's) as
             it was at the time when the N/M or SCC crashed
             (or was orderly closed down).

             In the previous system (the one that crashed),
             the creations, updates, removals and insertions
             in queues were checkpointed by sending an AMOS
             system message to the CHECKPOINT process (ref.
             10). The checkpoints received by CHECKP were stored
             in records on the file CHECKP ̲FILE. The layout
             of these are shown in ref. 10, chapter 3.3.3.2.

             As it is shown, each MTCB checkpoint consists of
             a MTCB-block and a queue map.

             Each MTCB record in CHECKP ̲FILE is read (a number
             of records are copied into the buffer BUFF in one
             disk access), and the MTCB block is copied into
             the MTCB ̲DATA area in the MTCB-pool, and its use-count
             is set to zero (later on, the use-counts will be
             changed). The Queue-Map attached to the MTCB is
             scanned (the number of entries in Queue-Map is
             equal to the maximum number of queues in the system.
             There is a direct relationship between entry no.
             and queue number). For each non-zero entry found,
             the MTCB is enqueued to the queue corresponding
             to the entry number (and subqueue no. equal to
             the contents of the entry) by call of the QACCESS
             monitor.
             Each MTCB block in the CHECKP ̲FILE is processed
             one by one as described above. Please note, that
             the MTCB use-count is set to one automatically
             when they are enqueued (QACCESS asks MTCB monitor
             to increment when enqueueing).

             If a MTCB has been queued several times to a single
             queue (ex. local distribution of messages in the
             DTS-queue, or retrieve-distribution with more than
             one copy to one terminal), only one copy will be
             inserted by RECOVM ( meaning, that only one copy
             will be printed after recovery of the system).





         c)  U̲p̲d̲a̲t̲e̲ ̲o̲f̲ ̲M̲T̲C̲B̲ ̲u̲s̲e̲-̲c̲o̲u̲n̲t̲s̲ ̲f̲o̲r̲ ̲M̲T̲C̲B̲'̲s̲ ̲l̲i̲s̲t̲e̲d̲ ̲i̲n̲
             ̲P̲D̲B̲T̲A̲B̲

             (This section is only applicable for the N/M version
             of RECOVM).

             Before the RECOVM programme is run, the SYSCHP
             programme has been run. One of the tasks performed
             by SYSCHP is to retrieve checkpoints concerning
             the critical region PDBTAB (which is used by the
             terminal process), from the CHECKP ̲FILE. When RECOVM
             starts processing the PDBTAB data are available.
             The region contains a number of records (NO ̲PDBTAB
             ̲RECS  =  30) each of length 20 words. Each second
             word in a record is the index of a MTCB, (unless
             the entry is zero). For each non-zero MTCB-index
             in a record, MON (MTCB, RESERVE) is called in order
             to increment the MTCB use-count of this MTCB. This
             processing is performed on the records one by one
             until all records in PDBTAB critical region have
             been processed.

         d)  U̲p̲d̲a̲t̲e̲ ̲o̲f̲ ̲M̲T̲C̲B̲ ̲u̲s̲e̲-̲c̲o̲u̲n̲t̲s̲ ̲a̲c̲c̲o̲r̲d̲i̲n̲g̲ ̲t̲o̲ ̲N̲S̲S̲ ̲C̲H̲E̲C̲K̲P̲
             ̲f̲i̲l̲e̲.

             (This section is only applicable for the N/M version
             of RECOVM).

             The NSS checkpoint file NSS ̲CHECKP (also called
             Outbound Message File) is accessed and the trunk
             tables are inspected. (A description of the use
             of the file is given in ref. 12, chapter 3.1.7.2
             and the layout of the file is shown in chapter
             3.4.2.6).

             Each trunk table contains a record for each precedence
             (of which there are 7). Each record has 2 sections
             each (possibly) containing a MTCB index. 

             All these indexes in each trunk table are examined,
             and if they hold a MTCB-index, then the use count
             of this MTCB is incremented by call of MON (MTCB,
             RESERVE).








         e)  U̲p̲d̲a̲t̲e̲ ̲o̲f̲ ̲M̲T̲C̲B̲ ̲u̲s̲e̲-̲c̲o̲u̲n̲t̲s̲ ̲f̲o̲r̲ ̲M̲T̲C̲B̲'̲s̲ ̲r̲e̲f̲e̲r̲e̲n̲c̲e̲d̲
             ̲i̲n̲ ̲o̲t̲h̲e̲r̲ ̲M̲T̲C̲B̲'̲s̲.

             Some of the MTCB's inserted in the MTCB ̲DATA area,
             as described in point b, may contain references
             to other MTCB's. Therefore, the MTCB use-count
             of these referenced MTCB's must be incremented.

             All MTCB blocks in the MTCB ̲POOL are inspected
             one by one and if a MTCB fulfils the criterias:

             1.  MTCB is in use.

             2.  Its MTCB use-count is not zero.

             3.  The MTCB is of type "PSEUDO".

             4.  The category and subcategories of the pseudo
                 MTCB are one of the following:

             a)  Cat.     =   MES ̲PIP.
                 Subcat.  =   3 or 4.

             b)  Cat.     =   UNSUC ̲DELIVERY ̲MSGS.
                 Subcat.  =   All categories concerning
                              "undeliverable messages"
                              (   [ and  12).

             c)  Cat.     =   STATISTICS ̲AND ̲LOCAL ̲DELIVERY.
                 Subcat.  =   SFS ̲MDS ̲LOCAL ̲DELIV.

             Then the MTCB use-count of the referenced MTCB
             is incremented by call of MON MTCB, RESERVE.

         f)  U̲p̲d̲a̲t̲e̲ ̲o̲f̲ ̲f̲i̲l̲e̲ ̲u̲s̲e̲-̲c̲o̲u̲n̲t̲s̲ ̲o̲f̲ ̲M̲T̲C̲B̲'̲s̲

             Each MTCB in the MTCB ̲POOL located in MTCB ̲DATA
             area is inspected one by one.

             The control word of the MTCB (the first word in
             the record) is checked:








             -   If the bit indicating, that the message is
                 on HDB, is set (bit ll), then the bits indicating,
                 that the message is on IMF and PDB are reset.
                 (bit 12 and 13). This means, that even if the
                 IMF bit was set, then the allocated IMF area
                 will be declared as free (ref. point h). If
                 the PDB-bit was set, then the PDB-file will
                 later on (by the initialization procedure RESPDB
                 (ref. 13)) be reset and considered as free.
                 Further the field in the MTCB, describing the
                 file index is reset (because this field only
                 applies for PDB- and IMF files).

             -   If the MTCB use-count in the control word (bits
                 0-5) of the MTCB record is bigger than zero
                 (meaning that this MTCB actually is in use
                 by an application process), then the file reference
                 bits (bits 14 and 15) in the control word are
                 examined: If the bits indicates, that a file
                 is attached to the MTCB, then the corresponding
                 entry is the IMF ̲POOL table (if the file is
                 of type IMF) or the PDB ̲POOL table (if the
                 file is of type PDB) is marked as occupied.

         g)  U̲p̲d̲a̲t̲e̲ ̲o̲f̲ ̲M̲T̲C̲B̲ ̲r̲e̲s̲o̲u̲r̲c̲e̲ ̲d̲a̲t̲a̲.

             In the MTCB ̲DATA area, there is a counter describing
             the number of MTCB's in use (MTCB ̲
             COUNT), and a counter describing the number of
             PDB-files in use (PDB ̲COUNT).

             In this section, these counters are set:

                 M̲T̲C̲B̲ ̲C̲O̲U̲N̲T̲:

                 All MTCB's in the MTCB ̲POOL in the MTCB ̲DATA
                 area are examined one by one, and if a MTCB
                 is marked "in use" and its MTCB use-count is
                 larger than zero, then the MTCB ̲COUNT is incremented
                 one.

                 P̲D̲B̲ ̲C̲O̲U̲N̲T̲:

                 The PDB ̲POOL (holding one entry for each PDB-file)
                 in the MTCB ̲DATA area is inspected: 
                 Each entry in the pool is inspected, and if
                 bit 15 is set (indicating, that a PDB-file
                 is in use), then the MTCB ̲COUNT is incremented
                 one.



         h)  L̲i̲n̲k̲i̲n̲g̲ ̲o̲f̲ ̲n̲o̲t̲ ̲u̲s̲e̲d̲ ̲e̲n̲t̲r̲i̲e̲s̲ ̲i̲n̲ ̲M̲T̲C̲B̲ ̲P̲O̲O̲L̲S̲.

             At this time, the pools MTCB ̲POOL, PDB ̲POOL and
             IMF ̲POOL in the MTCB ̲DATA area are considered as
             consistant. The only thing left to do is to organize
             all free entries in the pools:

             Each pool has a pointer to the first free element
             in the pool. This pointer is found by inspecting
             the pool entries one by one until a free element
             is found. All free entries in a pool is updated
             with a pointer to the next free entry (except for
             the last free entry in the pool: the "next free
             pointer" of this entry is set to zero). 

             The setting of pointers in pools are performed
             by a call of the LINK ̲LIST procedure for each of
             the three pools.




















3.4      D̲A̲T̲A̲ ̲O̲R̲G̲A̲N̲I̲Z̲A̲T̲I̲O̲N̲

         The following external data structures, defined outside
         this document must be known:

             1.  System software structures:
                 IO-user data structures, critical regions:
                 ref.1.

             2.  CR80 Architecture
                 BASG, PSW: ref. 4.

             3.  MTCB data structures
                 ref. 7 and 8.

             4.  PDBTAB PDB-FILE table
                 ref. ll.

             5.  CHECKP ̲FILE file
                 ref. 10.

             6.  NSS ̲CHECKP file
                 ref. 12.

         I̲n̲t̲e̲r̲n̲a̲l̲ ̲d̲a̲t̲a̲ ̲s̲t̲r̲u̲c̲t̲u̲r̲e̲s̲:

         Please refer to source listings.

         The constant MAX ̲BUFF ̲SIZE determines the size of the
         array BUFF. The size is set in the way that the entire
         area available for background processes is used.

         If the maximum available background process area is
         changed, so that it is less than # 700 words, this
         constant must be changed.










3.5      S̲T̲O̲R̲A̲G̲E̲ ̲A̲L̲L̲O̲C̲A̲T̲I̲O̲N̲S̲

         Please refer to linker output listings.



3.6      L̲I̲M̲I̲T̲A̲T̲I̲O̲N̲S̲

         -   Before RECOVM is run, the SYSCHP programme must
             have finished its processing. (SYSCHP retrieves
             the data in the critical region PDBTAB, which is
             used by RECOVM).

         -   Before RECOVM is run, the monitor procedures MTCB
             and QACCESS must be loaded, and their initialization
             programmes Q ̲INIT and MTCB ̲INIT must have been
             run.

         -   Before RECOVM is run, the data area for the critical
             regions CONFIG and RESPDB must be loaded.

         -   When RECOVM is running, no other programmes (except
             the ESP), which uses the MTCB monitor must be running.
             (RECOVM accesses the MTCB DATA area without using
             the monitor).

         -   The RECOVM programme must be run before the RESPDB
             programme is run (this programme uses the MTCB
             data area, which is modified by RECOVM).








3.7      E̲R̲R̲O̲R̲ ̲L̲O̲C̲A̲T̲I̲O̲N̲S̲


         L̲a̲b̲e̲l̲:                R̲a̲i̲s̲e̲d̲ ̲b̲y̲ ̲c̲a̲l̲l̲ ̲o̲f̲:

         1                     MON (IO, GETROOT)  (MOVHEAD)
         2                     MON (IO, GETROOT)  (FIXHEAD)
         3                     MON (MTCB, INITE)
         4                     MON (IO, LOOKUP)  (CHECKP ̲FILE)
         5                     MON (IO, READBYTES)  (CHECKP
                               ̲FILE)
         6                     MON (QACCESS, INS)
         7                     MON (REGION, RCOPYN)  (PDBTAB)
         8                     MON (MTCB, RESERVE)
         9                     MON (IO, LOOKUP)  (NSS ̲CHECKP)
         10                    MON (IO, READBYTES)  (NSS ̲CHECKP)
         11                    MON (MTCB, RESERVE)
         12                    MON (MTCB, RESERVE)
         13                    MON (MTCB, RESERVE)
         14                    MON (REGION, RCOPYN)  (CONFIG)
         0                     When the process has finished
                               processing.







                   4  Q̲U̲A̲L̲I̲T̲Y̲ ̲A̲S̲S̲U̲R̲A̲N̲C̲E̲

         N/A




               5  P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲ ̲F̲O̲R̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲

         A constant in the file NM.SCC.SWITCH determines, whether
         a N/M version or a SCC version shall be generated.
         Edit this constant to the correct value
         (SCC = TRUE OR FALSE), and then follow the instructions
         given in the file INFORMATION.