-y
CONTROL DATA®
6000 SERIES TIME-SHARING
KRONOS
SA
TCH USER'S
REFERENCE MANUAL _
RECORD OF REVISIONS
Revision Notes
A Released 2-27-70
Address comments concerning this manual to:
KRONOS
Batch User's Reference Manual Publication Number 59150600
Copyright © Control Data Corp., 1970 Printed in the United States of America
ii
Control Data Corporation
Business and Industrial Systems Division Technical Publications
4201 North Lexington Avenue St. Paul, Minnesota 55112
PREFACE
The KRONOS Time-Sharing System was developed by the Business and Industrial Systems
Division of Control Data Corporation. KRONOS processes jobs from a maximum of 384
time-sharing terminals, central site batch jobs, and remote batch jobs.
This manual describes the external features of the KRONOS Operating System for the batch
user. It does not contain a detailed internal description of the associated software nor a
description of the time-sharing commands.
For further information concerning Control Data® 6000 Series computers and the KRONOS
Time-Sharing System, consult the following manuals:
Title
Control Data 6400/6500/6600 Computer Systems
Reference Manual
Time -Sharing FOR TRAN Reference Manual
FOR TRAN Translator (FTNTRAN) Reference Manual
EXPOR T /IMPOR T Reference Manual
BASIC
Reference Manual
ALGOL
Reference Manual
Text Editor (EDIT) Reference Manual
KRONOS Operating Guide
Control Data MODIFY File Editing System Reference Manual
Instant KRONOS
Time-Sharing User's Reference Manual
KRONOS Terminal User's
Publication Number
60100000
59150900
59151000
59150500
59150800
59151200
59150700
59151600
59151100
59152100
59151300
CONTENTS
2-1 2-1 2-1 2-2 2-2 3-1 3-1 3-1 3-2 3-2 3-2 3-3 3-3 3-3 3-4 3-4 3-4 3-4 3-4 3-4 3-5 3-5 3-5 3-5 3-6 3-6 3-6 3-7 3-8 3-9 3-11 3-11 3-12 Program ExecutionControl Cards. . . .
LOAD Card .
SATISFY Card .
EXECUTE Card.
PROGRAM CALL Card . .
FORTRAN Card. ·
COMPASS Card. MODIFY Card . . .
NOGO Card. · · · File Management Control Cards · · · .
REQUEST Card . . . . . 3 . . .CONTROL CARDS
Job Control Cards JOB Card .
ACCOUNT Card .
ONSW Card . OFFSW Card
MODE Card.
COMMENT Card .
EXIT Card.
MAP Card.
PARTIAL MAP Card
NOMAP Card. . . . . REDUCEFL Card . .
NOREDUCE Card . . . .
ROLLOUT Card.
SPTPR Card.
SETTL Card. 2 . . .JOB PROCESSING.
Job Input . . .
Job Execution · . . . . ·
Job Output . . ·
Control Card Translation
1-2 1-1 1-1 1-3 1-3 1-3 1-3 1-4 1-4 1-4 1-5 1-5 1-5 1-5 1-5 1-5 1-6 1-6 1-7 1-7 1-7 1-8 1-8 1-8 1-8 1-9 1-10 1-10 1-10 Conversion . INPUT File. OUTPUT File PUNCH File . .
PUNCHB File .
P8 File . . . . . Logical Records
Data Formats . . .
Mass Storage
Address Mode . .
Index Mode . . •
Coded Punched Cards . Introduction . . . • . .
Hardware /Software
Integration. . • . . . . 1-1
Central Processor Unit . . . 1-2
Peripheral Processor Units . . . • . . .
Central Memory (60-Bit Words) · ·
Multiprogramming · ·
Control Points · Control Point Area
Control Point Number . .
Files .
File Names
Binary Punched Cards
Printed Data .
Carriage Control · Standard Format
Magnetic Tape .
Unblocked External BCD Format Magnetic Tape
CONTENTS (Cont'd) 7-4 7-2 7-5 7-5 7-1 7-6 7-6 7-5 7-6 7-7 7-5 7-3 7-3 7-4 7-7 7-8 7-8 5-3 5-3 5-4 5-4 5-4 5-4 5-6 5-6 6-1 6-2 6-4 7-1 7-1 Library Routines · · .
Generate User Library File (LIBGEN) . . . • . . .
Edit User Library
File (LIBEDIT) · · · . Convert UPDATE Library to MODIFY Library (UPMOD)
Catalog File Set (CATALOG)
Compare Records (VERIFY)
Compare Library Files
(VFYLIB) .
Extract External
Documentation (DOCEXT)
Generate System Symbol Cross Reference (SYSREF)
Copy Routines . . . · . . . . · · · . Copy through Empty File
(COpy). . . • . . . .
Copy Binary File (COPYBF)
Copy Binary Record
(COPYBR) .
Copy Coded File (COPYCF)
Copy Coded Record (COPYCR) . . . • . . . .
Copy Shifted Binary File (COPYSBF) . . • . •
Copy to Terminator (COPYX) . . . . • . •
File Manipulation Routines Loader Directives
OVER LAY Card.
Overlay Decks . . Overlay Format
Memory Allocation
System .
User .
Memory Map
6 . . . DECK STRUCTURES
COMPASS Decks . .
FORTRAN Decks · .
7 . . . UTILITY PROGRAMS
3-15 3-15 3-16 3-16 3-16 3-17 3-17 3-17 3-13 3-14 3-14 3-14 3-15 3-15 3-15 3-15 FIRST ASSIGN Card
SETID Card . .
COMMON Card RE LEASE Card.
LOCK Card . . UNLOCK Card.
MACE Card.
SCOPE Card
System Information
FET Creation Macros . . LIMIT
OUT. ·
IN. · ·
Permanent File Control Cards · · . · . .
Circular Buffers
File Environment Table SAVE Card ·
GET Card ·
REPLACE Card· .
PURGE Card ·
PERMIT Card ·
APPEND :ard·
CA T LIST Card · · · · · . PROGRANI/SYSTEM COMMUNICATION. · 4 .• 4-1 4-1 4-1 4-2 4-2 4-3 4-3
User Information · . · . . . · 4-4
4-4
4-7
Coded File (Sequential) 4-7
Binary File (Sequential) 4-7
Coded File (Random) . . 4-7
Binary File (Random) · · 4-7
User /System Communication Subroutines· · · 4-8
Job Action Requests · · · 4-8
File Action Requests 4-17
Transfer Data Requests . . 4-22
Position File Requests · · · 4-29
5 . . . LOADER OPERATION · · 5-1
CONTENTS (Cont'd)
Input/Output Routines. · . . . 7-10
Load Binary Corrections
(LBC) 7-10
Write Empty Records
(WRITER) 7-12
Request File Length (RFL) 7 -13
Dump Storage (DMP) . . . 7-13 Unload File (UNLOAD) . . . 7-8
Rewind File (REWIND) .7-8
Skip to
End-of-Information (SKIPEI). . 7-9
Skip File Forward
(SKIPF) · · . . . • .7-9
Skip File Backward
(SKIPFB). · · · . · . . 7-9 Skip Record Forward
(SKIPR,) · · . . . .7-9
Backspace Logical
Records (BKSP) · . . . 7-10
Return Files (RETURN) . . 7-10
Load Octal Corrections
(LOC) .
Punch Binary Cards (PBC)
Read Binary Record (RBR)
Write BinaryRecord (WBR)
Write File Marks (WRITEF)
. 7 -11
7-11
7-11 7-12
7-12
APPENDICES
· . B-5
· · B-5
· · C-1
· C-1
· · C-1
· · C-1
· . D-1
· . E-1
· . F-1 Replication Table •. ·
Transfer Table
C . . . CARD FORMAT
Column 1 · · Binary Card
Coded Cards
D . . . ERROR DIAGNOSTIC MESSAGES . . . . .
E CONTROL CARDS
F CHARACTER SET · · B-1
· · B-1
· B-2 . B-2
. B-3
. . B-3
. · B-4 Identification Word
Program Identification and Length (PIDL) Table . . . .
Entry Point (ENTR) Table
Text Tables
Fill Table . .
Link Table
A I/O CODES · · · A-1 B RELOCATABLE SUBROUTINE
FORMATS. · .
FIGURES
· . COMPASS Assemble and
Execute Deck . . · · • . . · . 6-2
6-3 . . . COMPASS Assemble, Execute and Punch Binary Output Deck 6-3
6-4 . . . FORTRAN Compile and
Execute Deck · · · . . . 6-4 6-5 . . . FORTRAN Load and Run Deck 6-5 6-6. . FORTRAN Overlay
Preparation Deck 6-6 · . 4-2
. . . 4-2
· 4-3 4-3 . 6-1 . Circular Buffer ·
· . Write Operation ·
. Read Operation ·
· . System File Environment Table · . Basic Job Deck . 4-1. 4-2. 4-3. 4-4. 6-1. 6-2. TABLES
1-1 . . . Carriage Control Characters · · 1- 9 B-1 . . . Identification Word
SYSTEM DESCRIPTION
INTRODUCTION
The KRONOS Time-Sharing System coordinates multiple-user access to one CDC 6000
Series computer. Programs can be submitted from:
• Time-Sharing Terminal
• Central Site
• 200 User Terminal
1
The user can submit his job to KRONOS from a time-sharing terminal. The terminal
re-sponds as if it were a small computer console to which the user has sole access. However,
the 6000 Series computer at the central site allocates only a small portion of its total time
to process the requests of each individual terminal in succession. Hence, KRONOS is a
time-sharing system.
A user can also enter his program at the computer center. He can then use all the
equip-ment attached to the computer; i. e., card reader, punches, line printers, tapes, and other
peripheral devices.
The user can also communicate with the 6000 Series computer from a 200 User Terminal
at his own site. One or more jobs are collected into a job stack which is sent to the
com-puter center over telephone lines. K:RONOS processes the job stack in a manner similar
to that of local batch processing. The system transmits the resulting output to the remote
site.
KRONOS operation and performance depend directly on the system resources available for
job processing. The job types, the number of time-sharing users, and the remote batch
terminals determine the minimum hardware configuration necessary for system operation.
HARDWARE/SOFTWARE INTEGRATION
KRONOS uses the ten Peripheral Processor Units (PPUs) for system and input/ output tasks,
and the Central Processor Unit (CPU) to execute the user's jobs. Central Memory (CM)
con-tains the user programs and a system software area called Central Memory Resident (CMR).
When the term "system" appears in this manual, it is the equivalent of the KRONOS
operat-ing system. When lower case letters appear in format descriptions, they represent
user-supplied values. Capital letters and punctuation markst represent themselves.
CENTRAL PROCESSOR UNIT
The CPU performs computational tasks but has no input/output capability. It communicates
with the outside world through central memory. Under KRONOS, the CPU is used almost
ex-clusively for program compilations, assemblies, and executions. The CPU program makes
request of the system through the CPU Request register which is the Reference Address
plus one (RA+l) of the current program.
PERIPHERAL PROCESSOR UNITS
The ten peripheral processors (PPO, PP1, . . . , PP9) are identical and perform a variety
of tasks. However, the PPUs cannot assemble, compile, and execute user programs
effi-ciently. Under KRONOS, the PPus are assigned various tasks such as system
housekeep-ing, job processhousekeep-ing, and input/ output.
PPU number 0 contains the Monitor Program (MTR) that oversees or controls all other
system activities. PP9, under the supervision of MTR, permanently drives the console
typewriter and display scopes. The remaining PPUs, 1 through 8, are initially assigned
to read their input registers (specific locations in central memory) over and over. To
make a request, the monitor inserts a significant word into the input register of a PPU.
When the PPU reads its input register, it obeys the request (or determines that it cannot
do so), sets a drop PPU request in its output register to indicate to the monitor that the
PPU has processed the request, and returns to its idling state. When idling, pool PPUs
continually read their input registers. Thus, all requests to a PPU (other than PPO) are
communicated through the input register of that PPU.
Each PPU (other than PPO) uses its output register (another locatio~in central memory)
for requests to the monitor and for completion status of the requests. The monitor
peri-odically searches the PPU output registers for requests. The monitor zeros certain bits
in the PPU output registers when the requests have been processed.
Although the primary task of a PPU is to act on requests from MTR, a PPU most
occasion-ally request the cooperation of another PPU. PPUs request these additional PPUs through
the monitor and must request permission from the monitor before using an input/ output
channel. Since each PPU is capable of connecting itself to any channel, only one PPU can
use a specific channel at one time. To avoid two PPUs attempting to use the same channel
(which would hang up both PPU s and the channel), the monitor maintains a list of channels
and their status. Whenever a PPU requires a channel, it must first request the monitor to
assign that channel for its exclusive use. When finished with the channel, the PPU specifies
CENTRAL MEMORY (60-BIT WORDS)
A number of programs can be executed concurrently under KRONOS. These programs are
stored in central memory (user area) along with a set of necessary data for system
opera-tion (central memory resident). Central memory is accessible to both the CPU (within the
field length of a given program) and the PPUs, and thus forms the communications link
be-tween the 11 processors and the system.
Central memory resident contains the library directory, system communication area,
sys-tem tables, the CPU resident routine, and information about each job currently being
exe-cuted. The user area contains the programs currently being executed for each job.
Central memory words are 60 bits in length and contain five 12-bit PPU memory words.
These five PPU words, called bytes, are numbered 0 through 4:
59 47 35 23 11 0
1 b_y_t_e_o_....
I__
b_y_te_l_-J,.I_ _b_yt_e_2_---L...I_ _b_y_te_3_---1..I b_y_te_4_----J1Central Memory Word
MULTIPROGRAMMING
CONTROL POINTS
The system can execute several jobs simultaneously. During execution, these jobs are
numbered (l-n). The index of each job is called a control point. When the system has
se-lected a job for execution, it assigns the job to a control point. The control point number
identifies and differentiates the job from the other jobs in execution. Each control point ,has
a control point area in central memory that contains all of the information necessary for
KRONOS to define and process the a~signedjob.
CONTROL POINT AREA
When a job is in central memory, the control point area to which it is assigned contains
such information as job name, length, starting address in CM, elapsed time, assigned I/O
equipment, and control statements. The control point area also contains a 16-word section
called the exchange package. The exchange package contains all necessary information for
starting or resuming a CM program - the contents of all registers used in executing a
pro-gram.
Under KRONOS, control point 1 is dedicated to TELEX, the CPU executive for the REMOTE
teletypewriter communication package. Control point n is reserved for the EXPORT
CONTROL POINT NUMBER
In the control point system, a 5-bit number identifies a job in process. For example, a
user's program requests the system to read a magnetic tape. This request generates
several internal requests (which the PPUs pass back and forth). Each of these requests
requires only five bits to identify the user's job.
FILES
A file is an organized collection of data. The file name identifies it to the user and to the
system. KRONOS, the jobs it processes, and intermediate results are files or parts of
files. A file consists of one or more logical records. Each logical record contains one
or more Physical Record Units (PRUs) of data.
Files can be transferred from one device to another since equivalent formats are used for
files on cards, printer, disk, and magnetic tape. The information in a file is stored
seri-ally. An object program can operate on named files and the actual medium of a file can
be specified on control cards; disk storage is assumed if no medium is specified.
Coded information is stored internally in display code on either a disk sector or a
mag-netic tape record. The concept of logical records makes it possible to have equivalent
forms of a file on several media, without losing the advantages of each form of storage.
For example, several cards constituting a logical record can be transferred to an
equi-valent form on disk storage where they are blocked in sectors.
FILE NAMES
File names consist of one to seven alphanumeric characters.
Input and output operations of a central program involve a named file - a disk, magnetic
tape, punched card, or printer file. The physical unit associated with a file name is
con-trolled by the job control cards and is not a function of the central program coding directly.
The operating system provides a common interface between the central program and the
peripheral programs which drive the equipment.
The special files named:
•
INPUT•
OUTPUT•
PUNCH•
PUNCHBare supplied to each job by the system. The user should not try to assign these names to
other temporary or I/O files.
INPUT FILE
The file named INPUT is the file from which the job can be read after it has been assigned to a control point. Before a job is at a control point, the job file is identified by the job name.
OUTPUT FILE
The file named OUTPUT contains the results which are to become printed copy when the job
terminates. During job processing, the file OUTPUT collects records which are to be
printed. When job processing is completed, the name of this file changes from OUTPUT to
the job name.
PUNCH FILE
The file named PUNCH contains the data which is to become Hollerith punch card output
when the job terminates. When job processing is completed, the name of this file changes
from PUNCH to the job name.
PUNCHB FILE
The file named PUNCHB contains the data which is to become binary punch card output when
the job terminates. When job processing is completed, the name of file PUNCHB also changes to the job name.
pa
FILEThe file named P8 contains the data which is to become 80-column binary punch card output
when the job terminates. When job processing is completed, the name of file P8 also changes to the job name.
LOGICAL RECORDS
All files under the KRONOS system are organized into logical records. Input files are
organ-ized into logical records by the language translator or other program producing the output. Otherwise, the user must generate logical records.
Since the logical record is defined for each type of peripheral device, files retain their
structure when transferred between devices. The physical format of a logical record is
smallest amount of information the system transfers during a single physical read or write
operation for each device.
Logical records consist of one or more PRUs, the last of which is short- or zero-length.
For mass storage and tape, a physical record unit that contains less than the normal amount
of data marks the End-of-Record (EOR). Card data has a special EOR mark. An EOR is written on tape or mass storage as a zero-length PR U if the logical record data is an even
multiple of the PRU size, or if a write operation was requested when no data was in the
buffer. A zero-length PRU is a PRU containing no data.
DATA FORMATS
Data within the system can be binary or coded. Binary records can be of any length. Coded
records are lines of display-coded characters. Binary data is in images of central memory
but is blocked into physical records. The data block lengths are device -dependent.
Each line of coded data begins at the first byte of a word and continues two characters per
byte to the end of a line. The line can be of any length, but should be of a size
correspond-ing to the device to which the line will be written. The last CM word of the line is completed
with at least one cleared byte. A cleared byte is the End-of-Line designation.
Coded data on mass storage or odd parity tape has the same format as binary data, and can
be grouped into records. The following paragraphs describe data formats for each device.
MASS STORAGE
All data on a mass storage device is in 64 CM word PRUs. Each PRU is preceded by two
bytes of control information which is available to the system only. Files on mass storage
can be randomly accessed (logical records of mass storage can be read or written directly
without reading or writing the entire file). Under KRONOS, a user can access a random file
record by address or by record index. In Address mode, a user can access any randorrl
access file. In Index mode, a user can access only those random access files which have a
list of record names or numbers as the first logical record. The addressing structure
allows random access files to be temporarily stored on non-random devices without losing
their random access characteristics.
After an initial random access read request for a file or End-of-Information has been
writ-ten, the system treats a random access file like a sequential file. Subsequent read or write
requests occur at the current file position.
KRONOS allows a random access file to be used as a sequential file. However, a user should
not assume that a rewritten random access file is in any particular order.
ADDRESS MODE
The Address mode of random access allows the user to read or rewrite any group of PRUs.
The user specifies the address of the first PRU to be read or rewritten. The length of the
buffer or data in the buffer determines the number of PRUs to be read or rewritten.
There-fore, the rewrite feature should be used carefully because it is possible to overwrite into
the next block of data if a user requests a random write when more data is in the buffer than in the original block. Also, End-of-File (EOF) and End-of-Record write requests can cause
control PRUs to overlap into following data.
To request A.ddress mode random access processing, set the random access bit (r), set the first sector number in the random request field of the File Environment Table (FET) (Sec-tion 4), and set bit 1 7 of the random request field.
INDEX MODE
The Index mode of random access requires a table of record names or numbers with the
associated first sector numbers. When an indexed random access file is to be saved, the.
system writes this table as the last logical record of the file.
A table of record names requires two words per record. A table of record number requires
one word per record.
All random write requests on an indexed file occur at the End-of-Information mark.
There-fore, when a record on an indexed file is rewritten, it can differ in size from the original
record. The system writes the new record at the End-of-Information (EOI) mark and does
not release the space reserved for the old record.
KRONOS provides system macros for Index mode random access (Section 4).
CODED PUNCHED CARDS
Coded cards are in Hollerith code, 80 characters per card. The system reads data
from cards, converts it to display code, deletes trailing spaces, and packs it into a line of
up to nine CM words. The system punches data for a card until an End-of-Line mark or the
80th character appears. If an End-of-Line mark does not appear after 80 characters, data
is lost. Since the search for an End-of-Line mark terminates when 14 CM words have been
CONVERSION
Conversion can be specified by the code card. This card has a 5-7-9 punch in column 1.
Column 2 specifies the conversion.
Column 2
blank
9
8
Conversion
026
029 FORTRAN
029 COBOL
Conversion is initially set to 026. A conversion code remains in effect until changed or
until an End-of-Information mark is read, whichever occurs first.
BINARY PUNCHED CARDS
Binary cards contain:
• up to 15 words per card,
• a 7 -9 punch in column 1,
• word count of card in column 1, rows 0, 1, 2, 3,
• an ignore checksum punch in column 1, row 4,
• the checksum modulo 4,095 in column 2,
• the binary sequence number in columns 79 and 80, and
• a blank in column 78.
An End-of Record mark has a 7-8-9 punch in column 1. An End-of-File mark has a 6-7-9
punch in column 1. An End-of-Information mark has a 6-7-8-9 punch in column 1.
PRINTED DATA
All printed data is in coded format. The system extracts data to be printed until an
End-of-Line mark or the 136th character appears. If an End-of-Line mark does not appear after
136 characters, data is lost. Since the search for an End-of-Line mark terminates when
14
eM
words have been checked, up to four characters can be lost.CARRIAGE (ONTROl
The system recognizes the first character in a line as the carriage control character. If the
first character is a carriage control character (Table 1-1), it is not printed. When the
system recognizes a carriage control character, it prints a line containing a maximum of
crease). This is the only carriage control command that remains in effect until changed.
All other carriage control commands must be given for each line that they control.
TABLE 1-1. CARRIAGE CONTROL CHARACTERS
Character Command
space Single-space
1 Eject page before print
o
Skip one line before print (double space) - Skip two lines before print (triple space)+ Suppress space before print
/ Suppress space after print
2 Skip to last line of form before print
t
8 Skip to format channel 1 before printt
7 Skip to format channel 2 before print
t
6 Skip to format channel 3 before print
t
5 Skip to format channel 4 before print
t
4 Skip to format channel 5 before print
t
3 Skip to format channel 6 before print
t
H Skip to format channel 1 after printG Skip to format channel 2 after print
F Skip to format channel 3 after print
E Skip to format channel 4 after print
D Skip to format channel 5 after print
C Skip to format channel 6 after print
Q Clear Auto Eject
R Set Auto Eject
S Select 6 lines
T Select 8 lines
t No space after print
STANDARD FORMAT MAGNETIC TAPE
The standard KRONOS magnetic tape format is 7-trackJ 1/2-inch tape. The system writes
to tape in odd parity; 512
eM
word PRUs. An EOR mark is a short PHU (less than 512UNBLOCKED EXTERNAL BCD FORMAT MAGNETIC TAPE
Unblocked External BCD format is 7-track, line or card image 1/2-inch tape. The system
writes to tape in even parity, 136 character PRUs unless the user specifies another PRU
size on an ASSIGN or REQUEST card. Both EOR and EOF marks are represented by tape
file marks. The system converts data to display code, deletes trailing spaces, and stores
ten characters per CM word for a read operation. For a write operation, the system
con-verts data to External BCD, adds trailing spaces if necessary, and writes the characters in
a coded line, discarding characters that occur after the specified number.
BLOCKED EXTERNAL BCD FORMAT MAGNETIC TAPE
Blocked External BCD format is 7-track, 1/2-inch tape. The system writes to tape in even
parity, 150 character PRUs unless the user specifies another PR U size on an ASSIGN or
REQUEST card. Both EOR and EOF marks are represented by tape file marks. The
sys-tem converts data to display code and stores ten characters per CM word for a read
opera-tion. If necessary, the system completes the last word with spaces. For a write operation,
the system converts data to External BCD and writes the characters in a coded line,
dis-carding the characters that occur after the specified number.
PERMANENT FILES
Under KRONOS the user has access to permanent files - files which cannot be lost by a
dead-start operation. Permanent files can be accessed in any available system mode (Address
or Index) once the file has been retrieved from permanent file storage and is available at
JOB PROCESSING
2
A job consists of one file of punched cards or card images. The first logical record of a job
file contains the control cards that specify the job's processing requirements. The system
processes jobs in three sequential but independent stages:
• Input • Execution
• Output
Many jobs can be in the input and output stages of processing but only n jobs (one for each
control point) can be in the execution stage. Each job must begin with a job card and end
with an End-of-Information card. All other control cards follow the job card directly. The
end of the control cards is signified by a 7-8-9 card (End-of-Record) or a 6-7-8-9 card
(End-of-Information) if the job consists of control cards only.
JOB INPUT
The system reads an entire job from the card reader and stores it on mass storage in the
input queue. A typical job file has three logical records: control cards, program cards, and data cards.
JOB EXECUTION
The system executes a job by:
• bringing the job to a control point,
• following the directives of the control cards, and
• accumulating data for the output stage of job processing.
A job is executed only when it is assigned to a control point. One job is assigned to each control point. When a control point becomes available, the system selects a job from the
input queue and assigns it to the free control point.
After a job is assigned to a control point, KRONOS advances the job according to the job control
cards. These control cards contain directives (such as LOAD or EXECUTE) that are
inter-preted and obeyed, one at a time, in the order they appear in the job file. For example, a
During execution, the system accumulates the output data (if there is any) in files on the
system mass storage device.
JOB OUTPUT
When the system has obeyed the last control card for a job, it enters the files of accumulated
output data into the output queue. The system selects files from the output queue and
pro-cesses them according to file type (punched cards, printer listings, etc.).
CONTROL CARD TRANSLATION
KRONOS translates a control statement by:
1. Reading the statement from the control point control card buffer. If necessary, the
system reloads control statements from the file INPUT.
2. Deleting all spaces between the beginning of the statement and the termination
char-acter (a period or a right parenthesis). KRONOS allows only standard FORTRAN
characters to appear before the termination character, although other characters
can appear in the comment field.
3. Searching the list of control card names and comparing them with the name of the
card being processed. If the card name is on the list, the system processes the
control statement according to the parameters. If the card name is not on the list,
the system searches further.
4. Searching the File Name Table with the first characters (seven or less up to the
separator character) for a file assigned to the control point with a name identical
to the first characters of the control statement. If the system finds such a file on
a mass storage device in absolute format, the system reads the file into central
memory as a CPU program. If the file resides on a non-mass storage device, KRONOS
aborts the job. If the file is in relocatable format on a mass storage device, the
system transfers control to the loader (Section 5), extracts the arguments from the
control statement, stores them in RA+2 through RA+(n+1), and requests the CPU
to begin program execution.
5. Searching the Chippewa Library Directory for a program name that coincides with
the card name. If the system finds such a program, it loads the program, stores
the arguments in RA+2 through RA+(n+1), and requests the CPU to begin program
6. Searching the SCOPE Library Directory for a program name that coincides with
the card name. If the system finds such a program in absolute format, the system
proceeds as for a Chippewa Library program (Step 5). If the program is in
relocat-able format, the system transfers control to the loader (Section 5).
7. Searching the Peripheral Library Directory if the statement name is three
charac-ters long and begins with a letter. If the system finds such a program, it constructs
a call to a PPU using the name and arguments from the control statement.
CONTROL CARDS
As introduced in Section 2, control cards direct job execution. KRONOS recognizes four types of control cards:
• Job
• Program Execution
• File Management
• Permanent File
3
All control cards, except the job card and program call cards, have two fields. The first
field contains the card name, beginning in column 1. Card names described in this section
are reserved for the system and cannot be used as program call names. The second field is optional; it can contain one or more parameters separated by commas. The two fields
are separated by a separator character: + - " / = , (or $.
The parameter field is terminated by a period or right parenthesis. A terminator must be present, even though no parameters are. specified.
The card names on job cards and program call cards contain the name of the job and the
name of the program, respectively.
JOB CONTROL CARDS
JOB CARD
Control card format: jobname, Tt, CMfl, Pp. or jobname, p, t, fl.
jobname Alphanumeric job name (one to seven characters) must begin with a
letter. To assure unique job names, KRONOS replaces the last three
characters with a system-generated value.
t Central processor time limit in octal seconds (maximum 777708). This time limit must suffice for compilation and execution of the job.
If t is absent, KRONOS assumes t=100
a
(1008 seconds ~ 1 minute).
fl Total central memory field length of the job; a maximum of six octal
digits. The system rounds the field length (storage requirement) to
p
• 360,000 8 on a 131K machine
• 163,000 8 on a 65K machine
• 61,0008 on a 32K machine
If fl is absent, KRONOS assumes fl=50, 000 8.
Priority level (octal) at which job enters the system;
1 ~ p ~ 17. If p is absent, KRONOS as sumes p~10.
The first control card for a job indicates the job name, priority, CPU time limit, and
memory requirements. Commas separate the fields and a period terminates the job card.
Blanks have no meaning. Fields other than jobname can appear in any order when identified
by the leading characters in the field.
ACCOUNT CARD
Control card format: ACCOUNT, xxxxxxx, pswd.
xxxxxxx user account number
pswd user password
The second card in the control card record must be the ACCOUNT card. It specifies the
user's account number. This account number is used in system bookkeeping as well as for
user access to permanent files.
ONSW CARD
Control card format:
n·1 Pseudo-sense switch number; 1 ~ n ~ 6.
The ONSW control card sets pseudo-sense switches for reference by the user's program.
The system stores the sense switch settings in the control point area and copies them to
address RA of the user's area for use by the central program. The system operator can
change these switch settings by console command.
OFFSW CARD
Control card format:
n.
1 Pseudo-sense switch number; 1 ~ n ~ 6.
The OFFSW control card clears pseudo-sense switches for reference by the user's program.
The system stores the sense switch settings in the control point area and copies them to
address RA of the user's area for use by the central program. The system operator can
MODE CARD
Control card format: MODE(n)
n
o
1
2
3
4
5
5
7
Exit Condition
Disable Exit mode; no selections made
Address is out of range because:
• Attempt was made to reference central memory or extended core storage outside established limits
• Word count in extended core storage communication instruction is negative
• Attempt was made to reference last 50-bit \vord (word 7) in relative address FL ECS
Operand out of range; floating-point arithmetic unit received an
infinite operand
Address or operand is out of range
Indefinite operand; floating-point arithmetic unit received an indefinite operand
Indefinite operand or address is out of range
Indefinite operand or operand is out of range
Indefinite operand, operand is out of range, or address is out of
range
The MODE control card selects the exit or stop conditions for the CPU program. When MTR
executes an exchange jump, the exit selection code enters the CPU. The exit occurs as soon
as the selected condition arises. If the user does not specify an error mode, the system
assumes n=7.
COMMENT CARD
Control card format: COMMENT. comments or *:comments
comments Combination of characters the user wishes to display
The system displays the combination of characters following the period or asterisk on a
COMMENT control card and enters them into the dayfile.
EXIT CARD
The EXIT card separates the control cards for normal execution from those used when an
error exit occurs. When the error exit condition occurs, the system searches the control
card record for the next EXIT card. If the record does not contain an EXIT card, the
sys-tem terminates the job. If the system finds an EXIT card, it clears the error condition and
obeys the subsequent control cards. Appendix D describes the error messages.
MAP CARD
Control card format: MAP.
The MAP card sets the Loader Map flag for the control point. The loader will generate a core map for the job.
PARTIAL MAP CARD
Control card format: MAP{P)
The MAP card with a defined parameter sets the Partial Map flag for the control point. A
full MAP card or NOMAP card clears the Partial Map flag.
NOMAP CARD
Control card format: NOMAP.
The NOMAP card clears the Loader Map flag for the control point. The loader w·ill not
generate a core map for the job.
REDUCEFL CARD
Control card format: REDUCEFL.
The REDUCEFL card clears the No Reduce FL flag for programs which normally reduce
field length for the job.
NOREDUCE CARD
Control card format: NOREDUCE.
The NOREDUCE card sets the No Reduce FL flag for the job.
ROLLOUT CARD
Control card format: ROLLOlJT.
The ROLLOUT card requests that the user's job be rolled out so that all memory assigned
SETPR CARD
Control card format: SETPR(p)
p priority level; 1 ~ P ~ 17.
The SETPR control card allows the user to specify a new priority level for his job.
SETTL CARD
Control card format: SETTL(t)
t Central processor time limit in octal seconds (maximum 777708)
The SETTL control card permits the user to specify a new time limit for his job.
PROGRAM EXECUTION CONTROL CARDS
These control cards direct loading and execution of files. Program execution control cards
have the general format:
name list comment
The card is a unit record of up to 80 characters, including freely interspersed spaces.
The name and list fields are required and comment is optional. The name is a string of one
to seven alphanumeric characters. The comment is a string of Hollerith characters.
The list contains parameters to be used by the program being loaded. The contents of the list can vary greatly, depending on the requirements of the program being loaded. If
para-meters are not required, list is simply a period. Parapara-meters can be enclosed in parentheses
or preceded by a comma and terminated by a period. The list can contain as many
para-meters as fit on one card. The program being loaded dictates the form of the parameters to be used. The parameters can specify the type of information flow, input BCD output,
binary output, special information, or the name of a file involved.
LOAD CARD
Control card format: LOAD (lfn1) or
LOAD (lfn1' Ifn 2 ,
Ifn1
Ifn2-lfnn
Name of file to be loaded
Names of library files (other than the system library) from v/hich
to satisfy external references of Ifn1 (0 ~ n ~ 50)
T he LOAD card directs the system to load the file lfn 1, and the programs from files Ifn2
Files Ifn2 through lfnn must reside in mass storage. Loading begins from the current file position. Loading of IfnI terminates when the EOI mark or an empty record appears. The
user can load segments and relocatable binary decks with the LOAD control card.
Use a LOAD card for each complete file required. The first record of the first file
deter-mines the kind of loading for subsequent LOAD cards.
SATISFY CARD
Control card format:
Names of library files (other than the system library) from
which to satisfy external references
For the SATISFY card, the system loads the programs from files IfnI through lfn
n required to satisfy external references in a file that the system has already loaded into central
mem-ory as a result of a LOAD card.
File Ifni must reside in mass storage when a SATISFY card appears.
EXECUTE CARD
Control card format:
name Program entry point where execution is to begin. If name is absent,
the system uses the last transfer address (XFER) encountered
List of parameters
The EXECUTE card causes the loader to complete program loading. This includes filling
all unsatisfied references with entry points from the system library except where inhibited
by segment parameters.
For segment or overlay operations, program execution begins in the first segment or the
main overlay.
PROGRAM CALL CARD
Control card format:
lfn
p.
1
Program name and entry point where execution is to begin
List of parameters
The system searches the File Name Table /File Status Table for a file named lfn. If it finds
file lfn, it loads the file subprograms and bypasses any routines already loaded by LOAD
file named lfn in the FNT /FST, it searches the system library and loads a subprogram with
the same lfn name. When the system completes loading, and if it finds no fatal errors, it
passes the parameters to the requested program and begins execution at the entry point
named lfn.
Examples:
LOA,D (ESTE)
EXECUTE. is equivalent to: ESTE.
To replace one subprogram with a subprogram of the same name from another file, the sequence could take the form:
LOAD (HOST) GUEST.
The subprograms will be loaded from the file HOST and the system bypasses
the subprograms of the same name on GUEST.
FORTRAN CARD
Control card format: RUN (cm, fl, bl, if, of, rf, lc, as, cs)
cm Compiler mode option; if omitted, the system assumes cm = G; if unrecognizable, the system assumes cm = S.
G
S P
L
M
Mode
Compile and execute; do not list unless explicit LIST cards appear in the deck
Compile with source list; do not execute
Compile with source list and punch deck on file PUNCHB; do not execute
Compile with source and object list; do not execute
Compile with source and object list; produce a punch deck on file PUNCHB; do not execute
fl Object program field length (octal); if omitted, the system sets fl field length at compile time.
bl Object program I/O buffer length (octal); if omitted, the system sets bl = 20228
if Name of file containing compiler input; if omitted, the system assumes if
=
INPUTof Name of file to receive computer output; if omitted, the system assumes of
=
OUTPUTlc
as
cs
Line limit (octal) of the object program OUTPUT file; if omitted,
the system assumes lc = 1000 S; if the line count exceeds the line limit, the system terminates the job
ASA switch; if non-zero or non-blank, causes A SA. I/O list/format
interaction at execution time.
Cross reference switch; produces a cross reference listing
The RUN control card calls the FORTRAN compiler to the job control point.
COMPASS CARD
Control card format:
Parameters; can be in the following format:
a
a = fname a 0 Option A B B=O B=fname D LO LO=O lVleaning
Source is MODIFY compressed symbolic. If A. is
omitted, no A option is assumed.
Binary on file LGO. If no B parameter is supplied,
this option is assumed.
No binary.
Binary on file fname.
Generates binary even if there are assembly errors.
If D is omitted, no D option is assumed.
Select list options: CFGX.
Normal list options. Options Land R are set.
LO=chars Select list options according to the character string
"chars" . Character L R G A C D E F M S X Lists Normal listing Reference information
Lines that result in code generation Lines with -or =I marks removed
EJECT, SPACE, and TITLE control cards Detailed code not normally listed
I
I=fname
L
L=O
L=fname
o
0=0
O=fname
P
S
S=O
S=sname
x
X=fname
Input from file COMPILE.
Input from file fname.
When the I parameter is omitted, the system assumes
I=INPUT"
Long list on file OUTPUT. When the L parameter is
omitted, this option is assumed.
No long list.
Long list on file fname.
Short list on file OUTPUT. When the 0 parameter is
omitted, this option is assumed.
No short list.
Short list on file fname.
Select consecutive page numbering. When P is
omitted, no P option is assumed.
System text name SYSTEXT. When S is omitted., this
option is assumed.
No system text.
System text name sname.
External text from file OPL. When X is omitted, this
option is assumed.
External text from file fname.
The COMPASS control card calls the COMPASS assembler to the job control point.
MODIFY CARD
C;ontrol card form.at:
p.
1 Parameters; can be in the following general formats:
a
a = fname a
=
0Options Specify
I
I=fname
1=0
Use directive input from file INPUT
Use directive input from file fname
Options Specify
P Use file OPL for old program library
P=fname Use file fname for old program library p=o Use no old program library file
C Write compile output to file COMPILE
C =fname Write compile output to file fname
C=O Write no compile file
N Write new program library on file NPL
N=fname Write new program library on file fname
N=O Write no new program library
S Write source output on file SOURCE
S=fname Write source output on file fname S=O Write no source output
L List output on file OUTPUT L=fname List output on file fname
L=O List no output information
LO Select list options: ECTMWDS
LO=chars Select list options according to the character string "chars":
Character
E
C
T
M
W
D
S
I
A
Lists
Errors
Directives other than INSERT, DELETE, RESTORE
Input text
Modifications made Compile file directives Deck status
Statistics Inactive cards
Active cards
A
D
F
U
NR
X
Any combination of characters selects the combination of list options.
Write compressed compile file
Ignore errors
Modify all decks
Modify only decks mentioned on DECK directives; F overrides U option
Do not rewind compile file
X=prog
X=O
Rewind input and output files, set A option, and call the prog processing program when modification is completed
Do not call another processing program
The following options apply only if the X option is selected.
CB Set assembler argument B=LGO
CB=name Set assembler argument B=name
CB=O Set assembler argument B=O
CL Set assembler argument L=OUTPUT
CL=name Set assembler argument L=name
CL=O Set assembler argument L=O
CS Set assembler argument S=SYSTEXT
CS=name Set assembler argument S=name
CS=O Set assembler argument S=O
With the MODIFY control card, the user calls the MODIFY program to his control point to
edit a library file. The parameter list specifies additional information to MODIFY. The
parameters can be in any order and are not mandatory. For any or all parameters omitted
from the control card, the system uses a default value:
I INPUT LO = ECTMWDS NR deselected
P OPL A deselected X = 0
C COMPILE D deselected CB
N 0 F deselected CL = 0
S 0 U deselected CS
L OUTPUT
NOGO CARD
Control card format: NOGO.
When the loader encounters a NOGO card, it processes the loaded program in the same
manner as for an EXECUTE card; however, it does not execute the program. This card
permits program mapping, execution bypassing, and continuation of other portions of the job.
FILE MANAGEMENT CONTROL CARDS
The file management control cards permit the user to:
• request a file in a particular type of output,
• route a file to a particular destination,
• create a COMMON file,
• attach a COMMON file,
• change a LOCAL file to a COMMON file, and
• release a COMMON file.
If a file is not specifically assigned to a REQUEST or ASSIGN card, the system assigns it
to disk storage. A job does not assign the card reader, printer, or punch for normal input/ output from such things as compilations or assemblies since the system does this
automati-cally. In addition, any file named OUTPUT, PUNCH, or PUNCHB will always be printed,
punched, or punched binary by the system at job completion. The REQUEST card is used
for large installations where the operator can best assign the available equipment when any
peripheral device of a particular type is suitable. The ASSIGN card is for smaller
installa-tions and situainstalla-tions where only one particular peripheral device is suitable.
REQUEST CARD
Control card format:
lfn
x.
1
Logical file name; one to seven digits or letters. This is the name of
the file to which equipment is to be assigned, and the name by which the
user refers to the file within his program. A REQUEST card must have at least one parameter; the first parameter is the lfn.
Any of the following:
LO
HI
HY X
B
C=xxxx
Density = 200 bpi
Density = 556 bpi
Density = 800 bpi
Process coded data in unblocked External BCD (136 characters /PR U unless otherwise specified). (Section 1)
Process coded data in blocked External BCD (150 char-acters /PRU unless otherwise specified). (Section 1)
Set External BCD character count per PRU=xxxx;
1 ~ xxxx .~ 4,096. Any value not in this range is ignored without comment and standard values are used
The user can fill his REQUEST card with x. parameters. If parameter commands conflict,
1
TSOS ignores all except the last parameter given.
The REQUEST card directs the system to display (at the system console) the user's request
acceptable type of device. When the system operator assigns the peripheral equipment, job
execution commences. Any equipment the user wishes to use must be requested on a
RE-QUEST card or assigned on an ASSIGN card.
Because the system processes control cards in order, the REQUEST card must appear
be-fore the user references the file. If a parameter appears more than once or is illegal, the
system issues a message and aborts the job.
ASSIGN CARD
Control card format:
nn Ordinal in equipment Status Table (EST) of peripheral device or
equipment type:
Type
CP
CR
DA
DB DC
DD
DE DF
DG
LP MT
Equipment Card punch
Card reader
6603 disk·
6638 disk 863 drum
854 disk drive
Extended core storage 814 disk
Disk drive group
Line printer
1/2 -inch magnetic tape
lfn
x.
1
Name of file to be assigned
Any of the following:
LO
HI HY
X
B
C=xxxx
Density = 200 bpi
Density =556 bpi Density = 800 bpi
Process coded data in unblocked External BCD (136 characters/PRU unless otherwise specified). (Section 1)
Proces s coded data in blocked External BCD (150 char-acters/PRU unless otherwise specified). (Section 1)
Control card format:
The user can fill his ASSIGN card with xi parameters. If parameter commands conflict, KRONOS ignores all except the last parameter given.
The ASSIGN card directs the system to assign equipment nn to file lfn. The system will
refuse to assign the equipment if the user is not allowed to use the device or the file is already assigned to another device.
SETID CARD
SETID (IfnI = aI' Ifn2 = a 2, · · · , lfnn = an)
Logical file name
a·1 New area code for file
The SETID card assigns a new area code or changes the area code for file lfn. The area code allows the user to route his file to a particular output device or device group because
of proximity or other considerations.
COMMON CARD
Control card format: COMMON (lfn
l, Ifn2, . . . , lfnn) Ifni Name(s) of COMMON file(s)
If file Ifni is a COMMON file in the FNT /FST and is not being used by another job, the
sys-tem assigns it to this job. If the file is being used by another job or is not a COMMON file, the job must wait until the file is available.
If file lfn appears as a LOCAL file for the job, the system changes it to a COMMON file in
the FNT /FST and it becomes available to any succeeding job after the current job terminates.
However, if a COMMON file of the same name already exists, the system rejects the
COM-MON request and allows the job to continue.
If the file resides on a non-allocatable device such as magnetic tape, the equipment is
re-served until the user releases the COMMON file.
RELEASE CARD
Control card format: RELEASE (IfnI' Ifn2, . . . , lfnn)
Logical file name
For the RELEASE card, the system changes COMMON file Ifni' currently assigned to the
job, to a LOCA L file in the FNT /FST. The file is then discarded at the end of the job unless
LOCK CARD
Control card format: LOCK (lfn
1, lfn2, · · . , lfnn)
Logical file name of a LOCAL file
With the LOCK card, the user can set the write lockout for local file lfn. Subsequently, the
system allows only read operations on the file.
UNLOCK CARD
Control card format: UNLOCK (lfn
1, lfn2, · · · , lfnn) Logical file name of a LOCAL file
With the UNLOCK card, the user can clear the write lockout (rescind a LOCK command for
10 cal file lfn).
MACE CARD
Control card format: MACE.
The MACE card clears the SCOPE bit for loading of a file.
SCOPE CARD
Control card format: SCOPE.
The SCOPE card sets the SCOPE bit for loading of a file.
PERMANENT FILE CONTROL CARDS
SAVE CARD
Control card format: SA VE, lfn
1 = pfn1, · . . , lfnn =pfnn
lfn.
1
pfn.
1
Local file name; name of the file to be saved
Permanent file name; name under which the file is to be
stored on the permanent file device. (If omitted, pfni=Ifni)
The SAVE control card permits the user to retain files in the permanent file system. As
GET CARD
Control card format:
lfn.
I
xxxxxxx
GET, Ifn1= pfn1, ... , lfn
n = pfnn, ACCOUNT = xxxxxxx .
Local file name; name given to the file when in use
Permanent file name; name of the permanent file to be
retrieved. (If omitted, pfni = Ifni)
The user number of another user; given when a user wishes to
re-trieve the file(s) of another user (provided permis sion has been granted)
Control card fornlat:
The GET control card enables the user to retrieve a file from permanent file storage. As
many files as can be specified on one control card can be retrieved with each GET command.
REPLACE CARD
REPLACE, Ifn1 =pfn1, ... , lfnn=pfnn , ACCODNT=xxxxxxx.
Local file name; name of the new file that will be placed on the
permanent file device
pfn.
I
xxxxxxx
Permanent file name; name of the file that is replaced
(If omitted, pfn. = lfn.)
I I
The user number of another user; given when the user wishes to
replace the file(s) of another user (provided permission has been
granted)
The REPLACE control card permits the user to substitute a new file for an old file on the
permanent file device. As many files as can be specified on one control card can be
re-placed with one REPLACE command.
PURGE CARD
Control card format: PURGE, pfn1, ... , pfnn, ACCOUNT = xxxxxxx.
pfn.
I
xxxxxxx
Permanent file name; name of the file to be removed from the
permanent file system
The user number of another user; given when a user wishes to
re-move a file of another user from the permanent file system (provided
permission has been granted)
The PURGE control card permits the user to remove a file from the permanent file device.
PERMIT CARD
Control card format: PER MIT, pfn, MODE
=
y, accnum1, . . . , accnumn ·pfn
y
accnumi
Permanent file name; permanent file on which permission is to
be granted.
Permission level. The possible permission levels are:
A - append only
E - execute only
N - none, removes previously granted permission
R - read and / or execute
W - write, read and/or execute
The user numbers of persons to be granted access to file pfn
Control card format:
The PERMIT control card allows a user to grant file access to other users. As many users
can be granted permission as user numbers can be contained on one control card.
APPEND CARD
APPEND, Ifn
1J pfn
1J • • • J lfn
n, pfnn, ACCOUNT = xxxxxxx.
Name of the local file to be appended to the permanent file
Name of the permanent file to which the local file is to be appended
xxxxxxx The user number of another user; given when a user wishes to
append the file(s) of another user
The APPEND control card permits the user to attach supplementary information to an
exist-ing file. The files lfn. and pfn. must always appear in pairs.
1 1
CATllST CARD
Control card formats: CAT LIST. or CAT LIST~ F. or CAT LIST, xxxxxxx.
F
xxxxxxx
Specifies a full listing including the file length, creation date,
and last access date of each permanent file
User number of another user; allows a user to obtain a listing
of the files he can access in the catalog of user xxxxxxx.
The permanent file catalog control cards permit the user to obtain information about the
files to which he has access. If a user has been granted access to the permanent files of
user xxxxxxx (through the use of the PERMIT card), he can obtain a listing of the files to
PROGRAM/SYSTEM COMMUNICATION
4
In addition to control cards, KRONOS provides a comprehensi ve set of system macros that the
user's program can call to control input/output operations, request file manipulations, and
communicate with the system at execution time. Input/output is accomplished via circular
buffers.
During program execution, the system performs three types of operations as the result of
macro calls:
• System operations; initiated by job action requests
• Input/output operations; initiated by file action requests
• File manipulations; initiated by file action requests
For file manipulation and input/output operations, the user must establish a File
Environ-ment Table (FET) for the pertinent file. The FET contains the circular buffer parameters
for the operation. For FORTRAN or other compiler language input/output, the user should
not be concerned about circular buffers and FET's as the compiler automatically provides
these.
Moreover, the system does not require the FET to process job action requests.
This section describes circular buffers, File Environment Table, user / system
communica-tion subroutines, job accommunica-tion requests, and file accommunica-tion requests.
CIR CU LAR BU FFERS
A circular buffer is a temporary storage area in central memory that contains data during
input/output operations. It is called circular because routines that process input/output
treat the last word of the buffer area as contiguous to the first word of the buffer area. The
buffer parameters (FIRSTJ INJ OUTJ and LIMIT) in the FET describe the circular buffer
(see Figure 4-1).
FIRST
FIRST is the first word address of the buffer area. Routines that process I/O never change
LIMIT
LIMIT is the last word address plus one of the buffer area. Data is not stored in LIMIT.
When LIMIT is reached, the next available address for storage is FIRST. Routines that
process I/O likewise never change the value of LIMIT.
CIRCULAR BUFFER FIRST
DATA
FILE ENVIRONMENT TABLE (FET) F I L E NAME CODE
a
STATUSOUT
OUT LIMIT
IN
J,
OUT
J,
LIMIT
Figure 4 -1 . Circular Buffer
SPACE FOR DATA
DATA
OUT is the next location to read to remove data from the circular buffer. Either the system
or the calling program changes OUT depending on whether the operation is a write or a
read (see Figure 4-2).
CALLING PROGRAM
IN
)
OUT
----~)SYSTEM----~)
IN
IN is the next location to write data into the circul9-r buffer. Either the system or the
call-ing program changes IN dependcall-ing on whether the operation is a read or a write (see Figure
4-3). When IN = OUT, the buffer is empty. When IN = OUT-l,the buffer is full.
CALLING
PROGRAM (
OUT IN
( SYSTEM
~(---Figure 4-3. Read Operation
That is, one location is left empty in a full buffer to distinguish an empty buffer from a full
buffer. A buffer is normally initialized with IN
=
OUT=
FIRST., and IN and OUT circle thebuffer as data is inserted and extracted.
FILE ENVIRONMENT TABLE
As introduced, the FET is a user-initiated communication area. The system and the user
interrogate and update the FET during job execution. An FET within the user's field length
must be initiated for each file of the user's job. The PPU I/O routine (CIa), CPU I/O
sub-routines, and the user's program access the system portion of the FET. A user section
can be appended to the system FET to centralize other pertinent file information. The
format of the system FET is shown in Figure 4-4.
59 47 44 35 32 29 23 17 0 Words
Logical File Name (lfn) Code and Status
Device Type FIRST 2
0 IN 3
0 OUT 4
FNT Pointer Record Bloc k LIMIT 5
Size
Working Storage Working Storage 6
fwa I wa +1
Current Random Address Random Request/ Return Information 7
The following lists describe the user and system information that appear in the system
portion of an FE T:
USER INFORMATION
Parameter
device type
record block size
physical record unit
SYSTEM INFORMATION
Parameter
logical file name
Word (Bits) 2 (48-59) 5 (33-47) 5 (18-32) Word (Bits) 1 (18-59) Description
The system sets the device type in this byte when the user's program rnakes an OPEN request.
Possible device types are:
Code Device
0401 6603 disk unit 0402 6638 disk unit
0403 836 drum
0404 854 disk drive
0405 Extended core storage
0406 814 disk
0407 Disk drive group
5524 1/2 -inch magnetic tape
5420 Line printer
4322 Card reader
4320 Card punch
The device code is the display code for the device mnemonic with the most significant bit set for non -allocatable devices.
If the file resides in allocatable storage, the system returns the size of the device record block in this fie ld at OPEN time. It is the number of physical record units in a record block. If the number of PRU's is not defined or is variable, the field is zero.
KRONOS returns the physical record unit size of the device to which the file is assigned in this field at OPEN time. It is the number of central memory words in a PR U.
Description
Parameter
code and status
r
up
ep
Word (Bits)
1 (0 -1 7)
1 (9-13) 1 (1-8) 1 (1) 1 (0) 2 (47) 2 (45) 2 (44) 2 (18-23) Description
The code and status field communicates requested function codes and resulting status between the CPU program and the PPU I/O routines. The CPU program sets the request code in this field when it encounters a request for this file. The request codes are defined in the file action re-quest descriptions and summarized in Appendix C. This field is initialized to one.
Status information when request is complete; zero field indicates normal completion; non-zero field indicates abnormal completion (not necessarily an error).
Request code for PPU call; these codes are defined in the file action request descriptions.
File mode; 0 = coded, 1 = binary.
Completion bit; 0
=
busy or not complete, 1 = not busy or complete.Random access bit; set to 1 if this is a random access file.
User processing bit; set to 1 to notify the calling program an End-of -Reel condition has been en-countered during a 1/2-inch magnetic tape oper-ation. If the up bit is set to 0, tape swapping proceeds automatically without notification to the calling program. The system completes the function being processed on the alternate tape reel.
When the up bit is set to 1, and an End-of-Reel condition arises during a 1 /2-inch magnetic tape operation, the system sets an End-of-Reel status
(028) in bits 9-13 of the code and status field.
Error processing bit; set to 1 to notify calling program of error conditions. If ep bit is set to 0, the operator must correct fatal errors when they arise.
Parameter FNT pointer FIRST IN OUT LIMIT working storage fwa working storage lwa+ 1 current random address
random request / return information
Word (Bits)
5 (48-59)
2 (0 -1 7)
3 (0-17)
4 (0-17)
5 (0-17) 6 (30-47) 6 (0-17) 7 (36-59) 7 (0-35) Description
KRONOS sets the address of the corresponding FNT/ FST entry for the file in this byte when it pro-cesses a file action request for the file. If the FET is of minimum length, the system does not set this pointer.
The first word address of the buffer area; rou-tines that process I/O never change the value of FIRST.
The next location to write data into the circular buffer; either CIa or the calling program changes IN depending on whether the request is for a read or a write operation. When IN =OUT, the buffer is empty. When IN=OUT-1, the buffer is full; that is, one location remains empty in a full buffer to distinguish it from an empty buffer. The upper bits of location 3 of the FET are zeros to elimin-ate the need for masking.
The next location to read or remove data from the circular buffer; either CIa or the calling program change OUT depending on whether the re-quest is for a write or a read operation. The upper bits of location 4 of the FET are zeros to eliminate the need for masking.
The last word address plus one of the buffer area; no data is stored at address I-JIMIT. When LIMIT is reached, the next available address for reading or writing is FIRST. Routines that process I/O never change the value of LIMIT.
First word address of a working storage area from which data can be blocked into or deblocked from the circular buffer.
Last word address plus one of the working storage area (above).
Specifies file position if the file is a mass storage random access file.