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