mirror of
https://github.com/PDP-10/stacken.git
synced 2026-03-01 17:26:38 +00:00
335 lines
12 KiB
Plaintext
335 lines
12 KiB
Plaintext
|
||
|
||
|
||
SCT014.DOC -- Version 014
|
||
March 1979
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
COPYRIGHT (C) 1973,1978,1979 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.
|
||
SCT014.DOC Page 2
|
||
|
||
|
||
1.0 SUMMARY
|
||
|
||
The new version of "SCRIPT" allows the user to watch or gather
|
||
response times for only the selected interesting lines in a script.
|
||
In order to make the response file more useful, the line in the script
|
||
is printed before its response information and the CPU time required
|
||
to execute the line is also given along with the response time. The
|
||
new version also allows the user to run a script periodically over a
|
||
large period of time without requiring attention. The watch and
|
||
response files are automaticlly saved from system crashes. "SCRIPT"
|
||
now uses HIBER UUO instead of SLEEP in order to get better
|
||
measurements. An option to lock "SCRIPT" in core is also included for
|
||
the same reason. A generalized way of including altmodes and control
|
||
characters in a script has been intorduced. The new version is
|
||
completely compatible with the old version and will run all existing
|
||
batch programs using "SCRIPT" (e.g. MONTST) without any
|
||
modifications.
|
||
|
||
"SCRIPT" version 014 will run on all supported monitors. It has been
|
||
tested under 5.06A and 5.06B, and fully supersedes all previous
|
||
versions. There are no known deficiencies.
|
||
|
||
|
||
1.1 Bibliography
|
||
|
||
Specifications for "SCRIPT" in the software notebook #8.
|
||
SCRIPT.DOC EXTERNAL CHANGES Page 3
|
||
|
||
|
||
2.0 EXTERNAL CHANGES
|
||
|
||
Throughout this document ' "SCRIPT" ' always refers to the SCRIPT.MAC
|
||
program and ' script ' always refers to the file executed by "SCRIPT"
|
||
like TECMAC.SCP etc.
|
||
|
||
The external changes can best be explained by going through the
|
||
question answer dialogue required by the new version of "SCRIPT". The
|
||
new questions are marked by an *. Conforming with the standard DEC
|
||
conventions, the choice of answers will be given in brackets after the
|
||
question. In all questions except the "yes, no" type questions, the
|
||
value in the script supplied by the proper ! command will be used as a
|
||
default if CARRIAGE-RETURN> is entered as an answer. However, if that
|
||
particular value is not specified in the script, then the value in the
|
||
brackets after the question will be used as a default. For the
|
||
"yes,no" type questions , the default after a CARRIAGE-RETURN> is
|
||
always "no".
|
||
|
||
Q1. How many jobs to be run (1):
|
||
|
||
Enter any integer between 1 and 14 (inclusive). The default after a
|
||
CARRIAGE-RETURN> is 1 job.
|
||
|
||
Q2. Watch how many jobs (All):
|
||
|
||
Enter a number between 0 and # of jobs to be run (inclusive). The
|
||
default after a CARRIAGE-RETURN> is all jobs. If 0 is entered,
|
||
watching is inhibited.
|
||
|
||
Q3. Where (DSK: SCRIPT.WCH):
|
||
|
||
Enter TTY: for quick output on TTY for debugging the scripts. The
|
||
fields not supplied by the user are defaulted to DSK: for device,
|
||
"SCRIPT" for name and WCH for extension.
|
||
|
||
*Q4. Watch each line of SCRIPT (N,Y):
|
||
|
||
If "Y" is entered all the lines in the script are watched. This is
|
||
usually not required but still in the earlier version of "SCRIPT" each
|
||
line used to be watched. If "N" is entered, watching is switched on
|
||
only after an !W is seen in the script. An !D in the script switches
|
||
off watching. This allows the user to watch only the interesting
|
||
lines by enclosing them in a !W, !D pair. Any number of !W, !D pairs
|
||
can be used in a script. If the answer to Q2 is 0, !W and !D are
|
||
ignored.
|
||
|
||
Example: The following can be a part of a script.
|
||
|
||
!W
|
||
|
||
SY J
|
||
|
||
!D
|
||
|
||
....
|
||
SCRIPT.DOC EXTERNAL CHANGES Page 4
|
||
|
||
|
||
!W
|
||
|
||
Get Foo
|
||
|
||
ST
|
||
|
||
!D
|
||
|
||
*Q5. Response time for how many jobs (All):
|
||
|
||
Enter a number between 0 and # of jobs to be run (inclusive). The
|
||
default after a CARRIAGE-RETURN> is all jobs. If 0 is entered,
|
||
response time is not gathered.
|
||
|
||
*Q6. Response time for each line (N,Y):
|
||
|
||
If "Y" is entered, another question "Are you sure (N,Y): will be
|
||
asked. This is necessary since it is not expected that the user needs
|
||
response time measurements for each of the script lines. The
|
||
TECMAC.SCP script for example, contains about 100 lines whereas the
|
||
number of interesting lines is about 10. So by entering "N" to this
|
||
question and enclosing the interesting lines between !P, !E pair, the
|
||
volume of the output can be greatly reduced. By using !P, !E pairs
|
||
the interesting lines need not have to be searched among 100 lines.
|
||
Similar to the !W command, an !P command switches on the response time
|
||
gathering mode. It stays on until a !E command is encountered in the
|
||
script. Any number of !P, !E pairs can be used in a script. If the
|
||
answer to Q5 is 0, !P and !E are ignored.
|
||
|
||
Note that this response file is always written out on DSK: SCRIPT.RSP
|
||
as against the watch file which can be specified by the user.
|
||
|
||
Example:
|
||
|
||
R BLISI0
|
||
!P
|
||
Foo,_Foo
|
||
!E
|
||
|
||
The above part of the script measures the cpu and real time required
|
||
for a compilation of file Foo.BLI
|
||
|
||
Q7. Lock in core (N,Y):
|
||
|
||
Enter Y if locking privileges are available to the user.
|
||
|
||
Q8. Repeat Count (1):
|
||
|
||
Enter a number. The script will be executed that many times one after
|
||
another, without sleeping in between. The default after a
|
||
CARRIAGE-RETURN> is 1 but this can be over-ridden by a !T command in
|
||
the script.
|
||
|
||
Q9. Delay Factor (1):
|
||
SCRIPT.DOC EXTERNAL CHANGES Page 5
|
||
|
||
|
||
Enter a number. All delays will be multiplied by this number. If 0
|
||
is entered, delays are ignored. A CARRIAGE-RETURN> defaults to a
|
||
delay factor of 1.
|
||
|
||
Q10. Stagger Time (20 (sec)):
|
||
|
||
If 0 is entered, all jobs are started simultaneously. If
|
||
CARRIAGE-RETURN> is entered, stagger time of 20 seconds is used but it
|
||
can be overriden by an !S command in the script.
|
||
|
||
Q11. See comments to operator (N,Y):
|
||
|
||
Enter Y or N.
|
||
|
||
Q12. Debug (N,Y):
|
||
|
||
Enter Y or N
|
||
|
||
Q13. Watch for Errors (N,Y):
|
||
|
||
Enter Y or N.
|
||
|
||
*Q14. Cyclic Mode (N,Y):
|
||
|
||
If N is entered, the "SCRIPT" starts immediately and exits after
|
||
completing the specified number of executions of the script. If Y is
|
||
entered, the script gets executed repeatedly with a period of sleep
|
||
(e.g. 10 minutes) in between two executions. This is useful if some
|
||
program is to be run at different system loads over a day. That
|
||
program can be included in a script and then can be run every n
|
||
minutes without user's attention.
|
||
|
||
*Q15. Cycle interval in minutes (10):
|
||
|
||
Enter a number. If non-null, the day will be time marked starting
|
||
00:00 with an interval of the number.
|
||
|
||
For example, if 20 is entered, the day will be time-marked at 00:00,
|
||
00:20, 00:40, 01:00....etc. A new cycle of script is started only on
|
||
a time mark. This is useful for consistancy independent of the amount
|
||
of time taken to execute the script. If in the above example a cycle
|
||
of script ends at 03:15, then the next cycle will be begun on 03:20.
|
||
|
||
*Q16. Cycle Count (10):
|
||
|
||
Enter a number. The script will be exeucted that many times with
|
||
intervals of sleep in between.
|
||
|
||
*Q17. Start run on the first time mark (N,Y):
|
||
|
||
If Y is entered, the script will be bugun at the first time mark and
|
||
if N is entered , the script will be begun immediately. In the above
|
||
example, if the current time is 03:17 then a Y answer to this question
|
||
will start the script at 03:20.
|
||
SCRIPT.DOC EXTERNAL CHANGES Page 6
|
||
|
||
|
||
Putting special and control characters in a script is now easier. To
|
||
specify an altmode in a script type UP-ARROW>dollar-sign> i.e. ^$.
|
||
Similarly all control characters are specified by typing UP-ARROW>
|
||
CONTROL-CHARACTER>. The CR>LF> at the end of a line containing ^C, ^U
|
||
will not be sent over the PTY. For all other control characters the
|
||
CR>LF> at the end of the line will be sent. In the new version the
|
||
control characters can be put anywhere in a line as against only at
|
||
the beginning of a line in the earlier version. In order to specify
|
||
the actual up-arrow character, use UP-ARROW>up-arrow>. Watch out for
|
||
scripts using UP-ARROW> for exponentiation as in BASIC. In fact care
|
||
must be taken while introducing any of the following characters in a
|
||
script --- #, !, ^ .
|
||
|
||
The response file now contains the line for which the response is
|
||
gathered. the CPU time required to execute the line is also given
|
||
along with the response time. this makes "SCRIPT" a very useful tool
|
||
for Performance Measurements.
|
||
SCRIPT.DOC Page 7
|
||
|
||
|
||
3.0 KNOWN BUGS AND DEFICIENCIES
|
||
|
||
There are no known bugs or deficiencies.
|
||
|
||
|
||
|
||
4.0 INSTALLATION INSTRUCTION
|
||
|
||
To use on KI-TENEX, compile with TENEX==1.
|
||
Convert all single UP-ARROW>'S used in the existing scripts for
|
||
non-control use to double UP-ARROWS>'S.
|
||
SCRIPT.DOC INTERNAL CHANGES Page 8
|
||
|
||
|
||
5.0 INTERNAL CHANGES
|
||
|
||
|
||
5.1 Saving Files From System Crashes
|
||
|
||
If watching is enabled, the lines in the script are watched in a file
|
||
SCPnnn.WCH where nnn is the job number. Similarly, if response time
|
||
measurements are enabled, they are recorded in the file SCPnnn.RSP
|
||
where nnn is the job number. At the end of each cycle, these
|
||
temporary files are appended to SCRIPT.WCH (or the user supplied name)
|
||
and SCRIPT.RSP respectively. The output can always be obtained from
|
||
these master files even after a system crash. The "APPEND" routine is
|
||
written in BLISS and its compiled listing in MACRO is inserted in the
|
||
SCRIPT.MAC will as little change as possible.
|
||
|
||
|
||
5.2 Compatability With Earlier Batch Programs
|
||
|
||
Earlier batch programs like MONTST use the dialogue in the earlier
|
||
version of "SCRIPT". The first question in the new version that is
|
||
different from an earlier question is question 4: WATCH EACH LINE OF
|
||
SCRIPT (N,Y):. If any batch job answers this question with anything
|
||
other then "Y", "YES", "N", "NO", it is marked as an old batch job and
|
||
the answer to this question is taken to be the answer to the fourth
|
||
question in the earlier version i.e. "WHERE TO LOG RESPONSE TIMES?".
|
||
From this point on, only the old version questions are asked to that
|
||
job. This allows the new batch and timesharing jobs to use the full
|
||
capabilities of the new version. If however, the new capabilities are
|
||
required for the old batch programs, the control files for them have
|
||
to be modified to answer the new version questions.
|
||
|
||
|
||
5.3 Other Changes
|
||
|
||
The earlier version of "SCRIPT" used the HISEG pseudo-op which
|
||
prevented the user from debugging "SCRIPT". The new version uses
|
||
TWOSEG pseudo-op which allows debugging of the "SCRIPT". The new
|
||
version also uses the HIBER UUO instead of SLEEP to be more responsive
|
||
to the PTY's. For the same reason, an option of locking itself in
|
||
core has been provided. The new version of "SCRIPT" complies with the
|
||
DATE 75 standard.
|
||
|
||
|
||
[End of SCRIPT.DOC]
|