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

⟦11a8291c8⟧ Wang Wps File

    Length: 12758 (0x31d6)
    Types: Wang Wps File
    Notes: FIX/1200/PSP/0085         
    Names: »4860A «

Derivation

└─⟦1f5010eea⟧ Bits:30006143 8" Wang WCS floppy, CR 0473A
    └─ ⟦this⟧ »4860A « 

WangText

…00……00……00……00……00……1d……02……86…1                                             …02…           …02…   …02…        

     4860A/ap/bna…02…FIX/1200/PSP/0085

…02…OK/840427…02……02…#
RESPDB PROCEDURE PSP 
…02……02…  FIKS















                 FIKS RESPDB PROCEDURE PSP



                 FIX/1200/PSP/0085













                 Ove Kaastrup




                 Ole Eskedal







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
















                          …0e…ILS Manager.    840507

                          S/W Manager     840507
             1             
                          Conf. Manager   840507…0f…

             840507





    4860A/ap/bna…02… FIX/1200/PSP/0085

…02… OK/840507…02……02… ii
RESPDB PROCEDURE PSP
…02……02…   FIKS 


















        840507                  All      Original issue of Document







    4860A/ap/bna…02… FIX/1200/PSP/0085

…02… OK/840507…02……02…iii
RESPDB PROCEDURE PSP
…02……02…   FIKS 







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



     1  SCOPE .......................................  
     1 
       1.1 INTRODUCTION .............................  
           1 

     2  APPLICABLE DOCUMENTS ........................  
     2 

     3  MODULE SPECIFICATION ........................  
     3 
       3.1 FUNCTIONAL CAPABILITIES ..................  
           3 
       3.2 INTERFACE DESCRIPTION ....................  
           4 
       3.3 PROCESSING ...............................  
           5 
         3.3.1 Procedure BPDBNM .....................  
               8 

       3.4 DATA ORGANIZATION ........................  
           9 

       3.5 ERROR CODES AND LABELS ...................  10
           

       3.6 PREPARATIONS FOR DELIVERY ................  10
           


                         1  S̲C̲O̲P̲E̲

         This document contains an as-built product specification
         of the initialization program RESPDB (RELEASE-PDB-PROGRAM).



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

         RESPDB is a program, which runs in the initialization
         phase of a N/M or SCC. The purpose of the program is
         to make consistency between the actual status of the
         PDB-files and the PDB-file status table of the MTCB
         monitor. RESPDB scannes the PDB-file status table of
         the MTCB monitor. Each file stated in the table as
         "not in use" is inspected. If it is not empty, the
         file is reset.

         The program is started and removed (when it has finished
         its job) before the online FIKS programs are loaded.











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

         1.  MTCB MONITOR PSP
             FIX/l256/PSP/0066

         2.  FIKS DATA INTERFACE REFERENCE MANUAL
             FIX/0l00/MAN/0004

         3.  CR80 MINI COMPUTER HANDBOOK


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

         This section gives in chapter 3.l an overview of the
         functionalities of RESPDB. In 3.2 the interfaces to
         the program is defined, and in 3.3 the processing in
         the modules are described. Chapter 3.4 decribes in
         brief important date structures in the program.



3.l      F̲U̲N̲C̲T̲I̲O̲N̲A̲L̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲I̲E̲S̲

         In the FIKS system most messages (narrative- and control
         messages) are during most of their lifecycle kept on
         a disk resident file. The files are named PDB files
         and they reside in the directory "PDB". (At present
         the directory holds 2lo PDB-files with the file names
         "PDB[[l-"PDB21["). The files are managed by the MTCB
         monitor which keeps track of which of the files are
         in use (and the mumber of users of the file) and which
         are free. 

         The free files are supposed to be empty.
         When a site (a N/M or a SCC) is closed down either
         intentionally or due to an error, a number of PDB-files
         will normally be in use and therefore have a size different
         from empty. In case the site is cold-started (the checkpointed
         messages are not recovered) the MTCB-monitor believes
         that all files are free and empty. The purpose of RESPDB
         is in this case to establish consistancy by resetting
         all the files which were in use when the system was
         closed down. 

         In case the site is warm-started (checkpointed messages
         are recovered) the MTCB monitor is informed (by the
         initialization program RECOVM) about which messages
         have been checkpointed, and its file status tables
         are updated accordingly. The purpose of RESPDB is in
         this case to inspect the PDB-file-status-table of the
         MTCB monitor and reset those PDB-files which are stated
         as not in use. The files in question mostly contain
         the types of messages, which are not checkpointed.
         



         The resetting of PDB-files must be performed:

         o   after the disks are mounted

         o   after the load of the critical region CONFIG

         o   after the load of the MTCB monitor and the initialization
             of its data area (which is performed by the MTCB
             ̲INIT program) 

         o   after the recovery of the checkpointed messages
             (which is performed by the RECOVM program if it
             is a "warm-start")

         o   before the startup of the FIKS application programs.

         The program terminates itself when it has finished
         its job. The program is loaded by ESP by means of the
         RUN-DELAY option, which means, that the RESPDB must
         terminate before the loading of other processes can
         continue. The option is used in order to reuse the
         memory area occupied by RESPDB.



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

         a.  RESPDB interfaces to the critical region CONFIG
             by means of the monitor programs supported by the
             operating system.

         b.  RESPDB interfaces to the disk resident PDB-files
             via the filemanagement system FMS, by means of
             standard I/O monitor calls.

         c.  RESPDB interfaces to the data area of the MTCB
             monitor by calculating the address of the data
             area and then simply reading the data as if they
             belong to its own process area.





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

         The main processing in RESPSB takes place in the main
         module. However, it makes use of one procedure: BPDBNM
         (the purpose of which is to build the name of a specified
         PDB file). BPDBNM is described in chapter 3.3.l.

         The processing in RESPDB is divided into 3 phases :
         

         I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲:̲

         -   A file descriptor of the disk volume MOVHEAD (on
             which the PDB-files reside) is received by calling
             IO, GETROOT 

         -   The critical region CONFIG is accessed by call
             of the monitor REGION, RCOPYN. Offset in the region
             is the offset to the MTCB parameters and the number
             of words copied from the region is the size of
             the MTCB parameters. 

         -   The PSW (process status word) of RESPDB is fetched
             and modified in such a way that the process (with
             this PSW loaded) cannot be interrupted in any way
             (fast timer interrupts, CPU interrupts and I/O
             interrupts are disabled by setting the 3 most significant
             bits in the PSW, please refer to description in
             ref. II).

             As described in ref.II, the PSW also holds information
             of in which page, the process area of RESPDB resides.
             The page in which, the MTCB data area resides is
             taken from the previously found MTCB parameters
             and the PSW is modified accordingly. This PSW is
             hereafter called "DATA PSW".

             In order to be able to read the MTCB data, the
             process base register must be modified. The base
             is calculated by subtracting the process base addres
             from the absolute page offset of the MTCB data
             area. (This offset is found among the MTCB parameters).

         -   The base is again modified so that it points to
             the top of the pool of MTCB records in the MTCB
             data area. 

         -   The "DATA PSW" is loaded. (MTCB data can now be
             read directly as if they belong to the RESPDB process
             area).



         C̲a̲l̲c̲u̲l̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲P̲D̲B̲ ̲F̲i̲l̲e̲s̲ ̲n̲o̲t̲ ̲i̲n̲ ̲u̲s̲e̲:̲

         -   The MTCB blocks are inspected one by one in a REPEAT
             loop untill all MTCBs have been scanned:
             For each MTCB, the control word is fetched: If
             the MTCB is in use (bit l5 set) and the file use
             count (the 6 least significant bits) is different
             from zero, the file type is inspected (bits 3 and
             4). 

             If the type is "PDB", the word containing the file
             number is fetched from the record, and a flag in
             the array PDB ̲INUSE is set in the entry corresponding
             to the file number. (When updating the array the
             original process PSW is loaded). 

         -   After the scan each file in use is represented
             by a flag in the corresponding entries in the PDB
             ̲INUSE array.

         -   The original PSW of RESPDB is loaded.

         R̲e̲s̲e̲t̲t̲i̲n̲g̲ ̲o̲f̲ ̲P̲D̲B̲s̲ ̲n̲o̲t̲ ̲i̲n̲ ̲u̲s̲e̲:̲

         -   The directory containing the PDB-files ("PDB")
             is looked up by call of the monitor IO, LOOKUP.

         -   The PDB ̲INUSE array is scanned and for each non-zero
             entry the following processing takes place:

             -   procedure BPDBNM is called. (At return, the
                 ASCII name of the PDB file number (specified
                 in the call) is generated).

             -   The PDB-file is opened by call of IO,LOOKUP.

             -   The status of the file (empty or not empty)
                 is determined by call of IO, GETINFORMATION.



             -   If the file is not empty, it is reset by call
                 of IO,RESET.

             -   The file is closed (and the file description
                 block released) by call of IO,DISMANTLE.

             -   After the scanning is completed, all not used
                 PDB files are empty.

             -   The RESPDB process terminates itself by call
                 of MON TERMINATE.

         Please note, that the resetting is performed in a way,
         which requires a minimum amount of (time consuming)
         disk accesses. (Resettings are preceeded by the call
         GETFILEINFORMATION (which does not require disk access)
         so that only non-empty files are reset).



3.3.1    P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲B̲P̲D̲B̲N̲M̲

         The purpose of this procedure is to build a PDB name
         corresponding to the number described in the call.

         -   The standard name PDB[[[ is generated.

         -   The decimal number of the file is calculated:

             -   Divide number by 100

             -   Exchange bytes of the result (LSB = number
                 of hundreds, MSB = [ modulo 100)

             -   The number of hundreds is added to the corresponding
                 byte in the file name

             -   The remainder of the division (the filenumber
                 modulo 100) is divided by 10. The result (the
                 number of tenths) is added to the byte in the
                 file name corresponding to the place of tenths.
                 The remainder (the number of one's) is added
                 to the byte in the file name corresponding
                 to the one's.

         -   The procedure is exited.





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

         In this section, some data types of the RESPDB process
         is described and the layout of a MTCB record is shown.

         PDB ̲INUSE:  Array of integers. Each entry corresponds
                     to a PDB-file number. (1. entry corresponds
                     to PDB001, etc).

         MTCB ̲WORK:  array of 8 integers used to build PDB names.



         Layout of a MTCB record.




                  ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
         WORD [ ^ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲W̲O̲R̲D̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^                                   ^
                ^ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲^
         WORD   ^ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲F̲I̲L̲E̲ ̲N̲U̲M̲B̲E̲R̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲^



         CONTROL WORD:   bits  0 -  5  =   file use count
                         bits  6 - 12  =   MTCB use count
                         bits 13 - 14  =   file type (0= no
                                           file,
                                           1= IMF file, 2= PDB
                                           file, 3= HDB-file)
                         bits 15       =   "in use" flag
                                           (1= MTCB in use)



3.5      E̲R̲R̲O̲R̲ ̲C̲O̲D̲E̲S̲ ̲A̲N̲D̲ ̲L̲A̲B̲E̲L̲S̲

         L̲A̲B̲E̲L̲:̲  C̲O̲D̲E̲:̲                   C̲A̲U̲S̲E̲D̲ ̲B̲Y̲:̲

            1    I/O completion code     call of MON IO, GETROOT
                                         (MOVHEAD)
            2    Region completion code  call of MON REGION,
                                         RCOPYN
            3    I/O completion code     call of MON IO, LOOKUP
                                         (PDB)
            4    "   "          "        call of MON IO, LOOKUP
                                         (PDB-file)
            5    "   "          "        call of MON IO, RESET
                                         (PDB-file)
            6    "   "          "        call of MON IO, DISMANTLE
                                         (PDB-file)
           77    "   "          "        call of MON IO, GET
                                         FILEINFO (PDB-file)



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

         -   Copy the source directory into a work directory

         -   Activate the command file RESPDB.CR

         -   Activate the command file RESPDB.CP

         -   Activate the command file RESPDB.L[

         The object code is now found in the file RESPDB.C