GUARDIAN Operating System Users Guide
GUARDIAN Operating System Users Guide
GUARDIAN™ Operating
System User's Guide
82396
-----·-------------------------------------------------------------··-----------------------------------------
NOTICE
Effective with the BOO/E08 software release, Tandem introduced a more formal nomenclature for its software
and systems.
The term "Nonstop 1+™ system" refers to the combination of Nonstop 1+ processors with all software that
runs on them.
The term "Nonstop™ systems" refers to the combination of Nonstop II™ processors, Nonstop TXP™ processors,
or a mixture of the two, with all software that runs on them.
Some software manuals pertain to the Nonstop 1+ system only, others pertain to tile Nonstop systems only,
and still others pertain both to the Nonstop 1+ system and to the Nonstop systems.
The cover and title page of each manual clearly indicate the system (or systems) to which the contents of the
manual pertain.
Nonstop™ Systems
GUARDIAN™ Operating
System User's Guide
Abstract
This manual describes the basic operating-system tasks that all users
perform. Task-oriented instructions are presented for these utilities:
COM INT, FUP, BACKUP, RESTORE, PERUSE, SPOOLCOM, and the spooler.
This user's guide is for all users of Tandem Nonstop systems.
Product Version
GUARDIAN BOO
March 1985
New editions incorporate all updates issued since the previous edition. Update packages, which
are issued between editions, contain additional and replacement pages that you should merge
into the most recent edition of the manual.
All rights reserved. No part of this document may be reproduced in any form, including photocopying or translation to
another language, without the prior written consent of Tandem Computers Incorporated.
INFOSAT is a trademark in which both Tandem and American Satellite have rights.
With the BOO software release, the material in the old GUARDIAN
O~eratin~ System Command Language and Utilities Manual has been
divided into four new manuals. The material was divided
according to software system and according to purpose. That is,
information for Nonstop systems is now separate from that for the
Nonstop l+ system, and task-oriented material is now separate
from general reference material. As a result, each software
system now has both a reference manual and a user's guide for the
GUARDIAN operating system.
For example, the new ADDUSER program now replaces the ADDUSER
command in COMINT. To start an ADDUSER process, you can enter an
ADDUSER command using the original command syntax.
Four of the new programs appear in this user's guide. They are:
ADDUSER DEFAULT
PASSWORD USERS
SECTION 9, Spooler
You can now enter multiple PERUSE commands on the same line,
separated by semicolons. The maximum length of the command line
is 132 characters.
This section has been expanded to include SPOOLCOM tasks that all
users can perform: obtaining the status of spooler components,
changing the attributes of your own job, and bringing a device
back online that is not ready or is out of paper.
Manual Information
9UARDIAN Operating System Introduction to the spooler.
User's Guide How to use SPOOLCOM and PERUSE.
{Part. No. 82396)
GUARDIAN Operating System SPOOLCOM and PERUSE syntax,
Utilities Reference Manual considerations, examples
-(Part No. 82403)
System Operator's Guide Information that system operators
l(Part No. 82401) and managers need to start, stop,
and control the spooler
~ystem Procedure Calls Complete syntax and considera-
Reference Manual tions for spooler interface,
\Part No. 82359) utility, and print procedures
Spooler Programmer's Guide Information to help programmers
-(Part No. 82394) control the spooler from
application programs
PREFACE ..•.•.....•.••••••••••.•••.....••••.••••••.•.•.••... Xl 11
INDEX . • • . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . • . • . . . . . . . • • . • . • Index-1
FIGURES
TABLES
Before reading this user's guide, you should read the following
manual as background:
Notation Meaning
UPPERCASE Represent keywords and reserved words; you must
LETTERS enter these items exactly as shown.
<lowercase Angle brackets around lowercase letters represent
letters> variables that you must supply.
Brackets [] Enclose optional syntax items. A vertically aligned
group of items enclosed in brackets represents a
list of selections from which you may choose one or
none.
Braces {} Enclose required syntax items. A vertically aligned
group of items enclosed in braces represents a list
of selections from which you must choose only one.
Vertical Separates selections that appear on one line. A
bar I horizontally aligned group of items separated by
vertical bars and enclosed by brackets or braces
represents a list of optional or required syntax
items from which you choose one item.
Ellipsis Immediately following a pair of brackets or braces
indicates that you can repeat the enclosed syntax
items any number of times.
Percent Precedes a number in octal notation.
Sign %
Spaces May be required or optional: If two syntax items
are separated by a space, that space is required
between the items. If one of the items is a
punctuation symbol, such as a parenthesis or a
comma, spaces are optional.
Punctuation Symbols or punctuation not described above must be
(),;!. entered precisely as shown. Any punctuation inside
quotation marks must be entered as shown.
RETURN Indicates pressing the RETURN key.
:WHO <RETURN>
GgTTING STARTED
To gain access to the system, you must "log on." To do this, you
must have a user name and user identification, which are normally
assigned by a system manager.
User names have two parts. The first part of your user name is
the name of your group: the second part is the name assigned to
you within that group. Group and user names are separated by a
period. For example, this is the user name assigned to Fred in
the manufacturing group:
MANUF.FRED
A comma must separate the user name and the password. COMINT
ignores any spaces that occur immediately before or after the
comma.
If FRED does not have a password, he can log on by typing LOGON
followed by his user name, like this:
:LOGON MANUF.FRED
For security reasons, you might not want your user name or your
password to appear on the terminal screen when you log on. Using
I the "blind password" and "blind logon" features, you can log on
without displaying your password (blind password) or your user
name and password (blind logon).
To log on using blind password, enter LOGON, your user name, and
a comma, like this:
:LOGON MANUF.FRED,
PASSWORD:
Type your password. The characters you type are read by the
operating system, but they are not visible on the terminal
screen. Press the RETURN key, and your logon is complete.
If you get this message, retype your password and press RETURN.
Like your user name, your user identification (or user ID) also
has two parts:
• Your <group-id>, a number between 1 and 255 that uniquely
identifies your group
• Your <user-id>, a number between 1 and 255 that uniquely
identifies each user within a group
The angle brackets (< >) around these two terms indicate that
these are syntax variables that you can use in commands (as
described in the GUARDIAN Operating System Utilities Reference
Manual). This form is used in this manual so that you can become
accustomed to reading syntax terms.
If the <group-id> for the manufacturing group is 8, and Fred's
<user-id> is 44, Fred's user ID is:
8,44
You use user IDs with the USERS and STATUS commands, as shown
later in this section. User IDs are used by the GUARDIAN
operating system for several types of authorization checking.
See Section 12 for more information about user IDs.
For example, after Fred logs on, he can change his password with
the PASSWORD program:
:PASSWORD
CAUTION
:LOGOFF
While you are logged on, you can log on again with the same or a
different user name without logging off first. Simply enter a
new LOGON command. Of course, in order to log on as another
user, you must know the correct password for the other user name.
include the subvolume name with the file name, but you can omit
the volume name because it is the current default. The operating
system inserts your current defaults for any parts of the file
name that you omit.
For example, suppose that your current default volume is $GROOVE,
and your default subvolume is SUBSAND. To purge the file
$GROOVE.SUBSAND.SOURCE, you can enter:
:PURGE SOURCE
Because of file-name expansion, the operating system assumes that
the complete file name is $GROOVE.SUBSAND.SOURCE.
You use the DEFAULT program to set the default volume and
subvolume that are in effect when you log on. DEFAULT can also
be used to specify your logon default security for files you
create. (For a complete discussion of file security, see
Section 12.)
For example, you can change your logon default volume to $SPIN
and your logon default subvolume to FRED by entering:
:DEFAULT $SPIN.FRED
After you enter a DEFAULT command, the old logon default settings
remain in effect until the next time you do either of these: Log
on, or enter the VOLUME command without specifying a volume or
subvolume, as described in the following subsection. Then the
logon defaults you specify in your DEFAULT command will be in
effect each time you log on.
When you log on, the default system name is always the name of
the system where you are logged on.
NOTE
Length limits affect your ability to specify default system
and volume names with the SYSTEM and VOLUME commands and
with the DEFAULT program. You cannot specify a new default
system name if the current default volume name contains
seven characters after the dollar sign ($). Also, you
cannot specify a new default volume name if the current
default system name contains seven characters aftE~r the
backslash(\).
You can get information about your status as a user and about the
status of other users. Use the WHO command to display your
current defaults, and use the USERS program to display
information about any user in the system.
The WHO command tells you:
• The name of your home terminal (such as $FRED)
• The name of your COMINT process (such as $C106)
• Your current default volume and subvolume (such as
$GROOVE.SUBSAND)
• The CPU number of the processor where your COMINT process is
running (such as 05), and the number of the CPU where your
backup COMINT process, if any, is running
• Your user ID (such as 8,44)
• Your user name (such as MANUF.FRED)
• Your current default file security (such as "NUNU") (discussed
further in Section 12)
For example, if you were Fred, entering the WHO command would
give you this display:
:WHO
The USERS program can give you information about a single user or
a group of users on your system. For information about a single
user, enter USERS followed by either the user name or the user ID
of a given user.
For example, you can get information about Fred in the
manufacturing group by entering either of these commands:
:USERS MANUF.FRED
:USERS 8,44
COMINT then displays information such as this:
• GROUP . USER lists the user name of the user whose user ID you
entered
• I.D. # lists the <group-id> and <user-id> of that user
:USERS MANUF.*
CONTROLLING PROCESSES
You can get information about processes with the STATUS command.
To get information about the last process started from your
terminal (excluding the original COMINT), enter the STATUS
command with no parameters. If the process is still executing,
you receive information about the process.
For example, suppose that the last process you started was the
text editor. Here is an example of the information displayed by
the STATUS command:
:STATUS
SYSTEM \TS
PIO PR! PFR %WT USERID MYTERM PROGRAM FILE NAME
07,034 148 000 008,044 $FRED $SYSTEM .SYSTEM .EDIT
In this example:
You can get information about processes started by the user with
user ID 1,4 by entering:
For example, you can stop the EDIT process shown in the previous
example of the STATUS command by entering:
:STOP 7,34
:PAUSE
You can create, rename, and purge disc files with COMINT. All
the operations described here, and more complex operations, can
also be performed with the File Utility Program (FUP). See
Sections 4, 5, and 6 for more inform~tion.
When you run a program, the files needed by that program must
already exist. For example, if you want to send the output from
a program to a disc file, rather than to your terminal, the disc
file must already exist.
For example, suppose you want to send the output from the
STATUS *, USER command to a disc file. You first create an
unstructured file named STAT in your current default subvolume by
entering:
:CREATE STAT
Now you can send the output of the STATUS command to the file
STAT, instead of to your terminal, by entering:
STATS is the name of the EDIT file created by the text editor.
Note that the default size of files you create with the CREATE
command might not be large enough for some applications. For
information about how to create larger files, see the
descriptions of the CREATE command and the FUP CREATE command
in the GUARDIAN Operating System Utilities Reference Manual.
:FILES
:FILES $GROOVE.SUBSAND
$GROOVE.SUBSAND
You can rename files with the RENAME command. With this command,
you can specify a new subvolume, a new file name, or both. Enter
RENAME followed by the old file name, a comma, and the new file
name.
For example, you can change the name of the file MAIL in your
current default volume to PROJECT.IDEAS by entering:
:RENAME MAIL, PROJECT.IDEAS
After you enter this command, the file MAIL no longer exists in
your current default subvolume. Instead, MAIL has become the
file IDEAS in subvolume PROJECT.
You cannot change the volume name of a file with this command.
RENAME can change the file name or the subvolume of a file but
not the physical volume location of a file. To give a new volume
name to a file, you must make a copy of the file in the new disc
volume using the FUP DUPLICATE command. The FUP sections in this
manual give information about duplicating files.
You can purge or delete files from the system by entE~ring PURGE
followed by the name of the file to be purged.
Suppose you want to purge the file OLDFILE in subvolume
$DATA.COMMENTS. Enter:
:PURGE $DATA.COMMENTS.OLDFILE
$DATA.COMMENTS.OLDFILE PURGED
If OLDFILE resides in your current default subvolume and volume,
you can purge it by entering:
:PURGE OLDFILE
$YRVOL.YRSVOL.OLDFILE PURGED
this series of SYSTEM and STATUS commands. (You can place only
one command to a line in a command file.)
:EDIT ALLSTATS!
*a
1 SYSTEM \LONDON
2 STATUS * , USER
3 SYSTEM \PARIS
4 STATUS * , USER
5 SYSTEM \ROME
6 STATUS * , USER
7 SYSTEM
8 II
*e
:OBEY ALLSTATS
or
:O ALLSTATS
COMINT displays each command from the command file and then
executes the command.
You can use the "fix command," FC, to change the last command
that you entered. With it, you can insert, delete, or replace
characters in the command. FC allows you to correct errors in
commands, to reexecute commands, and to execute a series of
similar commands.
After you enter the FC command, the previous command you entered
is redisplayed. On the line below the command, a period appears
as a prompt, followed by the cursor. The line that starts with
the period prompt is a "correction line." Here you fix the
previous command: you can type a character string that replaces
the characters in the command you are fixing, or you can type
subcommands to signal the beginning of a string that will replace
characters in the command or be inserted into it.
:FILES $DATA.TABLE
FILE SYSTEM ERROR 014
:FC
:FILES $DATA.TABLE
:FC
:FILES $DATA.TABLE
iXA
:FILES $DATA.TAXABLE
A new period and correction line then appear. Each time you
press RETURN after making changes on a correction line, the
edited version of the command is redisplayed with a new period
prompt. You have a chance to make additional changes. If the
redisplayed line is correct, enter RETURN to execute the command.
:FC
:FILES $DATA.TAXABLE
ddd
:FILES $DATA.TALE
:FC
:FILES $DATA.TALE
rRECORDS
:FILES $DATA.RECORDS
:FC
:FILES $DATA.RECORDS
MONTHLY
:FILES $DATA.MONTHLY
Multiple Corrections
:FC
:TGAL I IN $DATA.TABLE.OCT, OUT $S.#SPOOL/
NOV// i, NOWAIT
:TGAL / IN $DATA.TABLE.NOV, OUT $S.#SPOOL, NOWAIT/
:FC
:TGAL I IN $DATA.TABLE.NOV, OUT $S.#SPOOL, NOWAIT/
dddddiRECS
:TGAL I IN $DATA.RECS.NOV, OUT $S.#SPOOL, NOWAIT/
You can also use the fix command to reenter commands. Enter the
FC command. When the period appears, do not make any changes.
Simply press RETURN:
:FC
:FILES $DATA.TABLE
.<RETURN>
If, after you enter the FC command, you decide you don't want to
reenter the previous command or a new version of it simply press JI
the BREAK key before entering the final RETURN. Execution of the
fix command stops, and COMINT's colon prompt (:) reappears.
This section is intended for users who are already familiar with
the basic uses of COMINT. It describes how to:
• Start a remote COMINT process
• Restart a COMINT process
You can find complete information about starting COMINT processes
in the GUARDIAN Operating System Utilities Reference Manual. For
~ information about using COMINT in application programs, see the
GUARDIAN Operating System Programmer's Guide.
:WHO
The File Utility Program (FUP) is a program you can use to create
and manage disc files. With FUP, you can:
• Create new files
• Assign or preset file characteristics
• Display, print, or store information about files
• Duplicate files
• Rename files
• Set file security
• Load data into files
• Display the contents of a file
• Purge (delete) files
You can enter FUP commands in any of three ways: through COMINT,
interactively through FUP itself, or through a command file.
Section 5 describes each method of entering FUP commands.
In addition, the Tandem Data Definition Language (DDL) compiler
gemerates FUP commands for creating new data base files. See the
Data Definition Language (DDL) Reference Manual for more
information.
Before you use FUP to create or manage disc files, you should be
familiar with the file system of the GUARDIAN operating system.
This subsection summarizes the definition of a file and a file
name.
In the GUARDIAN system, "files" include:
• Disc files (containing data, code, or text)
• Nondisc devices (such as terminals, printers, or tape drives)
• Processes (programs that are running)
You refer to a file by its fJle name. For disc files, the person
or process who creates the file gives it a name. Nondisc devices
have assigned names in the system. Processes can be named by
their creator or can be assigned a name by the operating system.
An example of a disc file name is $VOL.SUBVOL.FILENAME. The
parts of this file name are:
• $VOL is the name of the volume where the disc file resides.
The volume name must begin with a dollar sign ($) followed by
an alphabetic character; volume names cannot be longer than
seven characters.
• SUBVOL is the name of the subvolume containing the disc file.
(Subvolume names are not usually assigned to nondisc devices.)
A subvolume name must begin with an alphabetic character; it
can contain up to eight letters and/or numbers, but no
punctuation or special characters (such as !, ?, or&).
• FILENAME is the name of the file itself. Like subvolume
names, file names must begin with an alphabetic character, and
can contain a maximum of eight letters and/or numbers, but
cannot contain punctuation or special characters.
You can create disc files to store data bases, coded programs,
or text. For most uses, you should selectively create a specific
type of file that best fulfills your purpose. Also, even if you
do not create files of your own, you may work with various types
of files.
You can enter single FUP commands at COMINT's colon prompt (:).
Type FUP followed by the name of the FUP command. After FUP
executes the command, control of the terminal returns to COMINT.
For example, you can enter the FUP HELP command by typing:
:FUP HELP
FUP performs the HELP command by listing the syntax of the FUP
HELP command on the screen. Then the COMINT prompt reappears.
When you enter FUP commands through COMINT, you can enter only
one command at a time. A new FUP process starts (and completes)
for each command you enter. For this reason, when you have a
series of FUP commands to enter, you might want to use a faster
method. You can use either of the methods described in the next
two subsections.
:FUP
GUARDIAN FILE UTILITY PROGRAM - T9074BOO - (18MAR85)
-HELP ALL
The FUP process performs the HELP ALL command (listing all the
FUP commands) and then redisplays its prompt. FUP continues to
accept and execute commands until you enter the EXIT command:
-EXIT
After you enter EXIT, the FUP process returns control of the
terminal to the command interpreter. Another way to stop a FUP
process is to enter a CTRL/Y character. CTRL/Y is a control
character used to mark the end of a file (EOF). When FUP reads
CTRL/Y from its input file (in this case, your terminal), it
stops execution. You can enter CTRL/Y at a terminal by pressing
the CTRL and Y keys simultaneously.
The examples in this manual, except for the next subsection, use
the interactive method of entering commands through FUP itself.
Every time you start a FUP process, your command can include any
<run-option> available with the RUN command in COMINT (see
Section). For example, two common run options are IN <file-name>
(for naming input files) and OUT <list-file> (for naming output
files). To execute a series of commands contained in a
particular FUP command file, you specify the name of the command
file as the IN option for the FUP process, as described below.
For example, suppose that you used the EDIT program to create a
command file that gives you a list of the subvolumes in three
different disc volumes--$DISC1, $DISC2, and $DISC3. The file is
named ALLSUBS and contains these FUP commands:
SUBVOLS $DISC1
SUBVOLS $DISC2
SUBVOLS $DISC3
:FUP I IN ALLSUBS I
When you start a FUP process, you can use the OUT option to send
the process output to a file. An output file or list file can be
either a disc file or a peripheral device such as a printer. If
you do not specify an output file, FUP sends its output by
default to your terminal.
Suppose that you want to save the output from a FUP operation
in a disc file. If the outpµt file doesn't already exist, you
must begin by creating one. You can create an unstructured file
with the CREATE command in COMINT (see Section 2), and you can
create structured or unstructured files with the FUP CREATE
command (see Section 6). Next, you start a FUP process.
In your command to start a FUP process, specify the command file
(if you are using one) as the IN option, and the output file as
the OUT option. For example, if ALLSUBS is a command file, and
SUBINFO is a file you are using for the output, you can enter:
:FUP I IN ALLSUBS, OUT SUBINFO I
You can also send output to a printer. Specify the name of the
printer with the OUT option in your FUP command, like this:
:FUP I IN ALLSUBS, OUT $LP I
For example, you can send the results of three SUBVOLS commands
to different output files by entering:
If you are familiar with a FUP command but have forgotten its
syntax, or if you want a list of available commands, the FUP HELP
command provides a way to quickly get the information you need.
Entering HELP ALL lists all the FUP commands. This example
demonstrates how to enter the command and shows the information
that you receive:
-HELP ALL
ALLOCATE ALLOW ALTER BUILDKEYRECORDS CHECKSUM
COPY CREATE DEALLOCATE DUP EXIT
FILES GIVE HELP INFO LICENSE
LISTOPENS LOAD LOADALTFILE PURGE PURGEDATA
RENAME RESET REVOKE SECURE SET
SHOW SUBVOLS SYSTEM VOLUME
-HELP GIVE
GIVE <f ileset list> , <group id> ' <user id> [ ' PARTONLY ]
CONTROLLING FUP
:PAUSE
If you want to stop the FUP process rather than return control of
your terminal to FUP, enter the STOP command in COMINT. For
example, if FUP is the last process you started, you can stop it
by entering:
:STOP
-FILES $SYSTEM.*
The INFO command is one of the most useful FUP commands. You can
use INFO to find out many of the characteristics of a file or a
set of files. Some common uses of the INFO command are described
in this subsection. For additional information, see Section 6
and the description of the FUP INFO command in the GUARDIAN
Operating System Utilities Reference Manual.
-INFO DICTALT
CODE EOF LAST MODIF OWNER RWEP TYPE REC BLOCK
$JUMBO.PATHWAY
DICTALT 201 2048 17AUG84 12:22 8,44 NUNU K 38 1024
• LAST MODIF is the date and time when the file was last
modified. If the file was last modified on the day you enter
the INFO command, only the time is displayed.
• OWNER shows the user ID of the owner of the file. Each file
is owned by only one user on the system. When a file is
created, it is owned by the user who created it.
• RWEP stands for Read/Write/Execute/Purge. It shows the
current security settings for the file. The security of a
file is set by its owner. For information about file
security, see Section 12.
• TYPE, REC, and BLOCK show information about structured files.
See the description of the FUP INFO command in the GUARDIAN
Operating System Utilities Referenc~ Manual for details.
You can get information about more than one file with a single
FUP INFO command. Like several other FUP commands, INFO allows
you to specify:
• A <f ileset> (a set of one or more files)
• A <fileset-list> (a list that includes one or more <fileset>s)
The specification for a file set is much like a single file name,
except that a file set can be more than one file. A file set can
be a list of file names separated by commas and enclosed in
parentheses. A file set can also be a single file name.
You can specify the name of a system, volume, or subvolume where
a file set resides, just as you would for the name of a single
file. If any of these are omitted, FUP expands the file name or
names using the current default values. With a file set,
however, you can also include an asterisk (*) in place of a
volume or subvolume name, with the following results:
• As the subvolume name, the asterisk applies the command to all
the subvolumes in the volume you specify.
• As the file name, the asterisk applies the command to all
files in the subvolume or subvolumes you specify. When you
use an asterisk in place of the subvolume name, you must use
an asterisk in place of the file name as well.
For example, you can get information about all the files in the
current default subvolume by entering:
-INFO *
You can get information about all the files in the volume $MANUF
~ by entering:
-INFO $MANUF.*.*
A file-set list can be a single file set, or a list that includes
more than one file set. To include more than one file set in a
file-set list, you must do the following:
• Enclose the <fileset-list> within parentheses.
• Include a comma after each <fileset> except the last.
For example, you can get information about the files in both the
current default subvolume and in the volume $MANUF with this INFO
command:
-INFO (*, $MANUF.*.*)
For a complete description of <fileset> and <fileset-list>, see
the FUP command syntax summary in the GUARDIAN Operating
System Utilities Reference Manual.
You can also use the INFO command to get information about files
owned by a particular user on the system. Enter the INFO command
followed by a <fileset> or a <fileset-list>, a comma, and a user
name or user ID, as in the following examples:
-INFO(*.*, $SYSTEM.PROG1.*), USER MANUF.MABEL
-INFO *, USER 8,44
FUP then displays information about the files in each file-set
list that are owned by the specified user.
This section describes these common tasks that are performed with
FUP:
• Duplicating files
• Renaming files
• Changing the security of files
• Giving ownership of files to other users
• Deleting files from the system
If you own a file, you can change its security with the SECURE
command. To do this, you assign a new security string to the
file. A security string is a string of four charactE~rs that
specify, respectively, who can read, write, execute, and purge a
file. For information about file security and security strings,
see Section 12.
Enter SECURE followed by the name of a file, a file set or a
file-set list, a comma, and a security string. The security
string is then assigned to all of the files you specify. As an
example, suppose you want to assign the security string "NONO"
to all the files in the subvolumes $FIDO.SPOT and $FIDO.ROVER.
Enter:
-SECURE ($FIDO-SPOT.*, $FIDO.ROVER.*), "NONO"
Only one user can own a file. If you own a file, you can give
ownership of the file to another user with the GIVE command.
Enter GIVE followed by the name of a file, a file set, or a
file-set list, a comma, and the user ID of the new owner.
When you give a file to another user, you can get it back only
if the new owner or a user with super ID uses the GIVE command to
give it back to you.
You can delete individual files or sets of files with the PURGE
command. Enter PURGE followed by a file name or a file set, as
in the following example:
-PURGE IDEAS.*
-PURGE IDEAS.*
CODE EOF LAST MODIF OWNER RWEP TYPE REC BLOCK
$CORP.IDEAS
BAD 101 998732 14:32 8,44 cucu
PURGE?
FUP does not prompt you for permission to purge files if you
place an exclamation point (!) at the end of your PURGE command.
In this way, you can purge an entire subvolume of files with one
command~ for example:
-PURGE IDEAS.*!
3 FILES PURGED
CAUTION
Be careful when you include the exclamation point (!) in
a command. The exclamation point means that the change you
request will be made without further prompting. The
results may be irreversible.
You can specify more than one file or a file set in a PURGE
command. If you do, you must separate the elements with
commas, like this:
-PURGE IDEAS.*, NOVELS.*
This section contains information for users who are familiar with
both the basic uses of the File Utility Program (FUP, described
in Section 5) and with ENSCRIBE, the Tandem data-base record
manager. This section describes how to:
CREATING FILES
You can create both structured and unstructured disc files with
FUP. However, using FUP is only one of several ways to create
files. You can create unstructured files with the CREATE command
in COMINT as well as with FUP. You can also create files with a
program by calling the file-system CREATE procedure. For
information about file-system procedures, see the ENSCRIBE
Programming Manual. For information about the CREATE command in
COMINT, see Section 2 of this manual and Section 2 of the
GUARDIAN Operating System Utilities Reference Manual.
TYPE K
a
TYPE u
~ ¢~REA._T_E____,
1 PAGE
EXT
1 PAGE
MAXEXTENTS 16
BUFFERSIZE 4096
- RESET - CREATE MYFILE
85055-001
Table 6-1 lists and defines the options that you can
control with the SET command: these are the file-creation
parameters that determine the default characteristics of the file
you create. The same parameters can be included in your CREATE
command to override the current value displayed by the SHOW
command. The examples in this section demonstrate the use of
many of the file-creation parameters, and all of the parameters
are fully described in the GUARDIAN Operating System Utilities
Reference Manual.
OPTION SETS
You can also create structured files with the aid of the Tandem
Data Definition Language (DDL). DDL is a data-management tool
for describing large data bases. You first describe the files in
a DDL source schema, then compile the schema with the DDL
compiler to produce both a data-base dictionary and a file
containing FUP file-creation commands. To create the files, you
run FUP, specifying as an IN file the command file created by
DDL. For more information about DDL, see the Data Definition
Language (DDL) Reference Manual.
:FUP
-SHOW
TYPE U
EXT ( 1 PAGES, 1 PAGES )
MAXEXTENTS 16
BUFFERSIZE 4096
-CREATE FILE!
CREATED - $MANUF.FREDFILE.FILE1
You can see the attributes df the newly created file by entering
the INFO command with the DETAIL option:
After you create each file (and before you create others), you
might want to restore some or all of the parameters to their
default values. To do this, enter the RESET command followed by
the parameters to reset. You can reset more than one parameter
with a single RESET command by separating the parameters with
commas, like this:
-SHOW < displays the current values before you enter RESET
TYPE K
EXT ( 5 PAGES, 5 PAGES )
REC 80
BLOCK 1024
!BLOCK 1024
KEYLEN 9
KEYOFF 0
DCOMPRESS, !COMPRESS
MAXEXTENTS 16
-RESET EXT, COMPRESS
-SHOW < displays the new parameter values after RESET
TYPE K
EXT ( 1 PAGES, 1 PAGES )
REC 80
BLOCK 1024
!BLOCK 1024
KEYLEN 9
KEYOFF 0
MAXEXTENTS 16
-RESET
-SHOW
TYPE U
EXT ( 1 PAGES, 1 PAGES )
MAXEXTENTS 16
BUFFERSIZE 4096
File-Creation Examples
-SET EXT (10,2) < You can specify extent sizes in pages,
< bytes, records, and megabytes. If you
< do not specify a unit, FUP assumes that
< the unit is pages.
-SET CODE 999 < Set the file code (used to identify
<the file).
-SHOW < Show the current parameter values.
TYPE U
CODE 999
EXT ( 10 PAGES, 2 PAGES )
MAXEXTENTS 16 < Appears only for DP2 files.
BUFFERSIZE 4096 < Appears only for DP2 files.
-CREATE $MY.LIL.UN < Create the file.
CREATED - $MY.LIL.UN
Latest T_____,______. .f
Records are stored in the order in which they are
presented to the system (i.e., in chronological order).
85055-002
------
Figure 6-2. Structure of an Entry-Sequenced File
--------
Relative File:
Record
Number Record
~
_l
0th
1st
Primary access is via
record number. 2nd
Example: 3rd
F I N D 6 t h L 4th
5th
6th Relative File
7th
,.It,.
••
•
•
•- -
nth I ---
T
t
Records are stored according to a record number
supplied by the application program.
85055-003
Key-Sequenced File
Record
Primary
Key
I
/
I
Primary access is by ADAMS I
a value in the primary-
BROWN I
key field.
Example:
FIND "KING" _ _ _ _ COLLINS
FISH
I
I
7 ...
JACKSON
KING
MASTERS
I
I
I
Key-Sequenced
File
.l
OBRIEN
l
RYAN
-<l,
l .. L,.
l.___ ;A_A_,~-~~-N
_ _.....___ _ _ _ _ l
t
Records are stored in ascending order
of "primary key" field value.
55055-004 - - -
Byte Offset
[O] [34] [1341 [142] [150]
Primary
Key
85055-005
Byte Offset
[O] [2] [32) [40) [42) [46) [54]
I I I I
Primary Alternate Alternate Alternate
Key Key "AO" Key "LO" Key "VN"
85055-006
85055-007
"--------------------------------·------------~
You also want to create secondary partitions for the file. The
first will reside on $VOL2, while the second will reside on
$VOL3. The first secondary partition, on $VOL2, contains records
whose primary key begins with "HA" and subsequent records up to,
but not including, records whose primary keys begin with "QU".
85055-007
You also want to create secondary partitions for the file. The
first will reside on $VOL2, while the second will reside on
$VOL3. The first secondary partition, on $VOL2, contains records
whose primary key begins with "HA" and subsequent records up to,
but not including, records whose primary keys begin with "QU".
All other records (that is, those records whose primary keys
begin with "QU" and all subsequent records) will reside in the
second secondary partition on $VOL3.
Make sure the parameters for the existing file have the values
you want for the new file. Then enter the SET command with the
LIKE option. FUP then sets its current file-creation charac-
teristics to match those of the file you specify. New files you
create will have the same attributes:
MAINTAINING FILES
Besides creating files with FUP, you can use FUP to:
• Load data into files
• Purge data from files
• Rename and move files with alternate keys
• Move files to a backup volume
• Add alternate keys to files
• Modify partitioned files
These operations are described in the next subsections.
FUP can move data between files in three different ways. First,
the DUP conunand duplicates an entire file at a time. With DUP,
both your original file and the copy must be disc files.
Second, the COPY conunand moves data one record at a time (see the
description of COPY in the GUARDIAN Operating System Utilities
Reference Manual). Unlike the DUP command, COPY allows you to
copy part of a file. It also allows you to copy records to and
from media other than discs, including tape volumes and
terminals.
Finally, the LOAD command moves data into a structured file.
With the LOAD command, data is transferred one record at a time
from the source file and moved a block at a time into the
destination file.
There are two advantages to the LOAD conunand:
• Loading files does not affect alternate-key values.
• Data can be written a block at a time. LOAD is faster than
COPY.
To load a file, enter LOAD followed by the name of the file that
contains the data, a comma, and the name of the file to be
loaded.
The next example illustrates how you can load a file with data
stored on tape. The name of the file to be loaded is:
$VOL1.SVOL.PART
The records to be loaded into this file are 128 bytes in length
and are on magnetic tape in unsorted order. There is one record
for each block on the tape.
-VOLUME $VOL1.PARTFILE.PART
-LOAD $TAPE, PART
When the LOAD command is executed, the records from tape are
first read, then sorted by primary key. After the records are
sorted, FUP loads them into the partitions using the key
specifications contained in the file label of PART.
With the PURGEDATA command, you can purge data from a file
without deleting the file. When you enter the PURGEDATA command,
the end-of-file (EOF) pointer is set to 0, and other file-label
values indicating the size of the file are reset to indicate that
the file is empty. PURGEDATA does not, however, change the
attributes of the file.
When you want quick access to backup files, you can back up disc
files onto another disc volume. Use disc backups in addition to,
not in place of, using BACKUP and RESTORE to back up files onto
magnetic tape. This subsection shows how you can use FUP to
perform a disc-to-disc backup operation.
Assume that you want to duplicate all the files in disc volume
$VOL1. You want the copies to reside in disc volume $BACKUP. To
copy the files, enter:
As your data bases grow and change, you may need to add new keys
to existing files. The steps for adding an alternate key to a
file that already has alternate keys, and to a file that does
not have alternate keys, are shown in the following examples.
The key specifier for the new key is "NM", the key offset in the
record is 4, and the key length is 20.
-VOLUME $VOL1.SVOL
-ALTER PRIFILE, ALTKEY ( "NM", KEYOFF 4, KEYLEN 20 )
-LOADALTFILE 0, PRIFILE, !SLACK 10
Note, however, that when you add a new alternate key, the length
of the key cannot be longer than the longest key already in the
alternate-key file unless you:
• Specify a new record and key length for the alternate-key file
that is:
-VOLUME $VOL1.SVOL
-ALTER PRIFILE, ALTKEY ( "NM" , KEYOFF 15 , KEYLEN 20 )
-SET LIKE ALTFILE
-PURGE ALTFILE!
-SET REC 62
-SET KEYLEN 62
-CREATE ALTFILE
-LOADALTFILE 0, PRIFILE
Here, the new record and key lengths must be 62 bytes (2 for the
key specifier, plus 20 for the longest alternate key, plus 40 for
the primary key).
The key specifier for the new key is "XY", the key offset in the
record is 0, and the key length is 10.
-VOLUME $VOL1.SVOL
-CREATE FILEB, TYPE K, REC 16, KEYLEN 16
-ALTER FILEA, ALTFILE (0, FILEB), ALTKEY ("XY", KEYLEN 10)
-LOADALTFILE 0, FILEA
Next, use the ALTER command to change the file label for FILEA so
that it specifies FILEB as the alternate-key file and contains
the key specifier "XY".
• Move partitions
• Reload partitions
To load the alternate-key records for the key specifier "F2" into
the file $VOL2.SVOL.AFILE, enter:
:FUP
-VOLUME $VOL1.SVOL
-CREATE TEMP, EXT 30
-BUILDKEYRECORDS PRIFILE, TEMP, "F2", RECOUT 22, BLOCKOUT 2200
-LOAD TEMP, $VOL2.AFILE, PARTOF $VOL1, RECIN 22, BLOCKIN 2200
-PURGE ! TEMP
The CREATE command creates the disc file to be used for output
from the BUILDKEYRECORDS command. Next, BUILDKEYRECORDS
generates alternate-key records which can then be loaded into the
new file. The BUI~DKEYRECORDS BLOCKOUT option specifies record
blocking to improve the efficiency of disc write operations.
-VOLUME $VOL1.PARTFILE
-ALTER PART, PART ( 1, $VOL2, 120, 12 )
-RENAME $VOL2.PART, $VOL2.TEMP, PARTONLY
-SET LIKE $VOL2.TEMP
-SET EXT ( 120, 12 )
-CREATE $VOL2.PART
-DUP $VOL2.TEMP, $VOL2.PART, OLD, PARTONLY
-PURGE $VOL2.TEMP
The ALTER command changes the file label of the primary partition
so that it includes the new extent size of the secondary
partition in $VOL2.
Next, the RENAME conunand keeps the data from the secondary
partition in a temporary file.
Finally, you move the data from the temporary file to the newly
created partition with the DUP command.
Note that while you can rename a file with the RENAME command if
it is open for read-write or write-only access, you cannot
duplicate the file with the DUPLICATE conunand. Thus, you must
ensure that the partition is not being written to if the
preceding sequence of operations is to succeed. (File-access
modes are discussed in the ENSCRIBE Prqgranuning Manual.)
Adding Partitions
-VOLUME $VOL1.SVOL
-SET LIKE RELFILE
-SET PARTONLY
-CREATE $VOL2.RELFILE
-SHOW EXT
EXT ( 100 PAGES, 10 PAGES )
-ALTER RELFILE, PART ( 1, $VOL2 , 100, 10 )
You enter SHOW EXT to display the extent sizes of the original
file. Use the ALTER command to change the file label of
$VOL1.SVOL.RELFILE to show that it is the primary partition of a
partitioned file with a secondary partition in the volume $VOL2.
If you now want to add a third partition to the file that will
reside in the volume $VOL3, enter:
-CREATE $VOL3.RELFILE
-ALTER RELFILE, PART ( 2, $VOL3, 100, 10 )
The BACKUP and RESTORE programs are used by anyone who needs to
keep data in archives or who needs to transfer data between
systems that are not part of a network~ BACKUP and RESTORE are
also commonly used by system operators as part of routine
preventive maintenance. For information about the use of BACKUP
and RESTORE in system operations, see the System Ope~rations
Manual for your system.
This section contains information for new users of the BACKUP and
RESTORE programs. It describes:
The syntax term for the files you list in a BACKUP or RESTORE
command is <fileset-list>. You can use <fileset-list> with many
other utilities and COMINT commands. This section discusses
in detail the syntax rules for specifying a file-set list.
For example, if you enter this BACKUP command, the listing from
BACKUP is sent to the file LISTFILE in the current default
subvolume:
You can also include command options that are specific to the
BACKUP and RESTORE programs. These options are fully described
in the Section 4 of the GUARDIAN Operating System Utilities
Reference Manual. Several of the options are also described
later in this section. For example, to generate a list of the
files you are backing up, you include the LISTALL option of the
BACKUP program:
:BACKUP / IN FRED.FLIST I
For more information about BACKUP and RESTORE input files, see
th~ description of the IN option in the syntax description for
BACKUP in the GUARDIAN Operating System Utilities Reference
Manual.
You can back up any files to which you have read access. (See
Section 12 for a discussion of file-access modes.) To list the
files you want to copy, you specify a file-set list in your
BACKUP command. A file-set list is a list of one or more file
sets. Both terms are defined and discussed in this ·Subsection.
Note that if you use an asterisk for the volume name, you must
also use an asterisk for the subvolume name.
Note that if you use an asterisk for the subvolume name, you
must use an asterisk for the file name as well.
For example, you can copy all the files in your current default
subvolume by entering:
:BACKUP $TAPE, *
Because no volume or subvolume name is given in this example,
BACKUP uses the current default values for volume and subvolume.
You can copy all the files in the volume $MANUF by entering:
:BACKUP $TAPE, * * *
If you use a Tandem Model 5106 tape drive when backing up files,
you can specify one of three recording densities:
• 6250 bpi (bytes per inch)
• 1600 bpi
• 800 bpi
To specify a recording density, include the DENSITY option with a
density setting in the BACKUP command, as in this example:
:BACKUP $TAPE1, $RIVER.RUN.*, DENSITY 1600
The tape drive then produces a tape with the recording density
you specify. If you do not specify a density with the DENSITY
option, the current density setting of the tape drive determines
the recording density.
You can also specify the size of the blocks written to tape with
the BLOCKSIZE option. For the Nonstop system, the default block
size is 8. However, for the Nonstop l+ system, the block size is
always 2, regardless of the size specified with the BLOCKSIZE
option. If you want to back up files with a Nonstop system and
restore them to a Nonstop 1+ system, you must specify a block
size of 2. Because of the difference in block sizes, you cannot
use BACKUP and RESTORE to transfer files from a Nonstop l+ system
to a Nonstop system.
For example, to back up all the files on the $SYSTEM volume, and
to specify a block size of 2, enter:
:BACKUP $TAPE, $SYSTEM.*.*, BLOCKSIZE 2
:BACKUP $TAPE, *
GUARDIAN FILE BACKUP PROGRAM - T9024BOO - (18MAR85) SYSTEM \ZOO
VOLNAME SVOLNAME FILENAME REEL ERROR ADDRESS 28 AUG 83 17:37
$SYSTEM SYSTEM COPY 01 120 *** NOT DUMPED
$SYSTEM SYSTEM GPLIB 01 012 *** NOT DUMPED
$SYSTEM SYSTEM PRIVDECS 01 120 *** NOT DUMPED
FILES DUMPED=00014 FILES NOT DUMPED=00003
The following example illustrates the output from BACKUP when you
specify the LISTALL option:
:VOLUME $SYSTEM.SYSTEM
:BACKUP $TAPE, *, LISTALL
GUARDIAN FILE BACKUP PROGRAM - T9024BOO - (18MAR85) SYSTEM \ZOO
VOLNAME SVOLNAME FILENAME REEL ERROR ADDRESS 28 AUG 84 17:22
With the LISTALL option, you can create a permanent record of the
files that were copied. To do this, specify both the LISTALL
option and an OUT file in your BACKUP command. You can then
print a copy of the output file and use it to label the backup
tape.
If there are files in the file-set list for your BACKUP command
that you do not want to copy, you can specify them with the NOT
option. You use the same form to specify files to ignore that
you use for specifying the file-set list you want to back up.
As an example, suppose you want to back up all the files in
subvolume SCAFFE.MED except MITSLAG and MOKA. Enter:
:BACKUP STAPEl, SCAFFE.MED.*, NOT (MITSLAG, MOKA)
The KEEP option allows you to preserve files that are currently
on disc when you restore files with the same name. Using KEEP
means that if a disc file has the same name as a file which is
being restored, the file already on disc is preserved. If you do
not include the KEEP option, such a disc file is replaced by the
file on the tape.
If there are files in the file-set list that you do not want to
restore, specify them with the NOT option in the same way you
specify the file-set list to be backed up or restored.
For example, the next command does the following:
• Restores all the files in volume $ECLAIR except the files in
subvolumes LINZER and PETIT4
• Keeps any files currently on disc that have the same name as
files in the RESTORE command file-set list
• Retains the backup-timestamp of the files being restored
• Gives you ownership of the restored files
:RESTORE $TAPE1, $ECLAIR.*.*, NOT (LINZER.*, PETIT4.*),&
:KEEP, TAPEDATE, MYID
SPOOLER COMPONENTS
-0--
Printer
Disc
Dotted lines represent interprocess messages. Solid lines represent the path
taken by spooled data.
1. Application sends its output to the collector process.
2. Collector writes data to disc, and informs the supervisor that it has accepted
a job.
3. Supervisor informs the print process where the job can be found on the disc.
4. Print process reads the job from disc, and writes the job to the printer.
5. PERUSE obtains job information from the supervisor, or lets you examine
data on the disc.
6. SPOOLCOM enables system operators to modify the status of spooler
components.
85055-008
:PERUSE
PERUSE - T9101C12 - (18MAR85) SYSTEM \TS
DEV $LP1
.
-E
Job Priority
Job Copies
Job copies specifies the number of copies of the job that the
spooler should print.
The job report name is the name the Tandem print process prints
in banner-head letters in the header message of the job. The
header message is described below under "Devices and Device
Attributes."
The form name of a job allows you to guarantee that your job is
printed only on a device that has the same form nam~~. Form name
can be used to ensure that jobs requiring special handling
print on devices that are appropriately equipped.
The form name "W2" is assigned to that device at the time special
paper is loaded. This allows the "W2" job to print and prevents
jobs with a different form name from printing on that device.
Job State
During the OPEN state, a job is being added to the spooler. For
example, if you send the output from a TGAL execution to the
spooler, the job is in the OPEN state until TGAL completes
execution.
In the READY state, a job is ready to print, but it has not yet
begun to print, usually because another job is printing.
You can put a job in the HOLD state by using a PERUSE request.
The job will not be printed while HOLD is in effect. A job on
HOLD will remain in the spooler indefinitely until you delete it
or remove the HOLD.
You can put a job on hold at any time. If the job is in the
READY or PRINT states, it is placed on hold immediately. If
it is still OPEN, it is placed on hold after the job has been
completely spooled.
The life cycle of a job starts at the OPEN state while the
application is writing the data to the collector. The collector
stores the data in a disc file. When the application is done
sending data, the job is in the READY state. Finally, the job
enters the PRINT state. When it has finished printing, the
spooler deletes it, unless the hold-after-printing flag is on.
Create
85055-009
Create: You create a job when your application opens a file to a collector and performs a write; for
example:
Open: The job is open while the application is writing to the collector, which in turn writes the data
to a disc file.
Ready: The job enters the READY state when the application closes the file to the collector.
Hold: You can place a job on hold only when it is in the ready or print state. This removes it from the
device queue.
Print: The job waits in the device queue until it is ready to print. While in the PRINT state, the job is
printing on the output device. If you place the job on hold, it immediately stops printing.
Delete: If the hold-after-printing flag is not on, the job leaves the spooler after it has finished printing.
You can also delete a job from the spooler using a specific request. If the job is printing when you
make that request, the job immediately stops printing and leaves the spooler.
The form name of a device defines the type of job that can
be printed on it. Only jobs whose form name is the same as that
of a given device can be printed on the device. An example of
how form name might be used is shown above under "Spooler Jobs
and Job Attributes."
The header message of the Tandem print process includes each job
report name, location, job number, form name, and date and time
of printing. The header message for a device can be turned on or
off by the operator. When the header message is turned on, it
prints on the first page of the job. The report name and
location are printed in big banner-head letters, as shown in
Figure 9-3.
Device States
Selection Algorithm
ROUTING STRUCTURE
If you specify only the group name #LP as the location, the
spooler supplies the destination. If the group is a nonbroadcast
gro1Jp, then the spooler routes the job to the destination that
can print the job soonest. If the group is a broadcast group,
then the job is routed to all of the destinations in the group
and prints on all the devices associated with the group.
For example, assume that #LP.LPEAST is associated with a line
printer on the east side of the machine room, and #LP.LPWEST is
associated with a line printer on the west side of the machine
room. If #LP is a broadcast group, then a job routed to #LP
prints at both line printers, and two copies of the job are
printed. If #LP is a non-broadcast group, then the first
available line printer prints the job, and only one copy of the
job is-printed.
In either case, a job routed to #LP.LPWEST will print once at the
line printer at the west end of the machine room. Your system
operator should be able to tell you which locations are available
to you, which print devices are associated with those locations,
and which groups are broadcast groups.
Default Routing
You should consult your system manager to find out which physical
device or devices are associated with #DEFAULT.
Group #X
A -----------------·--
~
B ---
Group #Y
D
~
E
(BROADCAST)
~
~
Group #Z
55055-010
Note that a printer can be connected to several locations, but that each location is
connected to at most one printer.
Jobs routed to #X print on one of LP1, LP2, or LP3.
Jobs routed to #X.B print on LP2.
Jobs routed to #Y print on both LP3 and LP4.
Jobs routed to #Z stay in the spooling system indefinitely. They can be printed by
changing the location.
Connections are established or changed by the system operator.
WHAT IS PERUSE?
PERUSE makes the job most recently spooled the current job.
For example, if you give PERUSE a LIST command before you set
the current job, then PERUSE makes the most recently spooled
job the current job and lists data from that job.
The only exception to this rule is the DEL conunand. For
safety reasons, PERUSE requires that you specifically set the
current job prior to deleting it.
Displaying a Job
There are three ways to display a job. These are described more
fully in the GUARDIAN Operating System Utilities Reference
Manual. Briefly they are:
• Use the LIST command of PERUSE to list a page at a time.
• Press the RETURN key, which causes your job to scroll up until
you release the key.
• Use the function keys to list lines from the job: the higher
the number of the function key, the more lines that are listed
to the screen.
Typing the BREAK key while PERUSE is listing lines from a job or
producing a status display causes it to stop what it is doing and
return the PERUSE prompt ( ). Typing the BREAK key while PERUSE
is waiting for a command causes the GUARDIAN command interpreter
to wake and prompt for a command (:). Subsequently issuing a
GUARDIAN command interpreter PAUSE command restarts PERUSE.
COMMAND SUMMARY
------------------------------"·-------"-
This example shows how a TGAL user might take advantage of some
of the capabilities of PERUSE when using the spooler.
!:xamining a Job
try this more efficient way to find TGAL errors. When the job is
in the READY state in PERUSE, enter a LIST LAST command and read
the page number that scrolls up. Then enter a LIST
<that-page-num>. If the same page scrolls up again, you have no
You also want to send the first eight pages of the report to be
printed out on the same printer. Without exiting PERUSE, you
can LIST these pages out to that printer, including the parameter
"C" so that the printer will obey any TGAL OV commands you may
have in your EDIT file. The JOB command shows this newly spooled
job and the location you have specified:
LIST /OUT $S.#LP3/ 1/8, 14 C
-JOB
JOB STATE PAGES COPIES PRI HOLD LOCATION REPORT
J 534 READY 20 10 4 #HT09 MEMO
560 OPEN 1 4 #LP3 MEMO
Next you want to see how long the job will take to print out on a
specific printer. The DEV command shows the device status: $HT09
refers to the print process that controls the device~ associated
with the location #HT09. Notice that the queue is very long and
that the your twenty-one-page job has been placed at the end of
the queue:
- DEVDEV$HT09
STATE: PRINTING FORM:
JOB OWNER PAGES WAIT FORM
123 008,005 41 00:05:11
1113 001,013 8 00:06:36
1112 011,011 10 00:07:21
10 017,002 21 00:09:56
576 008,001 22 00:11:07
1324 001,013 40 00:15:32
344 006,012 21 00:17:07
534 001,001 21 00:19:42
You need to get your job printed in less time than 19 minutes, so
you decide to alter its priority. Changing the priority to 7
moves the job to the head of the queue. Note that job 123 is
currently printing and will not be stopped by a job of higher
priority:
- PRIDEV7;DEV $HT09
STATE: PRINTING FORM:
JOB OWNER PAGES WAIT FORM
123 008,005 41 00:04:01
534 001,001 21 00:07:36
1113 001,013 8 00:08:26
1112 011,011 10 00:09:06
10 017,002 21 00:11:46
576 008,001 22 00:13:57
1324 001,013 40 00:17:22
344 006,012 21 00:19:57
If you want to know when your job has finished compiling, you can
use the STATUS command, which displays a constantly updated list
of your jobs and notifies you with a beep when the compilation is
finished. Then, to return control to PERUSE, you press the BREAK
key:
- STATUS
JOB STATE PAGES COPIES PRI HOLD LOCATION REPORT
J 135 OPEN 1 4 B #LP TAL USER
(BEEP!)
JOB STATE PAGES COPIES PRI HOLD LOCATION REPORT
JC135 READY 129 1 4 #LP TAL USER
(BREAK key)
Since you have found an error in the program, you won't want a
hard copy. Set the hold flag so that you can continue searching
for errors:
HOLD:J
- JOB STATE PAGES COPIES PRI HOLD LOCATIOM REPORT
J 135 HOLD 1 4 B #LP TAL USER
Continue using the FIND command to search for the same string of
words. If you don't specify a new string, FIND continues to
search for the next occurrence of the most recently specified
string. When an error appears on your screen, you can determine
which page it is on by using the PAGE command. You can also
examine the context in which the error occurred by using the LIST
command to list the entire page on which the error is located:
F
**** ERROR 54 **** Illegal reference parameter
p *
PAGE: 8 LINE: 12
L *
Continue using the FIND command, searching for the same string
until there are no more occurrences of it in the program:
F
**** ERROR 72 **** Indirection must be supplied
F
After finding all the errors in the program, you are through with
this TAL listing, so you can delete the job and exit PERUSE:
_DEL;E
.
Then enter EDIT, correct the errors in your source listing, and
execute TAL again.
In this next compilation, you are a little more conservative and
use #LOOK as the location. Because you did not specify NOWAIT,
the job is READY when you enter PERUSE:
:TAL /IN PROG, OUT $S.#LOOK/
:PERUSE
PERUSE T910C12 (18MAR85) SYSTEM \SYSNAME
JOB STATE PAGES COPIES PR! HOLD LOCATION REPORT
136 READY 129 1 4 #HOLD TAL USER
Using the LIST command to display the last page of the TAL
compilation shows the trailer message, which indicates that there
were no warning or error messages generated during the
compilation:
- J *•, LIST L
Object file name is $VOL1.ADMIN.BILL
This object file will run on either a TNS or a TNS/II system
Number of errors = 0
Number of warnings = 0
Primary global storage = 44
Secondary global storage = 1120
Code size = 1888
Data area size = 40 pages
Code area size = 2 pages
Maximum symbol table space available = 24892, used = 4064
Maximum extended symbol table space available = 0, used = O
Number of source lines = 3224
Elapsed time - 00:11:05
Since no errors were found, you can route the program to the
location that can print you a hard copy:
_LOC #LP:J
JOB STATE PAGES COPIES PRI HOLD LOCATION REPORT
136 PRINT 129 1 4 #LP TAL USER
E
SPOOLCOM SECURITY
SPOOLCOM COMMANDS
COMMAND SUMMARY
Command Function
COLLECT obtains the status of the spooler
collectors.
COMMENT designates a comment to be ignor,ed by
SPOOLCOM.
DEV controls and obtains the status of devices
in the spooler system. While a device is
printing a job, the owner of that job can
issue a SKIP and SKIPTO subcommand on that
device. Anyone can start an offline device
that has not been put offline by a DRAIN
command issued by the operator.
EXIT terminates a SPOOLCOM session.
FC allows edit and reexecution of a command
line (same as the FC command in the
GUARDIAN command interpreter).
HELP displays the syntax of SPOOLCOM commands
for user reference.
JOB alters attributes and changes the state of
your own jobs; also obtains the status of
any job in the spooler system.
LOC displays the status of the spooler
routing structure.
OPEN specifies the particular spooler system to
which the other SPOOLCOM commands refer.
PRINT obtains the status of the spooler print
processes.
SPOOLER obtains the status of the spooler.
Command Function
COLLECT specifies attributes, obtains status, and
changes the state of collectors.
COMMENT designates a comment to be ignored by
SPOOLCOM.
DEV specifies attributes, obtains status, and
changes the state of devices.
EXIT terminates a SPOOLCOM session.
FC allows edit and reexecution of a command
line (same as FC command in the GUARDIAN
command interpreter).
HELP displays the syntax of SPOOLCOM commands
for user reference.
JOB specifies attributes, obtains status, and
changes the state of a job.
LOC defines and modifies the spooler routing
structure.
OPEN specifies the particular spooler system to
which the other SPOOLCOM commands refer.
PRINT specifies attributes, obtains status, and
changes the state of print processes.
SPOOLER starts, stops, and obtains the status of
the spooler.
You can execute any one of these commands without any qualifying
subcommands or parameters:
Be careful that you use "#" with the LOC, not "$", or else you
get an error message:
:SPOOLCOM LOC $HT4
OPEN $SPLS LOC $HT4
INVALID COMMAND PARAMETER
SPOOLCOM lets you handle your job in the same way as PERUSE. In
addition to finding the status of your job, you can alter the
number of copies, the form name, the owner name, the location,
and the printing priority. You can also put your job on hold and
remove it from hold, and delete it from the spooler system.
Refer to the GUARDIAN Operating System.Utilities Reference
Manual.
If a device has gone offline due to a device error, you can see
this with both PERUSE and SPOOLCOM.
SPOOLCOM tells you both the GUARDIAN file-system error number (in
this case it is error 100, NOT READY) and the job numbers in the
device queue:
:SPOOLCOM DEV $LP1
DEVICE STATE FLAGS PROC FORM
$LP1 DEV ERROR 100 T $SPLP
JOB LOCATION DEVICE SEQ COPY PAGE
571 #LPl.DEFAULT $LP1 1 1 40
596 #LPl.DEFAULT $LP1 2 1 43
By way of comparison, PERUSE" also identifies the error number,
plus the owner ID and the printing times for the jobs queued up
to print. The "+" following these times indicates that the
device must come back online before these print times have any
meaning:
_DEV $LP1
DEV STATE: ERROR 100 FORM:
JOB OWNER PAGES WAIT
571 008,013 40 00:02:32+
596 008,013 43 00:03:39+
E
SPOOLCOM allows users to restart a device that has gone off line
due to a device error. Some of the more common device errors you
can encounter and correct are shown in Table 11-3.
Table 11-3. Common Device Errors That All Users Can Correct
FUP Interface
Programmatic Interface
SYSTEM USERS
Identifying Users
Each user has a unique user name and a corresponding unique user
ID. A user name has the form <group-name>.<user-name>, where
<group-name> is the name of the group to which the user belongs,
and <user-name> is a name identifying the individual user within
the group. Similiarly, a user ID is a pair of integers in the
form <group-id>,<user-id>, where <group-id> identifies the user's
group and <user-id> identifies the user within the group. The
two integers in a user ID must be between 0 and 255, inclusive.
The user names and user IDs for all users on the system are kept
in a system file. During a logon, the system checks that the
user name supplied in the LOGON command is valid, and that the
correct password, if any, is supplied (see "Logging On" in this
section for an explanation of passwords).
The classes of special users (users who have capabilities beyond
those of a standard user) and their corresponding user IDs are:
User Class Typical User Name User ID
Super ID user SUPER.SUPER 255,255
System operator SUPER.OPERATOR 255,n
Group manager groupname.MANAGER n,255
LOGGING ON
Before a user can gain access to the system, that user must log
on. Logging on is done by entering the previously defined user
name in the LOGON command of COMINT (see Section 2).
Passwords
Each file has an owner (initially the user who created the file)
and a file security. The owner is identified by a user ID, which
is initially the same as the creator's user ID. The owner of a
file can transfer ownership to another user by means of the FUP
GIVE command.
Each user has a logon default security string that is
automatically assigned to any files created during that session,
unless the user specifies a different security. During a
session, the user can change the default security string as
outlined in the next subsection.
Owner or
owner's group manager, remote access y y y - - -
Member of owner's group, remote access - y y - - -
Any other user, remote access - - y - - -
Owner or
owner's group manager, local access y y y y y y
Member of owner's group, local access - y y - y y
Any other user, local access - - y - - y
---------------------
This security means that any local user can read from the file,
only local members of the ADMIN group can write to the file, any
network user can execute the file, and only the owner (whether
logged on locally or remotely) can purge it.
If user ADMIN.ANN were operating on a network from a remote
system, she could do nothing more than execute the file, but if
she were logged on locally, she would also have read and write
access.
PROCESS SECURITY
The following example shows how a user can control the access to
such a data file and also control any future file accesses or
program functions.
An employee data file is owned by user 1,112 and is secured for
local owner access only ("0000"). This means that only the file
owner (or the local super ID) has direct access to the file.
However, a controlled form of file access is allowed using a
query program that has been written to return only nonsensitive
information. The program file is owned by user 1,112 and is
secured so that any local user can execute the process ("OOAO").
Additionally, program file ID adoption has been specified (use
owner ID as process accessor ID).
As shown in Figure 12-3, user 8,10 (process accessor ID of 8,10)
executes the query program, which returns "limited data views"
only. The query process adopts the owner ID of the program file
(1,112), which becomes its process accessor ID. (If the query
program were to create another process, that process would
inherit 1,112 as both its creator accessor ID and its process
accessor ID.)
cI- )I
I Query \
I User Running I -------> I Program I --------> I Employee I
I the Program I <------- I I <-------- I Data Filel
\ (Pl) I I I
Process \-·---------/
Accessor Owner ID = 1,112 Owner ID = 1,112
ID = 8,10 Security = "OOAO" Security = "0000"
PROGID option on
Licensing Programs
Provided that the super ID user also gives the programmer write
access to the program file, the following TAL compilation
replaces the program with the revision and causes the program to
become unlicensed:
RUN TAL /IN source/ PRIVPROG
This means that no users except super ID users (excluding even
the programmer who replaced the program) are allowed to execute
the program. When PRIVPROG is debugged and ready for use, the
super ID can license it so that others in the group can run it.
NETWORK SECURITY
Each user is known to the local system by a user name and a user
ID, for example, ADMIN.BILL and 6,14 (respectively). A user can
access files on a remote system only if that person's user name
and user ID are also known to that specific system. If
ADMIN.BILL wants to access a file on a remote system, that system
must also have a user identified as ADMIN.BILL with a user ID of
6,14.
Once the user IDs of network users are added to relevant nodes of
the network, a system of remote passwords is used to specify
whether remote access is permitted. Remote passwords are
specified with the REMOTEPASSWORD command in COMINT or the
RPASSWRD program.
For example, consider two systems in a network named \A and \B.
A user identified as ADMIN.BILL, with a user ID of 6,14, was
defined at both systems.
At system \A, the following commands are entered to establish an
allow-access remote password to system \A:
:LOGON ADMIN.BILL
:REMOTEPASSWORD \A, SHAZAM
ADMIN.BILL's allow-access password for \A from all other systems
is SHAZAM.
At system \B, the following is entered:
:LOGON ADMIN.BILL
:REMOTEPASSWORD \A, SHAZAM
The user at system \B entered the matching password and now has
remote access to system \A as ADMIN.BILL.
ADMIN.BILL, logged on at system \B, does not have quite the same
status at \A as the ADMIN.BILL at \A. Since ADMIN.BILL at \B is
a remote accessor of \A, he cannot access disc files on \A that
are secured for local access only. Also, if ADMIN.BILL on \B
creates a process on \A that attempts to access the home terminal
on \B, the attempt will fail because remote passwords to allow
access from \A to \B were not established.
For ADMIN.BILL to gain access to \B from \A, an allow-access
password must be defined for ADMIN.BILL at \B, matched by a
request-access password at \A. For example, the following is
entered first at \B and then at \A:
:LOGON ADMIN.BILL
:REMOTEPASSWORD \B, AARDVARK
Now users logged on as ADMIN.BILL at either system \A or system
\B have access to both systems.
Process Access
Global Passwords
Only those users who know the local password can log on as
NET.ACCESS. While logged on as NET.ACCESS, these users can
access remote files. For example, the following command allows
the users to access remote files secured so that NET.ACCESS
(remote) can get to them:
:LOGON NET.ACCESS, local-password
Subnetworks
This appendix gives the complete syntax for all the COMINT
commands. Explanations for the special terms and punctuation
used here can be found in "Syntax Conventions Used in This
Manual." For complete definitions of all the syntax terms, see
the command descriptions in the GUARDIAN Operating System
Utilities Reference Manual.
[\<system-name>.]COMINT
[I <run-option> [ , <run-option>] ... I]
[ <backup-cpu-number> ]
For <run-option> see the RUN command.
ACTIVATE [[\<system-name>.]($<process~name>)]
<cpu>,<p1n>
* .<logical-file>
<program-unit> .<logical-file>
<extent-spec>
CODE <file-code>
<exclusion-spec>
<access-spec>
REC <record-size>
BLOCK <block-size>
EXT [ ( ] <pri-extent-size> [ ) ]
EXT ( [ <pri-extent-size> ] , <sec-extent-size>
EXCLUSIVE
SHARED
PROTECTED
I-0
INPUT
OUTPUT
BACKUPCPU [ <cpu-number> ]
COMMENT [ <comment-text>
DELUSER <group-name>.<user-name>
EXIT
FC
INITTERM
O[BEY] <command-file>
PASSWORD [ <new-password> ]
PAUSE ~\<system-name>.]($<process~name>}]
L <cpu>,<p1n>
PMSG { ON OFF }
[ RUN[D] ] <program-file>
[ I <run-option> [ , <run-option> ] ••• I ] [ <param-string> ]
<run-option> is any one of these eleven:
INSPECT OFF }
{
~~VEABEND
IN [ <file-name> ]
OUT [ <file-name> ]
NAME [ $<process-name> ]
CPU <cpu-number>
PRI <priority>
MEM <num-pages>
NOWAIT
TERM $<terminal-name>
LIB [ <file-name> ]
SWAP [ <file-name> ]
S'l'OP [ \<system-name>.lj$<process~name>}J
[ <cpu>,<p1n>
SUSPEND [ \<system-name>.]j$<process~name>}]
[ <cpu>,<p1n>
SWITCH
SYSTEM [ \<system-name> ]
SYSTIMES
TIME
WAKEUP { ON I OFF }
This appendix gives the complete syntax for all the File Utility
Program (FUP) commands. Special terms and punctuation used here
are explained in "Syntax Conventions Used in This Manual." All
the FUP command parameters are fully defined in the descriptions
in the GUARDIAN Operating System Utilities Reference Manual.
RECOUT <out-record-length>
BLOCKOUT <out-block-length>
PAD "<pad-character>"
EBCDICOUT
[ NO ] UNLOADOUT
[ NO ] REWINDOUT
SKIPOUT <num-eof s>
, NEW
, OLD
J[ ,
[ , <file-conversion-option> ... ]
PARTONLY ] [, SAVEID
, SOURCEDATE
]
[ , PURGE , SAVEALL
, KEEP
See the INFO command for <f ileset-list> and <fileset>.
<rename-option> can be either of these two:
PART ( <sec-partition-number>
, [ \<system-name>.]$<volurne-name>
[ , <pri-extent-size> , [ <sec-extent-size> ] ]
ALTFILE ( <key-file-number> , <file-name> )
<file-conversion-option> can be any one of these four:
EXT /<extent-size> )
\( <pri-extent-size> , <sec-extent-size>)
SLACK <percentage>
DSLACK <percentage>
!SLACK <percentage>
EXIT
FC
<f ileset>
( <fileset> [ , <fileset> ] ..• )
[\<system>.][$<volume>.][<subvol>.]<file-name>
[\<system>.][$<volume>.][<subvol>.]*
[\<system>.][$<volume>.]*.*
SORTED
<in-option>
<key-seq-option>
PARTOF $<volume-name>
PAD "<pad-character>"
MAX <num-records>
SCRATCH <scratch-file-name>
SLACK <percentage>
DSLACK <percentage>
!SLACK <percentage>
'TYPE
CODE
EXT
REC
REFRESH
AUDIT
BLOCK
I BLOCK
COMPRESS
DCOMPRESS
I COMPRESS
KEYL EN
KEY OFF
ALTKEY [ <key-specifier> ]
ALTKEYS
ALTFILE [ <key-file-number> ]
ALTFILES
ALTCREATE
PART [ <partition-num>
PARTS
PARTONLY
MAXEXTENTS
BUFFERSIZE
BUFFERED
AUDITCOMPRESS
VERIFIEDWRITES
SERIALWRITES
ODDUNSTR
SYSTEM [ \<system-name>[.$<volume-name>][.<subvol-name> ] ]
VOLUME [[ \<system-name>.]\<subvolume-name>
$<volume-name>[.<subvolume-name>]
J]
<backup-parameters> are:
[ \<system-name>.]$<tape-file> , <fileset-list>
, AUDITED
, BLOCKSIZE <data-record-size>
, DENSITY <density>
, IGNORE
, LISTALL
, MSGONLOCK
, NOT <not-f ileset-list>
, OLDFORMAT
, OPEN
, PARTIAL <partial-dump-date>
, PARTONLY
, START <f ileset-narne>
VERIFYTAPE
, VOL J[ $<new-vol>.]<new-svol>)
l $<new-vol>
COPIES <number-of-copies>
DEL
DEV $<device-name>
E[XIT]
FC
F[IND] B[OTH] [ I <find-string> I ]
FORM [ <form-name> ]
HELP [ I <OUT listf ile> I ] [ <command-name> I ALL ]
HOLD [ ON I OFF ]
HOLDAFTER [ ON I OFF ]
J[OB] [ <job-num> I * I S[TATUS] I $<location-name> ]
COMMENT <any-text>
E-'l
""' 82396 AOO 3/85
SPOOLCOM SYNTAX SUMMARY
EXIT
FC
[ , <subcommand> ] •••
COLLECT <name>
DATE { FROM <time> [ THRU <time> ] }
{ THRU <time> }
FORM <name>
LOC <group>[.<destination>]
OWNER { <groupname>.<username> }
{ <group-#> , <user-#> }
PAGES { > I < } <pages>
REPORT <name>
STATE <job-state>
COPIES <nurn-copies>
DELETE [ ! ]
FORM [ <form-name> ]
HOLD
HOLDAFTER [ OFF ]
LOC [ #<location> ]
OWNER { <groupname>.<username> }
{ <group-#> , <user-#> }
REPORT [ <report-name> ]
SELPRI <selection-priority>
START
STATUS [ I OUT <filename> I ] [ DETAIL ]
OPEN $<spool>
CREATE 2-16
FC 2-19/22
FILES 2-17
LOGOFF 2-5
LOGON 2-2/4
OBEY 2-18/19
PAUSE 2-15
PURGE 2-18
RENAME 2-17/18
RUN 2-12/13
STATUS 2-13/15
STOP 2-15
SYSTEM 2-9/10
VOLUME 2-8/10
WHO 2-10
current defaults 2-7/10
file name rules 2-6/7
file operations. See File operations
how to enter commands 2-2
logging off 2-5
logging on 2-2
logon defaults 2-7/8
logon password 2-4/5
programs
DEFAULT 2-8
PASSWORD 2-4/5
USERS 2-10
restarting a COMINT process 3-3/4
running command files 2-18/19
starting a remote COMINT process 3-1/3
starting processes 2-12/13
Command file
used by SPOOLCOM 11-3/4
used with COMINT 2-18/19
used with FUP 5-5/7
Command line length 10-3, 2-2, 8-2
Comments in SPOOLCOM 11-3
COPY command. (FUP) 6-18
Copying (duplicating) files (FUP DUP) 5-14/15
Correcting command errors (FC command)" 2-19/22
CPU number listed by STATUS command in COMINT 2-14
CPU option
in COMINT command 3-2/3
in RUN command 2-13
CREATE command (COMINT) 2-16
CREATE command (FUP) 6-2/17, 6-22/26
Creating files. See Files, creating
Creator accessor ID 12-10/13
CTRL/Y
to indicate end of file 5-5
to stop a process 5-4
SHOW
used with SET and CREATE commands 6-2/17, 6-22/26
See also Files, creating
SUBVOLS 5-10
SYSTEM 5-9
VOLUME 5-9, 6-19
controlling current defaults 5-9
definition of a file 5-2
entering commands interactively 5-4/5
file-name rules 5-2
printing program output 5-6
specifying f ilesets in commands 5-12/13
starting a FUP process 5-4/7
types of files 5-2/3
using command files for input or output 5-5/7
GIVE command (FUP) 5-17
Global passwords in network security 12-19
Key-sequenced files
creating 6-11/12
partitioned 6-15/16
with alternate keys 6-13/14
increasing extent size 6-25/26
loading 6-19, 6-24/25
TAL
example of PERUSE operation with 10-9/12
finding errors in a TAL listing 10-10/11
TERM option of STATUS command (COMINT) 2-14
TGAL
example of PERUSE operation with 10-6/9
finding errors in a TGAL listing 10-6/7
OV command 10-8
used to spool a job 9-15
Unstructured files
creating 6-7
defined 5-3
User IDs 12-5/6, 2-4
displayed by FUP INFO command 5-12
known gloabally in a network 12-15
User names 12-5, 2-2/3
USER option of STATUS command (COMINT) 2-14
USERS program 2-10
Users
classes of 12-3/5
getting information on 2-10/12
VOLUME command (COMINT) 2-8/10
VOLUME command (FUP) 5-9, 6-19
Volume name 2-6
WHO command (COMINT) 2-10
displays info needed to restart COMINT 3-3/4
If your answer to any of the questions below is "no," please supply detailed
information, including page numbers, under Comments. Use additional
sheetsifnecessar~
Comments
Name Date
Company
Address
City/State Zip
GUARDIAN™ Operating
System User's Guide
Nonstop™ Systems
82396AOO
111111 NO POSTAGE
NECESSARY
IF MAILED
INTHE
BUSINESS R E P LY MA IL -
UNITED STATES
TAPE
Tandem Computers Incorporated
19333 Vallco Parkway
Cupertino, CA 95014-2599