Trailing-Edge
-
PDP-10 Archives
-
BB-L288A-RM
-
swskit-documentation/accounting.memos
There are 5 other files named accounting.memos 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: TOPS-20 Monitor Memo List
CC:
From: Tom Porcher
Dept: LCG Software Engineering
Loc: MR1-2/E37 Ext: 231-6877
Date: 28 February 1978
PDM: TCP-78-003-00-S
Subject: TOPS-20 Accounting Shift Changes
This is a draft of a specification for modifications to TOPS-20 to
provide the capability of changing accounting shifts.
If you have any more comments on this specification, please direct them
to me as soon as possible.
To: TOPS-20 Monitor Memo List Page 2
Subject: TOPS-20 Accounting Shift Changes
Specification for:
TOPS-20 Accounting Shift Changes
1.0 INTRODUCTION
This specification describes the changes to TOPS-20 Release 4 neccesary
to allow the TOPS-20 system administrator to change the billing rates
for system usage at selected times during the day.
1.1 Functionality Desired
The new functionality which this project will bring is:
1. Provide a capability of closing the current accounting session
for all active jobs and starting a new accounting session for
all these jobs. This action will be called an "accounting
shift change".
2. Provide a method by which the system administartor can
establish times during the day when there will be such an
accounting shift change. These changes may be selected by
day-of-week and time-of-day.
3. Dissociate a job's CPU time and console time from the data used
for each accounting session.
1.2 Functionality Not Planned
1. No additional functionality will be added to the down-stream
billing programs to set accounting shift rates.
2. No capability to change the accounting shifts for particular
days of the year will be provided.
3. No method of determining session runtime by any TOPS-20
commands will be provided.
To: TOPS-20 Monitor Memo List Page 3
INTRODUCTION
1.3 Restrictions And Drawbacks
1. The user will notice that his accounting session time has been
reset at random intervals whenever an accounting shift changes.
There will be no visible indication to the user that an
accounting shift change has occurred (i.e. no system message).
2. The user cannot determine exactly what his session runtime and
console time was during the last session.
2.0 SYSTEM ADMINISTATOR VISIBLE CHANGES
2.1 New CHKPNT Commands
2.1.1 CHANGE (ACCOUNTING SHIFT) - This command will cause a session
end followed by a session start for every active job in the system.
This command is useful if the system administrator wants to bill people
at a different rate in the immediate future.
2.2 New CONFIG Command File Commands
The following commands will be added to the commands now used in the
CONFIG command file. These commands are read by the SETSPD program on
system initialization.
2.2.1 CHANGE (ACCOUNTING SHIFT AT) time (ON) days-of-week - This
command will cause an accounting shift change to occur at the specified
time-of-day on the specified days-of-week. Any legal format for the
time will be accepted (i.e. 1500, 15:00, 3:00PM, etc.). Days-of-week
can be specified by either the names of the days (MONDAY, TUESDAY, etc.)
separated by commas, or by one or more of the keywords ALL, WEEKENDS,
WEEKDAYS. The default days-of-week is ALL.
Any number (up to the system limit of 100) of these commands may be
specified in the file.
A typical set of commands would appear as follows:
CHANGE 9:00 WEEKDAYS
CHANGE 10:00 WEEKENDS,MONDAY
CHANGE 12:00 TUESDAY,THURSDAY,SATURDAY
CHANGE 17:00
Note that SETSPD cannot process guide words in commands.
To: TOPS-20 Monitor Memo List Page 4
USER VISIBLE CHANGES
3.0 USER VISIBLE CHANGES
3.1 TOPS-20 Command Diffences
Due to the change in the information provided by the TOPS-20 monitor
calls, the EXEC commands will change the information displayed.
3.1.1 SET ACCOUNT - This command will no longer indicate the time used
on previous account, since it cannot be exactly correct.
3.1.2 LOGOUT, CTRL/T, INFORMATION (ABOUT) PROGRAM-STATUS - These
commands will now print the runtime and console time for the job and not
just for the last session. This is the way it was in Release 1 and
Release 2.
4.0 IMPLEMENTATION
4.1 New USAGE Monitor Call Functions
4.1.1 .USCAS - Change Accounting Shift - This function will perform a
"session end" function on every active job.
There are no arguments to this function.
Job 0 will perform this function as part of its normal processing of
USAGE functions.
4.1.2 .USSAS - Set Accounting Shifts - This function sets the times
when automatic accounting shift changes are to occur.
This function will take an address in AC2 as an argument. This address
is the address of a table of accounting shift change times. The format
of the table is as follows:
<table header word>
<table entry>
...
<table entry>
The table header word contains the number of actual entries in the table
in the left half, and the maximum number of table entries in the right
half. The right half is ignored, but is used in reading the table back
using the .USRAS function.
To: TOPS-20 Monitor Memo List Page 5
IMPLEMENTATION
Each table entry is one word in the following format:
B0-B6 US%DOW Days-of-week this entry is in effect. Bit n is
set if this entry is in effect on day-of-week n
(0=Monday).
B7-B17 Unused Must be zero.
B18-35 US%SSM Time-of-day automatic shift change should occur.
Time is in seconds since midnight.
The table does not need to be ordered in any way.
The maximum number of entries is 100 decimal. If more than 100 entries
are specified, the error mnemonic ARGX05 - "Argument block too long"
will be returned with an illegal instruction trap.
This table will be copied into the monitor's non-resident storage. Job
0 will use this table to determine when the next accounting shift change
will occur.
4.1.3 .USRAS - Read Accounting Shifts - This function returns the times
of the automatic accounting shift changes, set using the .USSAS
function.
The table address to return the times is specified in AC2. The format
of the table is the same as in the .USSAS function. The table header
word contains the actual number of entries in the table in the left
half, and the maximum number of entries in the right half. The right
half (maximum size) must be specified by the user. The left half
(actual size) is ignored and returned by the monitor. The table entries
are filled in from the last time a .USSAS function was done. If the
table is too small to hold all the entries, an illegal instruction trap
will occur and the error code ARGX04 - "Argument block too small" will
be returned.
4.2 New Job Information
This new information will be stored in the Job Storage Block (JSB) of
each job. This new information can be retreived using the GETJI monitor
call.
4.2.1 .JISRT - CPU time at start of session - This is the job's CPU
time at the start of the last session. To compute the CPU time for this
session, subtract this value from the current job CPU time (.JIRT).
This value will be stored in the new JOBSRT word of the JSB.
To: TOPS-20 Monitor Memo List Page 6
IMPLEMENTATION
4.2.2 .JISCT - Console time at start of session - This is the job's
console time at the start of the last session. To compute the console
time for this session, subtract this value from the current job console
time (which can be determined by the RUNTM monitor call).
This value will be stored in the new JOBSCT word of the JSB.
4.3 Other Monitor Changes
4.4 EXEC Changes
The EXEC changes are needed only to make use of the new information now
available. The changes in the command formats are described above.
4.4.1 SET ACCOUNT - Remove code to print time on previous account.
4.5 SETSPD Changes
4.5.1 CHANGE Command - This command must be added to SETSPD. SETSPD
will collect all the CHANGE commands in a buffer, then perform the
.USSAS function of the USAGE call when the CONFIG file is completely
processed.
4.6 CHKPNT Changes
4.6.1 CHANGE Command - This command must be added to CHKPNT. It will
perform the .USCAS function of the USAGE call.
4.7 MONSYM Changes
4.7.1 New GETJI Functions -
4.7.1.1 .JISRT - function 22
4.7.1.2 .JISCT - function 23
To: TOPS-20 Monitor Memo List Page 7
IMPLEMENTATION
4.7.2 New USAGE Functions -
4.7.2.1 .USCAS - function 10
4.7.2.2 .USSAS - function 11
4.7.2.3 .USRAS - function 12
[End of ASC.MEM]
+---------------+
! 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: TOPS-20 Monitor Memo List
DATE: 29-Nov-78
FROM: Sharon Konen
DEPT: DEC20 S. E. Dept.
LOC: MR1-2/E37
EXT: 5270
DISTRIBUTED: FILE: STRACC.MEM
REVIEWED: PDM : SAK-78-003-00
SUBJ: STRUCTURE ACCOUNTING
1.0 INTRODUCTION
This memo is intended to describe the changes necessary to
TOPS-20 to provide the capability for disk accounting.
2.0 DEFINITION OF DISK ACCOUNTING
Accounting is done only on regulated structures. A structure
is regulated unless it is the primary system structure (i.e.
PS:) or the MSTR JSYS has been executed to make it
nonregulated.
The accounting is based on the wall clock time from the time
the user issues an SMOUNT to the issuing of an SDISMOUNT.
Because of this method, certain restrictions must be placed on
the user:
1. Before ACCESSing or CONNECTing to a regulated
structure, the user must issue an SMOUNT for that
structure.
2. Before referencing a file on a regulated structure
or doing a directory on that structure, the user
must SMOUNT it.
3. The user must have ended any ACCESS or CONNECT to a
regulated structure before SDISMOUNTing it.
4. All JFNs for a regulated structure must be released
before the user can SDISMOUNT that structure.
To: TOPS-20 Monitor Memo List Page 2
Subj: STRUCTURE ACCOUNTING
3.0 IMPLEMENTATION
3.1 JSYS Changes
1. GTJFN, GNJFN, and ACCES check whether or not a
structure is regulated, and if so, require prior
increment of the mount count on that structure.
The error message resulting from not previously
incrementing the mount count is
STRX09 - Prior structure mount required
2. The .MSIMC function of the MSTR JSYS to increment
the mount count sends an IPCF message to the
Mountable Device Allocator to indicate a user is
using the structure. In addition, a word has been
added to the argument block, in case a user must
increment the mount count for another job. The
format is
Word Symbol Meaning
1 .MSJOB Number of job whose mount count
is to be incremented. This
requires WHEEL or OPERATOR
capability enabled.
3. The .MSDMC function of MSTR to decrement the mount
count continues to send an IPCF message to the MDA.
If the structure is regulated, it also checks to
see if the user has any assigned JFNs on the
structure, is CONNECTed to it, or is ACCESSing it.
If any of these conditions is true, the function
fails with one of the following messages:
MSTX36 - Illegal while JFNs assigned
or
MSTX37 - Illegal while accessing or connected to
structure
4. An additional state can be changed with the .MSSSS
function of MSTR. It is
B6(MS%NRS) Structure is nonregulated.
5. The .MSGSS function of MSTR reports another status.
It is
B6(MS%NRS) Structure is nonregulated.
6. The USAGE JSYS now allows the file structure mount
entry as defined in the DECSYSTEM-20 USAGE File
To: TOPS-20 Monitor Memo List Page 3
Subj: STRUCTURE ACCOUNTING
Specification.
3.2 JSYS Additions
Three new functions have been added to MSTR. All three require
WHEEL or OPERATOR privilege. The first two are associated with
fork-only incrementing of the mount count. These were added to
allow BATCON, LPTSPL, etc. to run under job 0. Each program
independently mounts and dismounts structures. Without these
functions the GALAXY programs could vye with each other for
control of the structure. For example, BATCON might increment
the count, LPTSPL would see it already done and start using the
structure. When finished with the structure, BATCON decrements
the count. This leaves LPTSPL hanging without the structure.
NOTE: When either a job or fork mount is possible, the
job-wide mount is preferred, as the fork mount incurs more
overhead.
1. Incrementing the Mount Count for the Fork - .MSICF
A fork indicates it is actively using a structure
by this function. In most situations, the .MSIMC
function which mounts the structure for the entire
job is preferred, rather than just for the fork.
This function involves more overhead for the
function than for the .MSIMC function. The job
receives an error if the structure is being
dismounted. The format of the argument block is
Word Symbol Meaning
0 .MSDEV Pointer to ASCIZ string
containing the alias of the
structure, or device designator
of the structure.
The possible errors are the same as those for
.MSIMC.
2. Decrementing the Mount Count for the Fork - .MSDCF
This function indicates the given structure is no
longer being used by this fork. (However, if a
job-wide increment has been done, the fork still
may access the structure.) The format of the
argument block is as follows:
Word Symbol Meaning
0 .MSDEV Pointer to ASCIZ string
containing the alias of the
structure, or device designator
of the structure.
To: TOPS-20 Monitor Memo List Page 4
Subj: STRUCTURE ACCOUNTING
The possible errors for this function are the same
as those for the .MSDMC function.
3. Receive Interrupt when Disk comes On-line - .MSOFL
This function specifies who is to receive an
iterrupt when a disk comes on-line. It is provided
for the device allocator in order to control the
disks and inform the operator of structure status.
Only one process on the system will receive the
interrupts. The format is as follows:
Word Symbol Meaning
0 .MSCHN Place this process on a software
interrupt channel. An interrupt
is then generated when a disk
comes on-line. If the channel
number is given as -1, the
process is removed from its
current channel.
4. Ignore Increment Check - .MSIIC
This function allows a process to use a regulated
structure without previously incrementing the mount
count. There is no argument block. Entries are
made to the accounting file only on structure
decrements. Therefore, this function will enable
bypassing of the accounting. The following errors
are possible from this function:
MSTRX2: WHEEL or OPERATOR capability required
3.3 EXEC Changes
1. The SET STRUCTURE command can take two more
descriptors:
REGULATED - Prior incrementing of the mount count
is required to use the structure, and
accounting is done. This is the default,
unless it is the primary system
structure, i.e. PS:.
NONREGULATED - Accounting is not done for this
structure, and prior incrementing of the
mount count is not required to use this
structure.
2. The INFORMATION STRUCTURE command can report
whether a structure is regulated or nonregulated.
3.4 GALAXY Changes
To: TOPS-20 Monitor Memo List Page 5
Subj: STRUCTURE ACCOUNTING
1. BATCON must issue a request to increment the mount
count for a structure for the user at LOGIN time,
if the structure is regulated.
2. LPTSPL must issue a request to increment the mount
count, if the file is on a regulated structure.
3. SPROUT must issue the same request if it is copying
a file to a regulated structure.
4. FTP20 must increment the mount count if copying a
file to/from a regulated structure.
3.5 MTCON Interface
(Note! MTCON will be given a more appropriate name in the
future.) MTCON will assume the disk functions of OPLEAS. In
addition, MTCON will insert disk and tape records into the
USAGE accounting file.
1. The OPLEAS command file will be renamed to
MTCON.CMD and have the additional commands:
FOREIGN (STRUCTURE) structure name
NONREGULATED (STRUCTURE) structure name
REGULATED (STRUCTURE) structure name
The commands may be doubled, for example:
NONREGULATED DOMESTIC SNARK
The last new command is DEFAULT. This sets up the
default status of all structures to be mounted that
are not listed in the command file. The arguments
to the command are the previously mentioned
commands. In order for an installation to allow
usage of a structure without requiring the SMOUNT
command, the following line would be inserted into
the command file:
DEFAULT NONREGULATED
The arguments to the DEFAULT command may be
doubled, also. For example,
DEFAULT DOMESTIC NONREGULATED
2. MTCON will notify the operator of a mount request
with the message format:
15:18:49 <1> --MOUNT STRUCTURE--
Mount SHR: (alias SHR:)
User KONEN, Job 17, Line 232
To: TOPS-20 Monitor Memo List Page 6
Subj: STRUCTURE ACCOUNTING
The operator will either place the pack on the
drive, or respond with a refusal message, where the
first word must be 'REFUSE'.
OPR>RESPOND 1 REFUSE NO PACK FOUND WITH THAT NAME
The user will see one of the two following
messages:
[Structure SHR: mounted]
or
Mount refused by operator
Reason given by operator: NO PACK FOUND WITH THAT NAME
The operator may ask for a status report of the
disks:
Status of Disk Units:
Mounted? Type Channel Drive Structure name Logical unit
-------- ---- ------- ----- -------------- ------------
YES RP06 0 6 SNARK: 0 (1 of 1)
YES RP06 0 7 MISC: 0 (1 of 1)
YES RP06 1 0 PS: 0 (1 of 2)
YES RP06 1 1 EIBEN: 0 (1 of 1)
YES RP04 1 2 QWERTY: 0 (1 of 1)
YES RP06 2 3 PS: 1 (2 of 2)
NO RP06 2 4 Off-line
YES RP06 2 5 LANG: 0 (1 of 1)
YES RP06 5 1 REL3: 0 (1 of 1)