|
: One of our Telecom customers, who is using VMS 6.2 (Alpha), has some
: inquiries in programming on the VMS platform (unfortunately I am not
: knowledgeable in programming on the VMS platform) :
Encourage this customer to read the Programming Concepts and the File
Applications Manuals, among other manuals. The calling standard
and the guide to modular programming manuals may also be of interest.
: 1. Is there any FIFO structures, using C programming language, for IPC
: (inter-process communication) ?
Yes. In fact, most transports are First-In-First-Out. Examples
include shared-memory interlocked queues (lib$insqhi, etc). DECnet
task-to-task. TCP sockets. sys$ipc (DECnet-Plus). Mailboxes.
With DECthreads, one can run multiple threads of execution within a
single process, and one can potentially run a single process across
multiple processors in an SMP system.
: 2. It is mentioned in VMS that we create mailbox for IPC. Are these
: mailbox FIFO ?
Yes, mailboxes are one method of interprocess communications, and
yes, mailboxes are FIFO devices.
: 3. Is there any program calls in COBOL, and maybe C as well, that read
: and write to DAT tapes ?
Yes. OpenVMS supports an extensive set of run-time library and
system services, and supports mixed-language programming.
If the customer wishes to program system services in COBOL, I'd
acquire a few examples of how to construct itemlists and such from
the COBOL folks and provide these to the customer -- it is quite
possible to access storage devices from any language, but certain
system calls can be tricky from COBOL and rather easier from C
or other languages.
This ignores native device access support *in* COBOL, which should
work just fine for accessing tapes such as DLT, DAT (DDS), or the
classic seven and nine-track magtapes, or disks...
|
| re .0
> 3. Is there any program calls in COBOL, and maybe C as well, that read
> and write to DAT tapes ?
VMS provides various layers of software that make most data access
device independent. That is, J. Random COBOL program that just wants to
read records sequentially doesn't have to know or care whether the
records are coming from a terminal or a file on disk or a file on tape
and likewise, say, referring specifically to tape, doesn't have to know
or care what kind of tape drive is in use. Similarly for a program that
simply does sequential writing of records.
Both language's native I/O handling should be adequate for simple tape
applications. If you need something more than the language's I/O can
provide then VMS system services (including RMS services) can be called
from any language supporting the VMS calling standard. COBOL may make
you work harder than C for this level of programming.
|