top - download
⟦0c968bd1f⟧ Wang Wps File
Length: 18701 (0x490d)
Types: Wang Wps File
Notes: CPS/SDS/026
Names: »1598A «
Derivation
└─⟦7985b6947⟧ Bits:30005810 8" Wang WCS floppy, CR 0117A
└─ ⟦this⟧ »1598A «
WangText
$…06…$…07…#…0c…#…0d…#…01…#…86…1
…02…
…02… …02…
…02…CPS/SDS/026
…02…BMN/840105…02……02…
TABLE
MANAGEMENT
DETAILED
DESIGN
SPECIFICATION…02…ISSUE
1…02…CAMPS
4.2.3 T̲M̲P̲ ̲M̲o̲n̲i̲t̲o̲r̲
TMP Monitor is a subpackage maintaining all TMP interfaces.
4.2.3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The TMP MON functions are grouped as shown on fig.
4.2.4.1-1.
Most functions are passed on to the TMP process except
from those contained in the TMP MON function Module
which requires fast access and are therefore performed
by TMP MON itself and those contained in the Main Module
which is the central init, answer ̲received, complete
and cancel points in TMP MON .
All access to TMP MON are passed through System Call
Monitor and must thus follow the general System Call
Monitor interface.
Refer to Module Specification 4.2.3.1 - 4.2.3.3.
Figure 4.2.3.1-1
4.2.3.2 S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
4.2.3.2.1 S̲C̲M̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
- SET ̲GSN cf. 4.2.3.4.2
- GET ̲GSN cf. 4.2.3.4.2
- DAILY ̲GSN ̲RESET cf. 4.2.3.4.2
- GET ̲SYSTEM ̲PARAMETER cf. 4.2.3.4.2
4.2.3.2.2 I̲n̲t̲e̲r̲n̲a̲l̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
- TMP ̲INIT cf. 4.2.3.4.3
- TMP ̲ANSWER ̲RECEIVED cf. 4.2.3.4.3
- TMP ̲CANCEL cf. 4.2.3.4.3
- TMP ̲COMPLETE cf. 4.2.3.4.3
- DO ̲TMP ̲REQUEST cf. 4.2.3.4.3
- SEND ̲TO ̲TMP cf. 4.2.3.4.3
4.2.3.3 D̲a̲t̲a̲ ̲F̲l̲o̲w̲,̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲,̲ ̲a̲n̲d̲ ̲W̲a̲i̲t̲i̲n̲g̲ ̲P̲o̲i̲n̲t̲s̲
The Control Logic is shown in figure 4.2.3.3-1.
The two waiting points for "answer received" and "function
completion" are placed as follows:
- The procedure SEND ̲TO ̲TMP contains the waiting
point "answer received". It shall save its return
address and possible other variables in the SOCB.
The procedure is called in all the SCM procedures
contained in the TMP process functions module and
no other procedure contains an "answer received"
waiting point.
- Each of the SCM procedures contains a "function
completion" waiting point. This waiting point is
contained in the SCM.
Figure 4.2.3.3-1
4.2.3.4 M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.3.4.1 T̲M̲P̲ ̲P̲r̲o̲c̲e̲s̲s̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲M̲o̲d̲u̲l̲e̲
4.2.3.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The TMP process functions module contains the following
functions, the functional description of which can
be found as follows:
a) Request cf. (b) 4.1.1
b) Get TMP statistics cf. (b) 4.1.2
c) Get table attributes cf. (b) 4.1.3
d) Lock table cf. (b) 4.1.4
e) Unlock table cf. (b) 4.1.5
f) Reorganize cf. (b) 4.1.6
g) Abandon reorganize cf. (b) 4.1.7
h) Backup cf. (b) 4.1.8
i) System Start up cf. (b) 4.1.9
j) Set GSN flags cf. (b) 4.1.13
k) Set system parameters cf. (b) 4.1.14
4.2.3.4.12 I̲n̲t̲e̲r̲f̲a̲c̲e̲
The module has the following package interfaces:
a) Request cf. (b) 4.1.1
b) Get TMP statistics cf. (b) 4.1.2
c) Get table attributes cf. (b) 4.1.3
d) Lock table cf. (b) 4.1.4
e) Unlock table cf. (b) 4.1.5
f) Reorganize cf. (b) 4.1.6
g) Abandon reorganize cf. (b) 4.1.7
h) Backup cf. (b) 4.1.8
i) System Start up cf. (b) 4.1.9
j) Set GSN flags cf. (b) 4.1.13
k) Set system parameters cf. (b) 4.1.14
4.2.3.4.1.3 C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N.A
4.2.3.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
N.A
4.2.3.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
E̲x̲t̲e̲r̲n̲a̲l̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
N.A
N̲a̲r̲r̲a̲t̲i̲v̲e̲
TMP MONITOR MAIN module posses these requests on to
TMP PROCESS by excecuting the procedures DO ̲TMP ̲REQUEST
and SEND ̲TO ̲TMP.
4.2.3.4.2 T̲M̲P̲ ̲m̲o̲n̲i̲t̲o̲r̲ ̲f̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲m̲o̲d̲u̲l̲e̲
4.2.3.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The TMP monitor functions module contains the functions,
the functional Description of which can be found as
follows:
a) Set Global Serial Number cf. (b) 4.1.10
b) Daily Global Serial Number Reset cf. (b) 4.1.11
c) Get Global Serial Number cf. (b) 4.1.12
d) Get System Parameters cf. (b) 4.1.15
4.2.3.4.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The Module has the following interfaces, which all
are Package Interfaces:
a) Set Global Serial Number cf. (b) 4.1.10
b) Daily Global Serial Number Reset cf. (b) 4.1.11
c) Get Global Serial Number cf. (b) 4.1.12
d) Get System Parameters cf. (b) 4.1.15
4.2.3.4.2.3 C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
The components,
- SET ̲GSN cf. 4.2.3.4.2.5.a
- DAILY ̲GLOBAL ̲SERIAL ̲NUMBER ̲RESET cf. 4.2.3.4.2.5.b
- GET ̲GSN cf. 4.2.3.4.2.5.c
- GET ̲SYSTEM ̲PARAMETERS cf. 4.2.3.4.2.5.d
are implemented as SCM procedures
- BINARY ̲TO ̲ASCII
Converts the specified binary value to four ASCII characters.
If three digit indicator is true, the first character
will be a space.
Leading zeroes are not suppressed.
- ASCII ̲TO ̲BINARY
Converts the four ASCII characters to a binary value.
The first character may be a space or a digit. The
remaining characters must be digits. Error exit if
any of the characters are illegal.
Figure 4.2.3.4.2.3 TMP MON function module components
4.2.3.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
GSN ̲ELEMENT cf. 4.1.4.6
GSN ̲ARRAY cf. 4.1.4.6
SYSTEM ̲PARAMETER ̲ARRAY cf. 4.1.4.5
TMP ̲HW ̲SEM cf. 4.1.4.7
GSN ̲GROUP cf. 4.1.4.6
PARAMETER ̲SPECIFIER ̲ARRAY cf. 4.1.4.5
PARAMETER ̲SPECIFIER cf. 4.1.4.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
GSN ̲ELEMENT.DAILY ̲RESET
GSN ̲ELEMENT.THREE ̲DIGIT
GSN ̲ELEMENT.GSN (m)
SYSTEM ̲PARAMETER ̲SPECIFIER.LENGTH
SYSTEM ̲PARAMETER ̲SPECIFIER.PARAMETER
TMP ̲HW ̲SEM (m)
MAX ̲SYSTEM.PARAMETERS: INTEGER
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
NA
4.2.3.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
E̲x̲t̲e̲r̲n̲a̲l̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
CHECK ̲PAGE ̲ACCESS 4.2.3.6.2
TMP ̲RETIRE 4.2.3.6.3
CHECK ̲GSN ̲ID 4.2.3.6.1
a) G̲e̲t̲ ̲G̲l̲o̲b̲a̲l̲ ̲S̲e̲r̲i̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Checks if the specified GSN reference is a Valid
GSN reference. If not the caller is retired.
The GSN ̲ARRAY is reserved by Locking TMP ̲HW ̲SEM.
If the parameter INCREASE is TRUE the specified
GSN ̲ARRAY element is incremented according to the
following rule:
A three digit GSN will allways wrap around to 1
after 999 and a four digit GSN will allways wrap
around to 1 after 9999.
Then the specified GSN is read and the TMP ̲HW ̲SEM
is unlocked.
The output is converted to ASCII and SOCB is updated
Function completion is awaited
F̲l̲o̲w̲g̲r̲a̲m̲:̲
N.A
b) D̲a̲i̲l̲y̲ ̲G̲l̲o̲b̲a̲l̲ ̲S̲e̲r̲i̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲ ̲r̲e̲s̲e̲t̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲
Checks if the GSN reference is a valid GSN reference.
If not the caller is retired.
The GSN ̲ARRAY is reserved by locking TMP ̲HW ̲SEM.
If the DAILY ̲RESET flag of the specified GSN is
set the specified GSN is for a three digit GSN
set to 999 and for a four digit GSN set to 9999.
The TMP ̲HW ̲SEM is unlocked and function completion
awaited.
F̲l̲o̲w̲g̲r̲a̲m̲:̲
N.A
c) S̲e̲t̲ ̲G̲l̲o̲b̲a̲l̲ ̲S̲e̲r̲i̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲
Checks if the GSN reference is a valid GSN reference.
If not the caller is retired.
The input GSN ASCII value is converted to binary.
The GSN array is locked.
Then the specified GSN array element is set to
binary GSN value according to the Three DIGIT flag.
If any discrepancy exists an informative CC is
returned.
Then the GSN array is unlocked and function completion
is awaited.
F̲l̲o̲w̲g̲r̲a̲m̲:̲
N.A
d) G̲e̲t̲ ̲S̲y̲s̲t̲e̲m̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲
It is checked that the specified output address
is within the logical dataspace of caller and that
the parameter reference is a valid parameter reference.
If these checks are not successfull the caller
is retired.
then a pointer to the wanted parameter is read
from the SYSTEM ̲PARAMETER ̲POINTER ̲ARRAY and the
corresponding SYSTEM ̲PARAMETER is reserved by locking
TMP ̲HW ̲SEM.
Then the parameter is written to the buffer specified
by caller.
The TMP ̲HW ̲SEM is unlocked and function completion
is awaited.
F̲l̲o̲w̲g̲r̲a̲m̲:̲
N.A
4.2.3.4.3 M̲a̲i̲n̲ ̲M̲o̲d̲u̲l̲e̲
4.2.3.4.3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The Main Module is implemented as 4 procedures called
by system Call Monitor;
TMP ̲INIT, TMP ̲ANSWER ̲RECEIVED, TMP ̲COMPLETE ̲FUNCTION,
TMP ̲CANCEL, and 1 procedure used by actual functions
WAIT.
a) T̲M̲P̲ ̲I̲N̲I̲T̲
This is the init system call entry point from system
call monitor.
Input registers are taken from context frame and
stored in SOCB. Then the action depends upon function:
b) - F ̲REQUEST is handled by procedure
DO ̲TMP ̲REQUEST.
- SEARCH functions are sent to TMP SEARCH SYNCEL.
- UPDATE functions are sent to TMP UPDATE SYNCEL.
- REMAINING functions are handled by the MON
̲FUNC module in TMP MONITOR.
SOCB list is searched for the SOCB referenced by
answer.
When found, it is set to be 'DONE SOCB'. CC and
exitnumber are inserted, and SOCB status is set
to DONE.
c) The function is DUMMY, as all output parameters
were prepared during TMP ̲INIT and TMP ̲ANSWER ̲RECEIVED.
d) T̲M̲P̲ ̲C̲A̲N̲C̲E̲L̲
The function is DUMMY, as TMP functions can not
be cancelled.
4.2.3.4.3.2 Interface
a) T̲M̲P̲ ̲i̲n̲i̲t̲
C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
(R3; "C FUNCTION
" R EXIT NUMBER
R5; "C %SOCB
" R CC
R6); "C - LINK
b) T̲M̲P̲ ̲A̲n̲s̲w̲e̲r̲ ̲R̲e̲c̲e̲i̲v̲e̲d̲
C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
(R2; "C LAST SOCB
" R DONE COUNT (ALWAYS 1)
R3; "C K %ANSWER
R5; "C FIRST SOCB
" R DONE SOCB
R6); "C - LINK
c) T̲M̲P̲ ̲C̲o̲m̲p̲l̲e̲t̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲c̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
(R5; "C K %SOCB
R6); "C - LINK
d) T̲M̲P̲ ̲C̲a̲n̲c̲e̲l̲
C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
(R5; "C K %SOCB
R6); "C K LINK
NA
4.2.3.4.3.3 C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
This module consists of six procedures
- TMPMON ̲INIT
- TMP ̲ANSWER ̲RECEIVED
- TMP ̲COMPLETE
- TMP ̲CANCEL
- DO ̲TMP ̲REQUEST
Generates a trace record of TMP ̲PARAM.Then unpacks
and checks TMP ̲PARAM, and sends the reference to the
TMP process. Syncel depends upon function.
- SEND ̲TO ̲TMP
Uses function and the four register parameters R1 -
R4 stored in SOCB.SS ̲DATE (1..4) to prepare an info
block of request info and send it to the specified
TMP request sync element.
The SOCB.SS ̲DATA are moved to request info as follows:
SS ̲DATA (4) to APP ̲REF
SS ̲DATA (1..3) to PARAMS (1..3);
4.2.3.4.3.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
SOCB 4.1.5.1.6.1
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SOCB.RETURN (m)
SOCB.STATUS (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
NA
4.2.3.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
NA
4.2.3.5 S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
N.A
4.2.3.6 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
4.2.3.6.1 C̲h̲e̲c̲k̲ ̲G̲S̲N̲ ̲I̲D̲
4.2.3.6.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
Converts GSN ̲ID specifying GSN ̲GROUP and INDEX within
GROUP to a pointer to the GSN. The calling process
is retired, if GSN ̲ID is invalid.
4.2.3.6.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
(R1; "C K (GSN ̲ID.GSN ̲GROUP)
R2; "C K (GSN ̲ID.GSN ̲INDEX)
R5; "- R %GSN
R6); "C - LINK
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲
GSN ̲ID ̲ERROR
4.2.3.6.1.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
GSN ̲ARRAY
GSN ̲GROUP ̲ARRAY
GSN ̲ELEMENT
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
GSN ̲GROUP ̲ARRAY cf. 4.1.4.6
GSN ̲ARRAY cf. 4.1.4.6
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
NA
4.2.3.6.1.4 C̲h̲e̲c̲k̲ ̲G̲S̲N̲ ̲I̲D̲ ̲D̲e̲s̲i̲g̲n̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲:̲
It is checked that GSN ̲ID. GROUP is a valid group if
not the caller is Retired
then actual index in GSN ̲ARRAY is calculated.
It is checked that the calculated value is within valid
range for actual GSN group.
F̲l̲o̲w̲g̲r̲a̲m̲:̲
N.A
4.2.3.6.2 C̲h̲e̲c̲k̲ ̲P̲a̲g̲e̲ ̲A̲c̲c̲e̲s̲s̲
4.2.3.6.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Checks, if calling process has WRITE ACCESS to
specified buffer.
If not, the process is retired.
4.2.3.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
(R1; "C - %BUFFER
R2; "C - BUFFER SIZE
R6); "C - LINK
4.2.3.6.2.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
N̲A̲
4.2.3.6.2.4 C̲h̲e̲c̲k̲ ̲P̲a̲g̲e̲ ̲A̲c̲c̲e̲s̲s̲ ̲D̲e̲s̲i̲g̲n̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Calls the PM ̲CHECK ̲PAGE ̲ACCESS procedure. If check
not OK TMP ̲RETIRE is called.
F̲l̲o̲w̲g̲r̲a̲m̲
NA
4.2.3.6.3 T̲M̲P̲ ̲R̲e̲t̲i̲r̲e̲
4.2.3.6.3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Retires the process with completion code as primary
cause code. The other cause codes are set to OK.
Note that the procedure must not be called from a CRITICAL
REGION.
Upon return to 'CLEAN EXIT' a return from MON CALL
is made.
Return to 'RESUMED' EXIT is impossible.
4.2.3.6.3.2 ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
(R0; "C - COMPLETION CODE
R6); "C - LINK
4.2.3.6.3.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
NA
4.2.3.6.3.4 T̲M̲P̲ ̲R̲e̲t̲i̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
E̲x̲t̲e̲r̲n̲a̲l̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
RETIRE (d) 4.1.3
N̲a̲r̲r̲a̲t̲i̲v̲e̲
Calls RETIRE with codes as follows:
- PRIMARY : SUBPACKAGE
- SECONDARY : CC
- TERTIARY : LINK
and with the boolean RESTART ̲ALLOWED = FALSE.
F̲l̲o̲w̲g̲r̲a̲m̲
NA
4.2.3.6.4 U̲p̲d̲a̲t̲e̲ ̲S̲O̲C̲B̲
4.2.3.6.4.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
If fatal error bit is set in CC, the calling process
is retired.
Otherwise:
- SOCB.SS ̲DATA (SOCB ̲CC) is set to CC
- IF CC = OK,SOCB.SS ̲DATA (SOCB ̲EXIT) is set to OKAY,
otherwise to ERROR.
Finally SOCB.STATUS is set to DONE.
4.2.3.6.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
(R1; "C - CC
R5; "C K %SOCB
R6); "C - LINK
4.2.3.6.4.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
SOCB CPS ̲PREFIX*SYS ̲CALL ̲MON
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SOCB.CC (m)
SOCB.EXITNO (m)
SOCB.STATUS (m)
4.2.3.6.4.4 U̲p̲d̲a̲t̲e̲ ̲S̲O̲C̲B̲ ̲D̲e̲s̲i̲g̲n̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
SOCB.CC is set to specified CC. If CC is equal
OK, then SOCB.EXITNO is set to OK, if not SOCB.EXITNO
is set to ERROR.
F̲l̲o̲w̲g̲r̲a̲m̲
NA
4.2.3.6.5 L̲o̲c̲k̲ ̲T̲M̲P̲
4.2.3.6.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Locks the TMP HARDWARE SEMAPHORE protecting the TMP
SHARED DATA.
The procedure loops until it succeeds in locking.
4.2.3.6.5.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
(R6); "C - LINK
4.2.3.6.5.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
TMP ̲SYSTEM ̲DATA cf 4.1.4.2
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
TMP ̲SYSTEM DATA.TMP ̲HW ̲SEM (M)
4.2.3.6.5.4 L̲o̲c̲k̲ ̲T̲M̲P̲ ̲D̲e̲s̲i̲g̲n̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
TMP ̲HW ̲SEM is set to TRUE by using the instruction
RESS.
F̲l̲o̲w̲g̲r̲a̲m̲
N.A
4.2.3.6.6 U̲n̲l̲o̲c̲k̲ ̲T̲M̲P̲
4.2.3.6.6.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Unlocks the TMP HARDWARE SEMAPHORE protecting TMP SHARED
DATA.
4.2.3.6.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
(R6); "C - LINK
4.2.3.6.6.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲a̲n̲c̲e̲s̲
TMP ̲SYSTEM ̲DATA cf 4.1.4.2
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
TMP ̲SYSTEM ̲DATA.TMP ̲HW ̲SEM (M)
4.2.3.6.6.4 U̲n̲l̲o̲c̲k̲ ̲T̲M̲P̲ ̲D̲e̲s̲i̲g̲n̲
N̲a̲r̲r̲a̲t̲i̲v̲e̲
TMP ̲HW ̲SEM is set to FALSE by using the instruction
RELS
F̲l̲o̲w̲g̲r̲a̲m̲
N.A
4.2.3.6.7 C̲S̲P̲ ̲E̲R̲R̲O̲R̲
4.2.3.6.7.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Retires the process in case of stack overflow in CPS
̲STACK.
Completion code is set to 'TMP INTERNAL ERROR'.
4.2.3.6.7.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
(R6); "C - LINK
4.2.3.6.7.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
CPS ̲STACK (a) 4.6
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
CPS ̲STACK
4.2.3.6.7.4 C̲S̲P̲ ̲E̲R̲R̲O̲R̲ ̲D̲e̲s̲i̲g̲n̲
N.A
4.2.3.6.8 G̲e̲t̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
4.2.3.6.8.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Reads registers R1 - R4 from context frame and stores
them in SOCB.SS ̲DATA (1..4)
4.2.3.6.8.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
(R1; "- R FROM CONTEXT FRAME
R2; "- R FROM CONTEXT FRAME
R3; "- R FROM CONTEXT FRAME
R4; "- R FROM CONTEXT FRAME
R5; "C K %SOCB
R6); "C - LINK
4.2.3.6.8.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
SOCB CPS ̲PREFIX*SYS ̲CALL ̲MON
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SOCB
4.2.3.6.8.4 G̲e̲t̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲ ̲D̲e̲s̲i̲g̲n̲
N.A
4.2.3.7 S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
TMP Monitor interfaces to table search and table update
subpackages via SyncEls. The interface is always such
that a user request is passed on to another subpackage
by sending input parameters and requesting subprocess
identification to the other subpackage.
Answers to the requests are received via the System
Call Monitor.
4.2.3.7.1 I̲n̲f̲o̲b̲l̲o̲c̲k̲ ̲s̲e̲n̲d̲ ̲t̲o̲ ̲T̲M̲P̲
The infoblock used to send a command to the synchronization
elements associated with the TMP Process is formattet
as REQUEST ̲INFO specified in TMP.D*PRF.F*SYSTEMPRF.
4.2.3.7.2 A̲n̲s̲w̲e̲r̲ ̲r̲e̲c̲e̲i̲v̲e̲d̲ ̲f̲r̲o̲m̲ ̲T̲M̲P̲
The format used in answers from TMP is RESPONSE ̲INFO
specified in TMP.D*PRF.D.SYSTEMPRF
Figure 4.2.3.7-1 TMP Monitor Subpackage Interface
4.3 M̲E̲M̲O̲R̲Y̲ ̲L̲A̲Y̲O̲U̲T̲
The storage needed for TMP is split into three different
parts:
- Table Storage
- Working Storage
- Code Storage.
The sizes of these three parts are described in sections
4.3.1-3.
The common storage size is as follows:
Memory Disk
Table Storage 16 kbytes 1320 kbytes
Working Storage 16 kbytes 1380 kbytes
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
̲ ̲
32 kbytes 2700 kbytes
…0f… =========== ===========…0e…
Code Storage 18.0 kbytes
…0f… ===========
4.3.1 T̲a̲b̲l̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲
Table storage including
- RECORD ̲DESCRIPTIONS
- TABLE = DESCRIPTIONS
- INDEX TABLES
- MEMORY TABLES
are in total 16 kbytes.
4.3.2 W̲o̲r̲k̲i̲n̲g̲ ̲S̲t̲o̲r̲a̲g̲e̲
The total working storage is a sum of the storage needed
for TMP Monitor and the three coroutines.
These three parts require storage as follows:
Memory Disk
(bytes) (kbytes)
TMP Monitor 0000 0
Memory Search 0000 0
Disc Search 3400 0
Update 4400 600
Variables ̲8̲0̲0̲0̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
̲
15800 bytes 600 kbytes
…0f… =========== ==========…0e…
4.3.3 C̲o̲d̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲
The TMP code consists of 17 modules, each including
175 statements on average.
One swell statement is on average 6 bytes.
Required storage: 17 x 175 x 6 = 18 kbytes
…0f…=========…0e…
The code resides in memory.