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

⟦9ebed7634⟧ Wang Wps File

    Length: 9884 (0x269c)
    Types: Wang Wps File
    Notes: FIX/1200/PSP/0067         
    Names: »3399A «

Derivation

└─⟦3b8d69e90⟧ Bits:30005794 8" Wang WCS Floppy ( A0306A )
    └─ ⟦this⟧ »3399A « 

WangText






3399A…02…FIX/1200/PSP/0067

…02… OK/830307…02……02…#
MTCB ̲INIT PROCEDURE PSP
…02……02…FK 7809













                 MTCB ̲INIT PROCEDURE PSP



                 FIX/1200/PSP/0067














                 Ove Kaastrup




                 Carl H]gstedt







                 AMC    (6)
                 CR     (3)
                 FILE   (2)














                          FIKS Manager    830307


         1    



         830307




…0f…3399A…02… FIX/1200/PSP/0067

 …02… OK/830307…02……02…R
MTCB ̲INIT PROCEDURE PSP
…02……02…      …0e…












       830307                  All      Issue 1 of Document




3399A…02… FIX/1200/PSP/0067

…02… OK/830307…02……02…i
MTCB ̲INIT PROCEDURE PSP
…02……02…FK 7809





                                      …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 .............................    2

    2 APPLICATBLE DOCUMENTS .........................    3

    3 MODULE SPECIFICATION ..........................    4
      3.2 Interface Description .....................    8
      3.3 Processing ................................    9
      3.4 Data Organization .........................   12
      3.5 Storage Allocation ........................   12
      3.6 Performance Characteristics ...............   12
      3.7 Limitations ...............................   12
      3.8 Error Codes/Error Locations ...............   13
      3.9 Listing References ........................   13

    4 QUALITY ASSURANCE .............................   13

    5 PREPARATIONS FOR DELIVERY .....................   14


1        S̲C̲O̲P̲E̲

         This document contains a detailed product specification of the MTCB data layout program MTCB
         ̲INIT.


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

         The MTCB Monitor (ref. I), which supports communication of messages among subsystems, has
         a load data area containing the MTCB pool and reservation tables.

         The data area is loaded and pointers preset by the initialization program MTCB ̲INIT.

         The program is loaded at system initialization time at a background program, and when it
         has finished executing it is removed.

         The size of pools and tables are determined by parameters defined in the critical region
         CONFIG.


1.2      A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲

         Please refer to Data Interface Reference Manual, chapter l.2 (ref.II).


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

         I   FIX/1256/PSP/0066           MTCB MONITOR PSP
         II  FIX/0100/MAN/0004           FIKS DATA I/F REF.


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

         The basis for the initialization is a data record found in the critical region CONFIG.  The
         region is loaded at a fixed location in memory: offset = F780 on page 0.  The offsets to
         the parameters and flags in the critical region are declared in the prefix file CONFIG ̲TYPE.S.

         The MTCB Data record has the following composition:

         MTCB1 =
           RECORD
             PMTCB,              "page of MTCB data
             OFFS,               "offset in this page of MTCB
                                  data
             SMTCB,              "size in words
             MPCB,               "Max PCB index allowed
             MPROC,              "Max number of processes that
                                  may use the MTCB monitor
             NMTCB,              "number of MTCB's in pool
             NIMF,               "number of IMF areas available
             NPDB,               "number of PDB file available
             MTCB ̲THRESH,        "Threshold for nonprintedged
                                  callers.
             PDB ̲THRESH:INTEGER  "Threshold for nonpriviledged
                                  callers.
           END;

         CONFIG also contains pointers to the next free areas in memory. (Each time a monitor or a
         program is loaded, the ESP updates the pointers to the next free areas on pages 0, 1 and
         2).

         The MTCB data area is placed on page 1 and the offset is calculated by MTCB ̲INIT to the next
         free word on page 1.


         The 2 first words in MTCB1 are updated.

         When the entire MTCB data area is laid out, the ESP-pointers are updated by the process.


         C̲o̲m̲m̲o̲n̲ ̲d̲a̲t̲a̲

         The MTCB Monitor has a local data area containing:

         Tables to control interface to processes

         Pool of MTCB's

         Reserve table for IMF areas

         Reserve table for PDB files

         Resource table for MTCB and PDB

         The MTCB data is based at MTCB base.  This means that all pointers are relative to this base.
          The first 17 words from MTCB base to MTCB base +16 have a fixed layout as shown below. They
         are descriptors for the rest of the MTCB data area, the layout of which is site dependent.

         MTCB2=
           RECORD
             MPCB,               "max. PCB index allowed
             PPCBI[,             "pointer PCB index [
             MPROC,              "max. # processes calling MTCB
             PSAAR1,             "pointer save area # 1
             SAARWUS             "# save area words used
             NSUBSYS,            "max # subsystems
             PUPMASK,            "pointer update masks
             PMTCB,              "pointer MTCB pool
             IFFMTCB,            "index first free MTCB
             PIMF,               "pointer IMF list
             NIMF,               "# IMF areas
             IFFIMT,             "index first free IMF area


             PPDB,               "pointer PDB list
             NPDB,               "# PDB files
             IFFPDB,             "index first free PDB file
             SEM:INTEGER;        "global semaphore
           END;


3.2      I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         MTCB ̲INIT is an initialization program and it has no interface to other subsystems.

         The process accesses the critical region CONFIG:

         The MTCB data record (MTCB ̲1) is read, and the following pointers are updated:

         PMTCB (The page on which the MTCB data is laid out)

         OFFS (The offset to the data areas)

         TOP ̲OF ̲MEMORY (When the data area is laid out, the pointers to next the free memory areas
         on pages 0, 1 and 2 are updated).


         M̲e̲m̲o̲r̲y̲ ̲A̲c̲c̲e̲s̲s̲

         The MTCB data area is laid out on page 1.

         The size of the area is site dependant, and is determined by the parameters in the critical
         region CONFIG.


3.3      P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲

         Fig. 3.3 shows the main flow in the process.

         In ref. I chapt. 3.4 the complete layout of the MTCB data are is shown.

         This chapter contains a brief description of the processing in MTCB ̲INIT. For details please
         refer to ref.I and to source listings.

         In the description below, the numbers refer to fig. 3.3

         Main events are:

         l.  The record MTCB ̲1, containing the configuration parameters for the MTCB data area is
             copied from critical region CONFIG.
             pointers to free memory areas (TOP ̲OF ̲MEMORY) are copied from CONFIG:

         2.  Page number and offset to data area (the 2 first words in MTCB ̲1) are updated in CONFIG.
             The size of the MTCB data area is calculated and pointer to next free memory on page
             1 is updated in CONFIG (TOP ̲OF ̲MEMORY).
             S̲i̲z̲e̲ ̲o̲f̲ ̲d̲a̲t̲a̲ ̲a̲r̲e̲a̲:̲ Size of MTCB ̲2 (ref. chapt. 3.1, common data) + (Number of subsystems
             + 1) + (16 x no. of processes) + Number of IMF areas + Number of PDB files + Number of
             process control blocks + (9 x number of MTCB's) + Size of resource data record (4 words).



         3.  Basic pointers and parameters used by the MTCB Monitor and placed in the first 17 words
             of the data area are updated (MTCB ̲2).  The pointers are extractions of MTCB ̲1 from CONFIG.

         4.  The resource data record is updated:

             MTCB ̲THRESH       :the value from MTCB ̲1 is inserted
             MTCB ̲COUNT        = 0
             PDB ̲THRESH        :the value from MTCB ̲1 is inserted
             PDB ̲COUNT         = 0

         5.  The area reserved for MTCB's and the PCB indexed table is filled with zeros.

         6.  A linked list of free MTCB's is created:
             The first word in each MTCB is updated with the next MTCB number.  The last MTCB has
             no links.

         7.  The IMF reservation list is updated as a linked list.  Each word in the list represents
             a specific area on the IMF file.  Each word is updated with the offset to the following
             word on the list.  The last word is reset.

         8.  The PDB reservation list is updated as a linked list (as in 7).

         9.  The global semaphore located in MTCB ̲2 is reset.

         10. The program is terminated by call of MON TERMINATE.

































                                            FIG. 3.3
                                      MTCB ̲INIT flow chart


3.4      D̲a̲t̲a̲ ̲O̲r̲g̲a̲n̲i̲z̲a̲t̲i̲o̲n̲

         The process data area consists of 4 records:

         CONFIG                (region name)
         MTCB ̲DATA             (MTCB ̲1)
         TOM                   (TOP ̲OF ̲MEMORY, 3 words)
         RESOURCE ̲DATA         (4 words)

         The final layout of the MTCB data area is shown in ref. 1 chapt. 3.4.


3.5      S̲t̲o̲r̲a̲g̲e̲ ̲A̲l̲l̲o̲c̲a̲t̲i̲o̲n̲

         Program size : 253 words
         Process size : 311 words


3.6      P̲e̲r̲f̲o̲r̲m̲a̲n̲c̲e̲ ̲C̲h̲a̲r̲a̲c̲t̲e̲r̲i̲s̲t̲i̲c̲s̲

         N/A


3.7      L̲i̲m̲i̲t̲a̲t̲i̲o̲n̲s̲

         N/A


3.8      E̲r̲r̲o̲r̲ ̲C̲o̲d̲e̲s̲/̲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 REGION, RENTER
         2                     MON REGION, RGETN
         3                     MON REGION, RGETN
         4                     MON REGION,RPUT
         5                     MON REGION,RPUT
         6                     MON REGION, RPUT
         7                     MON REGION,RLEAVE
         0                     MON TERMINATE


3.9      L̲i̲s̲t̲i̲n̲g̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

         Please refer to chapt. 5.


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̲S̲ ̲F̲O̲R̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲

         G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲O̲b̲j̲e̲c̲t̲ ̲C̲o̲d̲e̲ ̲F̲i̲l̲e̲:

         .   Copy the source directory of the actual version into a work directory.
         .   Activate the command file    MTCB ̲DATAINIT.CR
         .   Activate the command file    MTCB ̲DATAINIT.CP
         .   Activate the command file    MTCB ̲DATAINIT.LO

         The object code ready for installation is now available in the file MTCB ̲DATAINIT.C.

         L̲I̲S̲T̲I̲N̲G̲S̲

         The compilation and linker printfiles may be obtained by activating the command file MTCB
         ̲DATAINIT.PP.