[Info-vax] OpenVMS Guide to... (was: Re: Making Open Source Tools Work for VMS)

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Mon Nov 22 14:04:44 EST 2021


On 2021-11-22 16:55:24 +0000, Jon Schneider said:

> I'd like to see a guide to
> 
> * Interprocess (not network) communications

Use IP, or use TLS for sensitive traffic, or maybe use ICC 
intra-cluster communications services.

The use cases for mailboxes and shared-memory sections and such do 
exist, but are more limited in my experience, tend not to scale all 
that well, and you can find yourself re-implementing IP networking and 
locking and memory cache management and the rest and for little gain 
over IP and with much added effort. I've done all this stuff with all 
these mechanisms and with DECnet and and DLM-based comms and more, 
and—until and unless IP ran out of performance—I'd use IP as the 
baseline for even local communications.

TLS is a quagmire on OpenVMS too, as it's little better than a 
bag-on-the-side, with no integrated root certificate list, and a whole 
pile of command-line tooling to get anywhere.  A framework to deal with 
IPv4, IPv6, DNS, TLS, VPNs, and the rest has been discussed, 
but—outside of some open source here—that won't happen until well after 
OpenVMS x86-64 ships. If then.

> * Synchronisation

The distributed lock manager (the Linux distributed lock managers were 
patterned on the OpenVMS lock manager, so it should look familiar), 
interlocked bitlocks and interlocked queues. There's a chapter or three 
in the programming concepts manuals on these topics.

And you'll want to read the processor architectural manuals for shared 
memory caching, as Alpha memory caching and re-ordering is... 
aggressive.

Or use IP.

> * The process model, debugging

That's not well documented anywhere, though the debugger manual is a 
reasonable start. I once had some stuff on remote debugging and 
debugging detached processes posted a whole while back, but that's all 
been offline for some years now.

> * The (Files-11 I guess) filesystem

There's a manual or two on that in the doc set.  Expect and assume 
ODS-5, and expect to get derailed by some C feature logical name or 
some ancient volume still stuck at ODS-2.

> * Clustering features (and no seeing somebody gaffer tape a load of 
> Raspberry Pis together doesn't tell me much)

The cluster pricing rendered most cluster features infrequently 
commercially used. There are a couple of manuals on this topic. One at 
a higher level, one at a lower level. For programming, there's rather 
less available in the docs. And app failover and the rest have 
scattershot documentation.

> * Any features that are novel or handled quite differently in VMS

The only weird (useful) feature I can think of off-hand is software 
RAID-1; Host-based Volume Shadowing.  Pretty much the entirety of the 
rest of the OpenVMS feature-set will have a corollary, analog, or 
alternative on other platforms. Variously different, and variously 
better. LDAP versus SYSUAF, for instance—outside of add-on 
bag-on-the-side external authentication support, OpenVMS knows zilch 
about LDAP. Which is just quaint from here in 2021.

> aimed at those with some knowledge of these thing in Unixen and MS Windows.

Trying to port over knowledge of Unix or Windows features and 
expectations to OpenVMS tends to end badly, from a very long history of 
folks trying to learn OpenVMS around here.

OpenVMS expects the developer to read much of the whole wall of 
documentation, and doesn't really provide a cookbook-style 
examples-based approach to app development. And there are gaps in the 
docs that are less than fully visible to long-time developers. All of 
which has been fodder for various previous discussions.

I've done day-long training sessions on these topics for various sites 
and for experienced developers. But this whole area is one that starts 
out very different from other platforms, and the resulting discussions 
then go in myriad directions depending on local needs and expectations.



-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list