Google
 

Trailing-Edge - PDP-10 Archives - BB-H138E-BM - 6-1-documentation/build.mem
There are 36 other files named build.mem in the archive. Click here to see a list.
             TOPS-20 Monitor Building Procedures and Information



                 DATE:  FEBRUARY 1980, REVISED FEBRUARY 1983
                         COPYRIGHT (C) 1976,1983 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.

1.0  INTRODUCTION

This  document  provides  complete  information  on  configuring   and
building the TOPS-20 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.


2.1  How to Select a Monitor Configuration

There are six  standard monitor configurations.  The  first  four  are
intended  for  general timesharing  and batch operation  in an ARPANET
environment and differ only in overall size.  The fifth and sixth  are
for use by non-ARPANET sites.

The configuration names and general descriptions are:

     "Small"        A  typical   small   configuration  for general
                    timesharing. (ARPA ONLY)

     "Medium"       A typical medium-size configuration for general
                    timesharing. (ARPA ONLY)

     "Big"          A  typical  large  configuration  for   general
                    timesharing. (ARPA ONLY)

     "Large"        The largest monitor  supported  by  Digital.
		    (ARPA ONLY)

     "2060-Big"     A typical configuration for 2060 timesharing.

     "2060-Maximum" The largest 2060 monitor supported by Digital.

	 You should select the  proper  monitor 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.

     A.  The "Small" monitor will support the following:
	 -ARPA-ONLY-
         40 Users (interactive and batch)
         64 Terminal Lines, 40 active
         512K Core memory
         8 Magtape Units (max)
         2 Line Printers (max)
         5000 Pages of swapping space
         20 Network Virtual Terminals (ARPA only)

     B.  The "Medium" monitor will support the following:
	 -ARPA-ONLY-
         60 Users (interactive and batch)
         128 Terminal Lines, 60 active
         512K Core memory
         8 Magtape Units (max)
         2 Line Printers (max)
         7000 Pages of swapping space
         30 Network Virtual Terminals (ARPA only)

     C.  The "Big" monitor will support the following:
	 -ARPA-ONLY-
         100 Users (interactive and batch)
         128 Terminal Lines, 100 active
         512K Core memory
         8 Magtape Units (max)
         2 Line Printers (max)
         7000 Pages of swapping space
         40 Network Virtual Terminals (ARPA only)

     D.  The "Large" monitor will support the following:
	 -ARPA-ONLY-
	 100 Users (interactive and batch)
	 128 Terminal Lines, 100 active
	 1024K words memory
	 8 Magtape units
	 2 Line Printers
	 5000 Pages of swapping space
	 40 Network Virtual Terminals (ARPA only)

     E.	 The "2060-Big" monitor will support the following:

         100 Users (interactive and batch)
         128 Terminal Lines
         512K Core memory
         8 Magtape Units (max)
         2 Line Printers (max)
         10000 Pages Swapping Space

     E.  The "2060-Maximum" monitor will support the following:

         128 Users (interactive and batch)
         128 Terminal Lines
         2M Memory
         8 Magtape Units (max)
         2 Line Printers (max)
         15000 Pages of Swapping Space


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 you 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 a KL-ARPA monitor, copy the appropriate parameter
            file  to "PARAN.MAC".  The parameter files for the various
            monitors are:

                    KL ARPA  Monitor
                    -------- -------
                    "Small"   = ANPSML.MAC
                    "Medium"  = ANPMED.MAC
                    "Big"     = ANPBIG.MAC
                    "Large"   = ANPLGE.MAC

                    2060 Monitor
                    ---- -------
                    "Big"     = P60BIG.MAC
                    "Maximum" = P60MAX.MAC

            For example, if you are building a medium KL-ARPA monitor:

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

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

	            KL-ARPA  Monitor
	            -------- -------
	            "Small"  = ANNSML.MAC
	            "Medium" = ANNMED.MAC
	            "Big"    = ANNBIG.MAC
	            "Large"  = ANNLGE.MAC

                    2060 Monitor
                    ---- -------
                    "Big"     = N60BIG.MAC
                    "Maximum" = N60MAX.MAC


             For example, if you are building a medium KL-ARPA monitor:

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

(  )    4.  Submit the appropriate batch file for the type of  monitor
            you  are  building:  T20-AN.CTL for a  KL-ARPA monitor, or
	    LN2060.CTL for the standard monitor.

            For example, to build a medium KL-ARPA monitor:

                 @SUBMIT T20-AN/TAG:SINGLE/TIME:1: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 LN2060/TAG:ALL/TIME:2:0:0

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

                 @COPY MONITR.EXE (TO) MT0:

            The tape density must be 1600BPI 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.

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  you
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 a KL-ARPA monitor).

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

The Parameter Files
--- --------- -----

3.1  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.2  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 a NVT is exactly the  same
as for a physical terminal, i.e.,

     N = 5*NTTNVT


3.3  NJOBS

The number of jobs.  This parameter determines the size  of  the  jobs
tables and hence the maximum number of jobs which can exist at any one
time.  This includes interactive and batch jobs and  those  jobs  with
run  under PTYCON.  There are 34 resident words of monitor space 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*(10+3*17)=NJOBS*61


3.4  NDHL, NDLL


The number of physical terminals on a KL.  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, and  is
normally set to 5.  The resident storage required per terminal line is
a function of some ratios described below.  For  this  parameter,  the
number of resident words required is:

     N=5*(NDHL+NDLL+1)

3.5  NTTMCB

The number of DECnet network virtual terminals.  If you do not have a
DECnet installation, this value may be set to zero.  Otherwise, these
are  like   any  other  terminal  device,  and  their  resident  core
requirements are:

     N=5*NTTMCB


3.6  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
owing  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.7  MAXCOR

The maximum number of physical core pages.  This parameter  determines
the size of the five 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


3.8  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:).  Also, since TOPS-20 V5.0, the DST
is located in TABSEC and therefore modifying its size has no effect on
TOPS-20's section 0 virtual address space.


3.9 SWDST

The default number of pages to reserve for swapping space on an  areas
of a structure.  If no value is declared for SWDST, it is set to NDST.


3.10 ACTLNS

This includes TTY and PTY lines.  The number of resident words is:

     N=32*ACTLNS

In addition, 22 words of resident storage is required for  each  line.
This  latter storage changes dynamically as any line becomes active or
inactive.

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.11 FEN

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


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


3.13 DTEN

DTE20 service.  This parameter denotes the number of  DTE's  connected
to the KL20.


3.14 LPTN

Lineprinter service.  LPTN is  the  number  of  physical  lineprinters
present.  A maximum of 2 is presently supported.


3.15 CDRN

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


3.16 KSCDRN
This is for the number of card readers on the KS10


3.17 CDPN

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


3.18 SPLTN

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


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

3.20 NETN

ARPANET service.  This symbol specifies that the monitor  has  support
for the AN20 ARPANET Interfface hardware.  This parameter must be 0 in
the standard Monitors.


3.21 DCN

DECNET service.  This specifies  that  the  monitor  has  support  for
DECNET.

The following parameters control specific functions of the system.


3.22 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 = 17*NFKS


3.23 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 in 5-1-CONFIG.CMD.
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.24 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.25 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.

"Page Trap Time" is the CPU time  spent  handling  page  traps  for  a
process.   This  time  typically  increases under headier 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.26 SYSSCF

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


3.27 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.28 NTRFE

This parameter specifies the number of disk  cylinders  that  are  set
aside for the front-end-file-system.


3.29 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
.NULIO.

3.30 .STDFP

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


3.31 .STDDP

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


3.32 .STDBS

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


3.33 .STDMX

The default permanent and working disk storage.

3.34 .STDSD

Standard subdirectory quota


3.35 .STDNE

Standard on-line expiration for migration of files


3.36 .STDFE

Standard off-line expiration for migrated files on magnetic tape.


3.37 DGOFKN

If a job tries to create a fork, and the number of forks  in  the  job
(including  the new one) is greater than the value of DGOFKN, then the
monitor calls the access-control facility to determine if the  job  is
permitted to create the fork.


3.38 FFFSZE

This is the size (in words) of the resident monitor patch area, FFF.


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

     -    Terminal display length and width

     -    Terminal automatically enables XON and XOFF processing

     -    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 five items are declared in
table TTYPE0.  The sixth item is in table TTYPE1.   Also,  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.