Trailing-Edge
-
PDP-10 Archives
-
BB-4172H-BM
-
4-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
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.
Page 2
Subj: TOPS-20 Monitor Building Procedures and Info.
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 nine 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 ninth configuration is an
ARPA-ONLY monitor. The configuration names and general descriptions
are:
"Small" A typical small configuration for general
timesharing.
"Medium" A typical medium-size configuration for general
timesharing.
Page 3
Subj: TOPS-20 Monitor Building Procedures and Info.
"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.
"2060-Big" A typical configuration for 2060 timesharing.
"2060-Maximum" The largest 2060 monitor supported by Digital.
"Large" The largest monitor supported by Digital (ARPA
only).
1. The "Batch" monitor supports 14 jobs, 12 pseudo-terminals
(PTY's), 8 terminal lines, 512K 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.
A. The "Small" monitor will support the following:
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:
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)
Page 4
Subj: TOPS-20 Monitor Building Procedures and Info.
C. 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)
7000 Pages of swapping space
40 Network Virtual Terminals (ARPA only)
D. The "2020-Small" monitor will support the following:
40 Users (interactive and batch), 30 Users if ARPA
32 Terminal Lines, 20 active
256K Core memory
8 Magtape Units (max)
1 Line Printer (max)
5000 Pages of Swapping Space, 2500 Pages if ARPA
E. The "2020-Medium" monitor will support the following:
60 Users (interactive and batch)
32 Terminal Lines, 32 active
512K Core memory
8 Magtape Units (max)
1 Line Printer (max)
6500 Pages of Swapping Space
F. 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
G. 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
Page 5
Subj: TOPS-20 Monitor Building Procedures and Info.
H. 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 supported only 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 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:
Standard Monitor KL ARPA Monitor
-------- ------- -- ---- -------
"Small" = PARSML.MAC "Small" = ANPSML.MAC
"Medium" = PARMED.MAC "Medium" = ANPMED.MAC
"Batch" = PARBCH.MAC N/A
"Big" = PARBIG.MAC "Big" = ANPBIG.MAC
N/A N/A
N/A N/A
N/A "Large" = ANPLGE.MAC
2020 Monitor 2060 Monitor
---- ------- ---- -------
"Small" = P20SML.MAC "Big" = P60BIG.MAC
"Medium" = P20MED.MAC "Maximum" = P60MAX.MAC
Page 6
Subj: TOPS-20 Monitor Building Procedures and Info.
2020 Monitor with ARPA
---- ------- ---- ----
"Small" = P20SMA.MAC
"Medium" = P20MDA.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 KL-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 a KL-ARPA monitor, copy the appropriate name file
to "NAMAN.MAC". The name files for the various monitors
are:
2020 Monitor
---- -------
N/A
N/A
N/A
N/A
N/A
"Small" = N20SML.MAC
"Medium" = N20MED.MAC
N/A
Standard Monitor KL-ARPA Monitor
-------- ------- ------- -------
"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
2020 Monitor with ARPA
---- ------- ---- ----
"Small" = N20SMA.MAC
"Medium" = N20MDA.MAC
2060 Monitor
---- -------
"Big" = N60BIG.MAC
"Maximum" = N60MAX.MAC
Page 7
Subj: TOPS-20 Monitor Building Procedures and Info.
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 KL-ARPA monitor:
@COPY ANNMED.MAC (TO) NAMAN.MAC.0 !new file!
( ) 4. If you are building the standard monitor using TOPS20.CTL,
copy the appropriate name file to LNK0.CCL.
Standard Monitor
-------- -------
"Small" = LNKSML.CCL
"Medium" = LNKSCH.CCL
"Batch" = LNKSCH.CCL
"Big" = LNKSCH.CCL
( ) 5. Submit the appropriate batch file for the type of monitor
you are building: TOPS20.CTL for a standard monitor,
T20-AN.CTL for a KL-ARPA monitor, T2020.CTL for 2020,
T2020A.CTL for a 2020 ARPA monitor, and LN2060.CTL for
2060 monitor.
For example, to build a standard small monitor:
@SUBMIT TOPS20/TAG:SINGLE/TIME:1:0:0
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 TOPS20/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
Page 8
Subj: TOPS-20 Monitor Building Procedures and Info.
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:
Page 9
Subj: TOPS-20 Monitor Building Procedures and Info.
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
Page 10
Subj: TOPS-20 Monitor Building Procedures and Info.
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 NTTDZ
The number of physical terminals on a KS. This parameter determines
the number of physical terminal lines (not including PTY's) including
the CTY. NTTDZ is the number of DZ lines. This number is normally 8
times the number of DZ's. 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:
NTTDZ=5*NTTDZ
3.6 NTTMCB
The number of terminal lines from a DN200. This is reserved future
expansion, and is set to zero.
Page 11
Subj: TOPS-20 Monitor Building Procedures and Info.
3.7 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.8 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.9 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:).
4.10 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
Page 12
Subj: TOPS-20 Monitor Building Procedures and Info.
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. (1 for 2020)
3.15 KSLPTN
This is for the number of LP20's on the KS.
3.16 CDRN
Card Reader service. This specifies the number of card readers on the
front-end.
3.17 KSCDRN
This is for the number of card readers on the KS10
Page 13
Subj: TOPS-20 Monitor Building Procedures and Info.
3.18 CDPN
Spooled card punch. This specifies the number of spooled card punch
queues that are to be set up by GALAXY.
3.19 SPLTN
Spooled plotter. This symbol specifies the number of spooled plotter
queues that are allowed.
3.20 SPTPN
Spooled paper tape punch. This symbol specifies the number of spooled
paper tape punch queues that are allowed.
3.21 NETN
ARPANET service. This symbol specifies that the monitor has support
for the AN20 ARPANET Interfface hardware. This parameter must be 0 in
the Minimum and Batch Monitors.
3.22 DCN
DECNET service. This specifies that the monitor has support for
DECNET.
The following parameters control specific functions of the system.
3.23 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
Page 14
Subj: TOPS-20 Monitor Building Procedures and Info.
3.24 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.25 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.26 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.27 SYSSCF
This parameter is the total free disk space limit below which no
OPENF's in write mode will be allowed.
Page 15
Subj: TOPS-20 Monitor Building Procedures and Info.
3.28 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.29 ILOCSF
Local symbol retention flag. This parameter is set non-zero if local
symbols are to be retained.
3.30 NTRFE
This parameter specifies the number of disk cylinders that are set
aside for the front-end-file-system.
3.31 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.32 .STDFP
The default file protection given to each new file in a directory
unless otherwise specified.
3.33 .STDDP
The default directory protection of each new directory unless
specifically set to something else.
3.34 .STDBS
The default number of versions of each new file to keep.
3.35 .STDMX
The default permanent and working disk storage.
3.36 .STDSD
Standard subdirectory quota
Page 16
Subj: TOPS-20 Monitor Building Procedures and Info.
3.37 .STDNE
Standard on-line expiration for migration of files
3.38 .STDFE
Standard off-line expiration for migrated files on magnetic tape.
3.39 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.
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
Page 17
Subj: TOPS-20 Monitor Building Procedures and Info.
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]