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.