mirror of
https://github.com/PDP-10/stacken.git
synced 2026-03-02 17:45:26 +00:00
140 lines
5.6 KiB
Plaintext
140 lines
5.6 KiB
Plaintext
|
||
|
||
|
||
The "Uncommon File System"
|
||
|
||
|
||
|
||
1.0 INTRODUCTION
|
||
|
||
The "Uncommon File System", or UFS, is an unsupported feature of TOPS-10
|
||
version 7.03 to facilitate sharing a CI bus among several different
|
||
systems. No sharing of disk units or files is provided by this feature.
|
||
This feature only assists in preventing access to a disk unit by more
|
||
than one system.
|
||
|
||
(Allowing more than one system to access a disk unit leads to SAT and
|
||
directory differences, causing damage to new or existing data on that
|
||
disk unit. Co-ordinating this access would require extensive monitor
|
||
development which is not planned for TOPS-10 at this time.)
|
||
|
||
|
||
|
||
2.0 "DISK SETS"
|
||
|
||
Inherent in the design of UFS is the concept of a "disk set". A disk
|
||
set is a group of file structures which are related. This relation
|
||
usually means they belong to the same system. Disk sets are especially
|
||
important in the case of CI disks, which can be accessible to several
|
||
TOPS-10 systems at the same time.
|
||
|
||
There are thirty-eight different disk sets. These are the numbered
|
||
sets, 1 through 36 (decimal), the "NO" set, and the "ALL" set.
|
||
Structures in the "NO" set are never mounted by a system, structures in
|
||
the "ALL" set are always mounted by a system, and structures in the
|
||
numbered sets are mounted by a system only if the system has been
|
||
instructed to mount structures in one (or more) of the numbered sets.
|
||
|
||
As an example, if system "A" had a system pack called DSKA, and system
|
||
"B" had a system pack called DSKB, system A should not be allowed to
|
||
access DSKB, nor should system B be allowed to access DSKA. Without UFS
|
||
there is no way to prevent TOPS-10 from trying to mount all structures
|
||
accessible at ONCE time to the system. Using UFS, you can define DSKA
|
||
to be in set 1, and DSKB to be in set 2. Further, you can tell system A
|
||
to only mount structures in set 1, and system B to only mount structures
|
||
in set 2.
|
||
|
||
|
||
|
||
3.0 PARTS OF UFS
|
||
|
||
Code to support UFS is contained in three places; the monitor, TWICE,
|
||
and PULSAR.
|
||
Page 2
|
||
|
||
|
||
3.1 Monitor Support Of UFS
|
||
|
||
Whether or not the monitor supports UFS is determined by the conditional
|
||
assembly option "FTSETS", defined in the F.MAC file produced by the
|
||
MONGEN "F" dialogue. The default setting for this conditional is zero
|
||
(or false). By responding "NO" to the MONGEN question "Standard
|
||
settings" you can enter the dialogue to change the default setting of
|
||
this conditional.
|
||
|
||
Once you have created a new F.MAC you must re-compile the following
|
||
monitor modules: F, COMMOD, ONCE, ONCMOD, and UUOCON. You then proceed
|
||
to link the monitor as usual. The result is a monitor with UFS support.
|
||
|
||
|
||
|
||
3.2 TWICE Support Of UFS
|
||
|
||
TWICE is a user-mode version of the ONCE dialogue. The ONCE dialogue
|
||
allows the operator to define or change disk parameters. TWICE must be
|
||
re-built after re-building the monitor, as TWICE searches F.UNV to
|
||
obtain feature test settings.
|
||
|
||
|
||
|
||
3.3 GALAXY Support Of UFS
|
||
|
||
PULSAR has code to GETTAB the conditional feature test flag word in the
|
||
monitor which indicates whether the monitor supports UFS. If the
|
||
monitor supports UFS, PULSAR will also, and vice versa. No re-assembly
|
||
of PULSAR is necessary, as this code exists in the distributed version.
|
||
|
||
|
||
|
||
4.0 DEFINING SET NUMBERS WHICH A SYSTEM MOUNTS
|
||
|
||
There are two ways to define which numbered sets are mounted by the
|
||
system. One is intended to be used when building monitors to set a
|
||
default, and the other is intended to be used during system start-up
|
||
when the default value is not acceptable.
|
||
|
||
|
||
|
||
4.1 Via MONGEN
|
||
|
||
The MONGEN parameter M.SETS defines a bit mask of those numbered sets
|
||
which are to be mounted by the system. Bit 0 represents set 1, bit 1
|
||
represents set 2, ..., and bit 35 represents set 36. If this parameter
|
||
is not specified in the optional octal dialogue, the monitor will not
|
||
mount any structures in the numbered sets (i.e., M.SETS defaults to zero
|
||
if not defined).
|
||
Page 3
|
||
|
||
|
||
4.2 During ONCE
|
||
|
||
The optional switch /SETS to the "Startup option" question allows you to
|
||
define at ONCE time which numbered sets are to be mounted to the system.
|
||
If /SETS is specified, the resulting value over-rides the MONGEN
|
||
parameter M.SETS.
|
||
|
||
|
||
|
||
5.0 DEFINING WHICH SET A STRUCTURE BELONGS TO
|
||
|
||
The set number is stored in the HOMe block of a disk. The only way to
|
||
change the set number is by using the the TWICE program to change disk
|
||
parameters. TWICE will ask if you want to change any disk parameters.
|
||
If you answer YES, you will be allowed to specify which set number a
|
||
structure belongs to. A legal response is either "YES" or "NO", or a
|
||
number between 1 and 36 (decimal).
|
||
|
||
The monitor will not allow you to access a disk unit during the ONCE
|
||
dialogue which belongs to a disk set which is not normally mounted to
|
||
the system. For this reason, you have to change the set number using
|
||
TWICE.
|
||
|
||
By default, structures are defined as belonging to the "ALL" set; that
|
||
is, they will always be mounted by any system which can access the disk
|
||
unit(s) which contain that structure. When defining new structures
|
||
which are contained on CI type disk units, if you plan to have more than
|
||
one system on the CI bus you should plan on putting that structure in a
|
||
unique numbered set.
|
||
|
||
Structures which already exist will belong to the "ALL" set.
|