John Wilson wrote:
On Mon, Dec 09,
2013 at 10:51:38AM -0500, Paul Koning wrote:
On Dec 8,
2013, at 9:22 PM, Charles Dickman <chd at chdickman.com> wrote:
[...] The MSCP
disk unit numbers are unique across all controllers and need to be set on
each controller.
That depends on the OS. What you say is true for RSTS, which refers to all
MSCP disks as "DU" and wants the unit number to be unique among all the
controllers. VMS refers to disks by type, controller, and unit, e.g., DUA2:
so (I would assume) it can handle duplicate unit numbers as DUA2: and DUB2:.
I'm 99% sure the "units are unique on a system" rule is from the MSCP
spec,
so it certainly makes sense that RSTS follows it. It seems like kind of a
silly rule though since it's not true of anything but (T)MSCP, so any OS will
already have to have a plan for dealing with dupes (or officially refusing
to -- like the way RSTS rejects duplicate slave #s on Massbus tapes).
Since I don't have quick access to the MSCP spec,
I am unable to dispute the information - which actually
is probably correct if John Wilson suggests it is true, at
least as far as the MSCP spec is concerned.
However, at least for RT-11, it is possible to SYSGEN
the MSCP device driver to support up to FOUR ports -
which is equivalent to a combination of a total of FOUR
controllers and / or SCSI host adapters. When the
SYSGEN also is configured to support up to 64 active
MSCP devices, the probability of duplicate unit numbers
will be quite high when many hard drives are used.
Note that under RT-11, up to 64 unit numbers:
D00: to D77:
can be "mapped" for each MSCP device driver via
the MSCP SET commands:
SET DU: CSRy=172352
SET DU: VECy=154
SET Dnn: PORT=y UNIT=u PART=p
Consequently, for each PORT (or controller=y),
there can also be the same UNIT number. And
since each RT-11 partition is limited to 32 MB,
there can be many PART values in use for each
of the UNIT values.
When very small (less than 32 MB each) hard
drives are used, the partition numbers will all be
zero, but for each separate controller with its own
CSR and VECTOR, it is possible to use to SET
commands to repeat to use of all UNIT numbers
on each controller.
If my explanation is not sufficient, it may be necessary
to add more details. The key point I am making is
that RT-11 does support duplicate physical UNIT
numbers when "mapping" the physical UNIT numbers
to each unique D00: to D77: device name via the SET
commands, but only when there is more than one
controller. Note that the D00: to D77: unique device
names may seem to be 64 (decimal) names starting
at 00 (octal) and ending at 77 (octal) and can be
programmed in that manner, but as they are actually
passed to RT-11 as the device name (along with any
required file name) for a given I/O channel, the three
characters are, in the final analysis, just a RAD50
value of 16 bits and used only to specify the physical
device in the .LookUp EMT request after which the
I/O channel is used.
If anyone is using RT-11 and has any questions
regarding the use of the RT-11 SET commands
for the MSCP device driver, DU(X).SYS, please
ask.
Jerome Fine