Google
 

Trailing-Edge - PDP-10 Archives - bb-d868a-bm - 3-documentation/build.mem
There are 36 other files named build.mem in the archive. Click here to see a list.


+---------------+
! d i g i t a l !  I N T E R O F F I C E  M E M O R A N D U M
+---------------+

TO:  TOPS20 List A
                                       DATE:  1 Apr 78

                                       FROM:  TOPS20 Soft. Eng.

                                       DEPT:  DEC20 S. E. Dept.

                                       LOC:   MR1-2

                                       FILE:  [DOC-SPECS]
                                               BUILD.SPC



SUBJ:  TOPS20 Monitor Building Procedures and Information




                                      Fourth  Printing,   April
                                      1978



COPYRIGHT  (C)  1976,   1977,   1978   BY   DIGITAL   EQUIPMENT
CORPORATION, MAYNARD, MASS.


THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED  AND
COPIED  ONLY  IN  ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND
WITH  THE  INCLUSION  OF  THE  ABOVE  COPYRIGHT  NOTICE.   THIS
SOFTWARE  OR  ANY  OTHER  COPIES THEREOF MAY NOT BE PROVIDED OR
OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.  NO TITLE TO  AND
OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.


THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO  CHANGE  WITHOUT
NOTICE  AND  SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.

DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
To:  TOPS20 List A                                       Page 2
Subj:  TOPS20 Monitor Building Procedures and Info.






1.0  INTRODUCTION


This document provides complete information on configuring  and
building  the  TOPS20  monitor.   Multiple  configurations  are
provided so as to minimize the amount of resident storage  used
while  supporting all of the available peripheral devices.  The
"build" procedure produces a core-image  file  of  the  monitor
from    the    various    relocatable   files   and   the   one
parameter-dependent source file.

Generally, an installation will be  able  to  run  one  of  the
standard  monitor  configurations  supplied.  Section 2 of this
document  tells  how  to   select   the   appropriate   monitor
configuration and how to run the build procedure.

Some installations may wish  to  use  a  set  of  configuration
parameters different from those of the standard set.  Section 3
describes the function of each parameter and its effect on  the
resultant configuration.

Section 4 describes how to add  installation-specific  terminal
definitions.




2.0  BASIC MONITOR SELECTION AND BUILDING PROCEDURES


Note:  This section is intended for anyone who needs to build a
monitor,  and  it  requires a minimum level of familiarity with
the structure or operation of the system.  The knowledge  which
is required is:

    1.  How to login and use basic EXEC commands.

    2.  How to use the magtape file restore program (DUMPER).

    3.  How to bring up the system with an existing monitor.
To:  TOPS20 List A                                       Page 3
BASIC MONITOR SELECTION AND BUILDING PROCEDURES




2.1 How to Select a Monitor Configuration

There are seven standard  monitor  configurations.   The  first
four  are  intended for general timesharing and batch operation
and differ only in overall size.  The  fifth  is  intended  for
batch-only operation.  The sixth and seventh are 2020 monitors.
A  eighth  configuration  is   an   ARPA-only   monitor.    The
configuration names and general descriptions are:

    "Minimum"   The  smallest   supported   configuration   for
                general timesharing (non-ARPA).

    "Small"     A  typical  small  configuration  for   general
                timesharing.

    "Medium"    A typical medium-size configuration for general
                timesharing.

    "Batch"     A configuration for batch-only operation  on  a
                medium     to     large    non-ARPA    hardware
                configuration.

    "Big"       The  largest  standard  monitor  supported   by
                Digital.

    "2020-small" A typical small configuration for general 2020
                timesharing.

    "2020-medium"  A  typical  medium-sized  configuration  for
                general 2020 timesharing.
    "Large"     The largest monitor supported by Digital  (ARPA
                only).

    1.  If you intend  to  do  batch-only  operation  and  your
        machine  has  at  least  128K  core, select the "Batch"
        monitor.  If you have less than 128K core, the  "Batch"
        monitor   does  not  provide  any  advantage  over  the
        appropriate  general  purpose  monitor.   The   "Batch"
        monitor  supports 14 jobs, 12 pseudo-terminals (PTY's),
        8 terminal lines, 256K core memory,  8  magtape  units,
        and 2 line printers.

    2.  If you are not using the "Batch" monitor, select one of
        the  general  purpose  monitors  based on your hardware
        configuration.  You  will  want  the  smallest  monitor
        which  supports  all of the hardware you have and which
        handles the number of users you  wish  to  allow.   All
        monitors support up to 8 disk drives.
To:  TOPS20 List A                                       Page 4
BASIC MONITOR SELECTION AND BUILDING PROCEDURES



        a.  The "Minimum" monitor will support the following:

                20 Users (interactive and batch)
                64 Terminal Lines, 20 active
                96K Core memory (max)
                2 Magtape units (max)
                1 Line Printer
                2350 Pages of swapping space
                no ARPANET interface

        b.  The "Small" monitor will support the following:

                40 Users (interactive and batch)
                64 Terminal Lines, 40 active
                256K Core memory
                8 Magtape units (max)
                2 Line Printers (max)
                2350 Pages of swapping space
                20 Network Virtual Terminals (ARPA only)

        c.  The "Medium" Monitor will support the following:

                60 Users (interactive and batch)
                64 Terminal Lines, 60 active
                256K Core memory
                8 Magtape Units (max)
                2 Line Printers (max)
                3070 Pages of swapping space
                30 Network Virtual Terminals (ARPA only)

        d.  The "Big" monitor will support the following:

                100 Users (interactive and batch)
                128 Terminal lines, 100 active
                512K Core memory
                8 Magtape units (max)
                2 Line printers (max)
                5000 Pages of swapping space
                40 Network Virtual Terminals (ARPA only)

         e.   The  "2020-small"  monitor   will   support   the
         following:

                40 Users (interactive and batch)
                32 Terminal lines, 20 active
                256K memory
                8 Magtape units (max)
                2 Line printer (max)
                3000 Pages of swapping space

         f.   The  "2020-medium"  monitor  will   support   the
         following:
To:  TOPS20 List A                                       Page 5
BASIC MONITOR SELECTION AND BUILDING PROCEDURES


                60 Users (interactive and batch)
                32 terminal lines, 32 active
                512K memory
                8 Magtape units (max1
                5000 Pages of swapping space

         g.  The "large" monitor will support the following:

                100 Users (interactive and batch)
                128 Terminal lines, 100 active
                1024K Core memory
                8 Magtape units (max)
                2 Line printers (max)
                5000 Pages of swapping space
                40 Network Virtual Terminals

                This  monitor  is  only   supported   on   ARPA
                installations with the AN20 ARPANET Interface.


It does not matter if the monitor you select supports  more  of
some  devices than you have.  The resident core requirements of
each device are quite small, and  monitors  configured  between
the   ones   above   would  not  show  significant  performance
improvement.


2.2 How to Build a Standard Monitor Configuration

At this point, you will  have  selected  one  of  the  standard
monitor  configurations  described  above  (or have constructed
your own parameter  file  as  described  in  Section  3).   The
following  step-by-step procedure produces a monitor configured
according to the  parameters  in  the  corresponding  parameter
file.

(  )    1.  Login and  connect  to  a  directory  containing  a
            complete  set  of  monitor  files.   If the monitor
            files have not been loaded onto the disk, load them
            from  your distribution tape using DUMPER (document
            TOPS20.DOC ).

(  )    2.  If you are building a standard  monitor,  copy  the
            appropriate parameter file to "PARAM0.MAC".  If you
            are building an ARPA monitor, copy the  appropriate
            parameter file to "PARAN.MAC".  The parameter files
            for the various monitors are:

           Standard Monitor             ARPA Monitor

           "Minimum" = PARMIN.MAC             N/A
           "Small"   = PARSML.MAC       "Small"  = ANPSML.MAC
           "Medium"  = PARMED.MAC       "Medium" = ANPMED.MAC
           "Batch"   = PARBCH.MAC             N/A
To:  TOPS20 List A                                       Page 6
BASIC MONITOR SELECTION AND BUILDING PROCEDURES


           "Big"     = PARBIG.MAC       "Big"    = ANPBIG.MAC
                N/A                           N/A
                N/A                           N/A
                N/A                     "Large"  = ANPLGE.MAC


        For example, if you are building a standard small
        monitor,

        @COPY PARSML.MAC (TO) PARAM0.MAC.1 !new file!

        If you are building a medium ARPA monitor,

        @COPY ANPMED.MAC (TO) PARAN.MAC.1 !new file!

( )     3.  If you are building a standard (OR  2020)  monitor,
            copy the appropriate name file to "NAMAM0.MAC".  If
            you  are  building  an  ARPA  monitor,   copy   the
            appropriate  name  file  to  "NAMAN.MAC".  The name
            files for the various monitors are:


                            2200 MONITOR

                                N/A
                                N/A
                                N/A
                                N/A
                                N/A
                           "2020-SMALL" = P20SML.MAC
                           "2020-MEDIUM" = P20MED.MAC
                                N/A

           Standard Monitor             ARPA Monitor

           "Minimum" = NAMMIN.MAC             N/A
           "Small"   = NAMSML.MAC       "Small"  = ANNSML.MAC
           "Medium"  = NAMMED.MAC       "Medium" = ANNMED.MAC
           "Batch"   = NAMBCH.MAC             N/A
           "Big"     = NAMBIG.MAC       "Big"    = ANNBIG.MAC
                N/A                           N/A
                N/A                             N/A
                N/A                     "Large"  = ANNLGE.MAC

        For example, if you are building a standard small
        monitor,

        @COPY NAMSML.MAC (TO) NAMAM0.MAC.1 !new file!

        If you are building a medium ARPA monitor,

        @COPY ANNMED.MAC (TO) NAMAN.MAC.0 !new file!

( )     4.  Submit the appropriate batch file for the  type  of
To:  TOPS20 List A                                       Page 7
BASIC MONITOR SELECTION AND BUILDING PROCEDURES


            monitor   you   are  building:   TOPS20.CTL  for  a
            standard  monitor,  T20-AN.CTL  for  for  an   ARPA
            monitor, T2020.CTL for 2020.

        For example, to build a standard small monitor,

                @SUBMIT TOPS20/TAG:SINGLE/TIME:2:0:0

        To build a medium ARPA monitor,

                @SUBMIT T20-AN/TAG:SINGLE/TIME:2:0:0


            This will leave the monitor in your directory.  The
            file name of the monitor file is MONITR.EXE.

            If it is desirable to build  all  of  the  standard
            monitors,  then  submit  the  control  file  with a
            /TAG:ALL switch, e.g.,

                @SUBMIT TOPS20/TAG:ALL/TIME:2:0:0

( )     5.  If this monitor is to be loaded from magtape,  copy
            the file to magtape.

                COPY MONITR.EXE (TO) MTA0:

            The tape density must be 1600  BPI  for  MTBOOT  to
            work.

The build procedure is now complete  and  the  new  monitor  is
ready to be brought up using the normal bootstrap procedures.




3.0  THE MONITOR CONFIGURATION PARAMETERS


Note:  This section is intended for anyone needing to  build  a
monitor    configuration    different    from    the   standard
configurations.   It  requires  some   familiarity   with   the
operation   of  the  system  and  utility  programs,  and  some
knowledge of the structure of the monitor.  Specifically:

    1.  Everything required in Section 2.

    2.  How to use the text editor.

    3.  How to read assembly language.

    4.  The meaning of  common  monitor  terms,  e.g.,  "jobs",
        "forks", "PTY", etc.
To:  TOPS20 List A                                       Page 8
THE MONITOR CONFIGURATION PARAMETERS


The monitor configuration is determined by a  single  parameter
file  PARAM0.MAC (or PARAN.MAC if building an ARPANET monitor).
This file is the only configuration-dependent file required for
a monitor build.  To configure a monitor, you will use the text
editor  to  produce  this  parameter  file.    PARAM0.MAC   (or
PARAN.MAC)  should  contain  only  those  parameters  that  are
different from the standard values listed in PARAMS.MAC.   This
section  describes the meaning of each parameter and its effect
on the monitor configuration.

You should read each description, determine  the  proper  value
for your configuration, and note this value on a listing of the
parameter file.  You  can  then  edit  the  parameter  file  to
include these values.

Your edited parameter file should be given the name PARAM0.MAC,
(or PARAN.MAC if building an ARPA monitor).

When the new parameter file has been produced, you  may  follow
the normal monitor build procedure (Section 2).

The Parameter File



3.1  NJOBS

        The number of jobs.  This parameter determines the size
        of  the job tables and hence the maximum number of jobs
        which  can  exist  at  any  one  time.   This  includes
        interactive and batch jobs and the automatic jobs which
        perform background functions (e.g., LPTSPL).  There are
        5  resident tables which are directly dependent on this
        parameter;  in addition, the number of forks (described
        below) is usually determined by the number of jobs, and
        the normal ratio is 3  forks/job.   Hence  (unless  you
        change  the  fork/job  ratio),  the  number of resident
        words required is:

                N=NJOBS*(5+3*13) = NJOBS*44



3.2  NDHL, NDLL

        The  number  of  physical  terminals.   This  parameter
        determines  the  number of physical terminal lines (not
        including PTY's) including the CTY.  NDHL is the number
        of  DH lines on the front-end.  This number is normally
        16 times the number of DH's in the front-end.  NDLL  is
        the  number of DL lines on the front-end, including the
        CTY.  The number of resident words required is:

                N = 5*(NDHL+NDLL+1)
To:  TOPS20 List A                                       Page 9
THE MONITOR CONFIGURATION PARAMETERS


3.3  NTTPTY

        The  number  of   pseudo-terminals.    This   parameter
        determines the number of PTYs available.  You will need
        1 for PTYCON plus 1 for each PTYCON subjob  being  run,
        plus  1  for  each  simultaneous  batch  job being run.
        Additional PTYs  may  be  allocated  for  user  use  of
        PTYCON.   The resident storage requirement for a PTY is
        exactly the same as for a physical terminal, i.e.,

                N = 5*NTTPTY



3.4  NTTNVT

        The number of Network Virtual Terminals.  These devices
        are   present  only  on  installations  using  an  ARPA
        Monitor, with parameter NETN set to  1.   The  resident
        storage  requirement  for an NVT is exactly the same as
        for a physical terminal, i.e.,

                N = 5*NTTNVT



3.5  SSPT

        The size of the system pages table.  This 2-word  table
        holds information about every open file and every fork.
        Its minimum reasonable value is SSPT = 500  +  NJOBS  +
        3*NFKS.   It is also used for holding information about
        shared file pages if there is sufficient  space.   This
        allows  a shared file page to be referenced without its
        owning index block also being brought into core.  Hence
        it  is probably most efficient to set SSPT to the value
        shown above plus the average number of shared pages  in
        use in your system.  The resident core requirements are

                N = 2*SSPT



3.6  MAXCOR

        The  maximum  number  of  physical  core  pages.   This
        parameter  determines  the size of the four core status
        tables.  It should be  set  to  at  least  the  maximum
        amount  of  core  on  your  system  (i.e.,  #K/2).  The
        resident core requirements for this parameter are:

                N = 5*MAXCOR
To:  TOPS20 List A                                      Page 10
THE MONITOR CONFIGURATION PARAMETERS


3.7  NDST

        The size of the drum status table.  This table has  one
        entry  for each page of swapping storage.  The swapping
        area is used for all active  pages  whether  shared  or
        private.   If  the  swapping  area  becomes  full,  the
        monitor will move  shared  pages  back  to  their  home
        address, but it cannot move private pages.  Hence, this
        parameter should be set to at least the maximum  number
        of  private  pages  expected  to be in use at one time.
        The resident core requirements are:

                N = 1*NDST

        Note that at least this much swapping space  must  have
        been allocated on the public file structure (PS:).


The next group of parameters refers  to  the  configuration  of
peripheral  devices.   These  parameters take a number which is
the maximum number of  units  of  a  particular  device.   Each
device  has  a  parameter related to the device name, i.e., for
device "xxx", there is a parameter "xxxN".   Other  symbols  in
the  monitor  are  constructed by concatenating the device name
with a specific prefix or postfix.



3.8  FEN

        Front End Device service.  This parameter  defines  the
        number  of  FE  devices  present.   The  FE devices are
        psuedo devices used for general transfering of data  to
        and from the front-end.



3.9  MTAN

        Magtape service.   This  parameter  is  the  number  of
        magtape  units  present.   A  maximum of 8 is presently
        supported.



3.10  DTEN

        DTE20 service.  This parameter denotes  the  number  of
        DTE's connected to the KL20.
To:  TOPS20 List A                                      Page 11
THE MONITOR CONFIGURATION PARAMETERS


3.11  LPTN

        Lineprinter service.  LPTN is the  number  of  physical
        lineprinters  present.   A  maximum  of  2 is presently
        supported.  (1 for 2020)



3.12  CDRN

        Card Reader Service.  This specifies the number of card
        readers on the front-end.



3.13  CDPN

        Spooled card  punch.   This  specifies  the  number  of
        spooled  card  punch  queues  that  are to be set up by
        GALAXY.



3.14  SPLTN

        Spooled plotter.  This symbol specifies the  number  of
        spooled plotter queues that are allowed.



3.15  SPTPN

        Spooled paper tape punch.  This  symbol  specifies  the
        number  of  spooled  paper  tape  punch queues that are
        allowed.



3.16  NETN

        ARPANET  service.   This  symbol  specifies  that   the
        monitor  has  support  for  the  AN20 ARPANET Interface
        hardware.  This parameter must be 0 in the Minimum  and
        Batch monitors.

The following parameters  control  specific  functions  of  the
system.
To:  TOPS20 List A                                      Page 12
THE MONITOR CONFIGURATION PARAMETERS


3.17  NFKS

        The number of forks.   This  parameter  determines  the
        size of the scheduler fork tables and hence the maximum
        number of forks which can exist at any one time.   This
        parameter  is  normally set to 3*NJOBS thus allowing an
        average of about 3 forks/job.  If your system is  known
        to have an average distinctly above or below this, this
        ratio may be changed.  The resident  core  requirements
        are:

                N = 13*NFKS



3.18  TMZONE

        The time zone.  This parameter specifies the local time
        zone  in  which  the  system  is  being  operated.  The
        monitor standard time and date format (see JSYS manual)
        is  GMT.   Hence,  this  parameter  gives the number of
        hours by which local time  lags  GMT.   This  value  is
        assembled  into  TIMZON  and  may  be changed at system
        startup.  Values for USA are:

                EST = 5
                CST = 6
                MST = 7
                PST = 8

        Daylight saving time is  handled  automatically;   this
        parameter  should  be  set  based on the standard local
        time.



3.19  MAXFKS

        Maximum  fork  size.   This  parameter  specifies   the
        maximum  size  to  which  the  working  set of any fork
        (process) can grow.  If this value is  set  to  0,  the
        monitor  will limit working sets to a size 32 less than
        the number  of  available  pages.   CAUTION:   If  this
        number is set too low, the system will thrash.



3.20  IPTIMF

        This parameter controls  the  inclusion  of  page  trap
        overhead  time  in  process  run  times.   A value of 1
        causes page trap time to be included;   a  value  of  0
        causes page trap time to be excluded.
To:  TOPS20 List A                                      Page 13
THE MONITOR CONFIGURATION PARAMETERS


        "Page trap time" is the CPU time  spent  handling  page
        traps  for  a  process.   This time typically increases
        under  heavier  system  loads  because  pages  will  be
        swapped  out  and must be faulted back into memory more
        often.  This is the major item which causes variability
        in  reported  process  and job runtimes under different
        load conditions.

        In monitors prior to release 3, this  time  was  always
        included  in reported runtimes.  For compatibility with
        previous releases, the  default  in  release  3  is  to
        include  the  page trap time.  Installations wishing to
        minimize  the  variability  of  reported  runtimes  may
        change  this  value to 0.  Such installations should be
        aware, however, that this will generally result in some
        reduction  of  system  total  chargable time, since the
        overhead which was being charged  in  earlier  monitors
        will be excluded.



3.21  SYSSCF

        This parameter is the total free disk space limit below
        which no OPENF's in write mode will be allowed.



3.22  IEDDTF

        EDDT retention flag.  This parameter is  set  to  1  if
        EDDT  is  to  be  retained  after  monitor  startup,  0
        otherwise.  This value is assembled into EDDTF and  may
        be  changed  at startup.  EDDT and monitor symbols take
        about 16K of resident core.



3.23  ILOCSF

        Local symbol retention flag.   This  parameter  is  set
        non-zero if local symbols are to be retained.



3.24  NTRFE

        This parameter specifies the number of  disk  cylinders
        that are set aside for the front-end-file-system.
To:  TOPS20 List A                                      Page 14
THE MONITOR CONFIGURATION PARAMETERS


3.25  LOGTTY

        Designator  for  logging  information.   This  is   the
        terminal on which all login, logout, and account change
        commands are recorded.  It is not  necessary  to  print
        this  information  on  a  terminal  since  it  is  also
        recorded in the USAGE file.  Hence, this  parameter  is
        normally set to .DVNUL.



3.26  ACTLNS

        The maximum  number  of  simultaneously  active  lines.
        Each  active line requires resident storage in addition
        to that described above.  The  amount  required  is  22
        words  per active line.  Note that the number of active
        lines changes dynamically.  This  parameter  determines
        the number of lines which may be active at one time.



3.27  .STDFP

        The default file protection given to each new file in a
        directory unless otherwise specified.



3.28  .STDDP

        The default directory protection of each new  directory
        unless specifically set to something else.



3.29  .STDBS

        The default number of versions  of  each  new  file  to
        keep.



3.30  .STDMX

        The default permanent and working disk storage.
To:  TOPS20 List A                                      Page 15
INSTALLATION-SPECIFIC TERMINAL DEFINITIONS


4.0  INSTALLATION-SPECIFIC TERMINAL DEFINITIONS


Installations wishing to define their own  terminal  types  may
use  terminal  type  codes  4 through 7.  It is not possible to
define corresponding terminal type names.   Note  that  DIGITAL
only  supports those terminals detailed in the TOPS-20 Software
Product Description.

The following items may be declared for each terminal type:

        -       Terminal has mechanical form feed

        -       Terminal has mechanical tabs

        -       Terminal has lowercase keyboard input

        -       Padding after the characters:

                -       Carriage Return

                -       Line Feed

                -       Horizontal Tab

                -       Form Feed

        -       Character strings to be sent to the terminal to
                effect cursor positioning.

These characteristics are described  by  tables  which  can  be
found  in the source code module STG.MAC.  The first four items
are  declared  in  table  TTYPE0.    The   cursor   positioning
declarations  are  in tables for each terminal type, pointed to
by entries in table TTYPE1.  See table VT52TB for an example of
the  table  of  cursor  positioning  commands  for  a  specific
terminal.

[End of BUILD.MEM]