Patterned after VSDRV (see Fall '81 DECUS RSXSIG
symposium tape, [300,120] submission by John Osudar) and the
VAX/VMS Mailbox driver, this driver performs virtually the
same functions with a new twist. The driver maintains a set
of named queues/mailboxes similar to VS: but rather than
copying data buffers destined between tasks
to its internal buffer pool, MB: re-links the I/O packets
themselves and copies data directly from the writing task's
virtual address space to the target task's address space.
This can represent a significant performance improvement for
large QIOs and is much more immune to running out of
"pool" because the data is maintained in the requesting task's
address space.
There are, however, attendent disadvantages to this scheme.
By necessity, write-QIOs NEVER complete until a corresponding
read-QIO (or cancel) operation is issued for the mailbox, and
tasks with outstanding I/O cannot be checkpointed or shuffled.
Assemble and build the driver by executing MBDRV.CMD; RSXMC.MAC
and RSX11M.STB must reside in current system UIC.
Consult the comments in MBDRV.MAC and documentation in MBDRV.RNO
for a full description of the driver's design, function codes, etc.
Several test programs are also included to exercise various
features of MBDRV; IOPAGE, TIMER and MBTSTn modules are required
for the test programs.
Paul R. Sorenson
AEP/Engineering Computer Support Center
1 Riverside Plaza
Columbus, OH 43215