Oh, and OpenVMS doesn't crash. Like, ever.
Windows Server has some of these features. The NT kernel has the same designer as VMS -- Dave Cutler, a man whose contempt for the Unix design philosophy is well documented.
Oh, and OpenVMS doesn't crash. Like, ever.
Windows Server has some of these features. The NT kernel has the same designer as VMS -- Dave Cutler, a man whose contempt for the Unix design philosophy is well documented.
Funny you should say that. On a VMS build server, I was once cleaning up a build and ran a "DEL [...]* .OBJ;*" (HN auto-formatting doesn't allow me to display this properly without inserting a space after the first asterisk). I started to wonder why it was taking a very long time to complete when it hit me... I had run it from the root-level of DKA0:, not from the build directory. Needless to say, the entire OS had to be restored/rebuilt.
This is easily the biggest mistake I have made in my 20-year career as a sysadmin (or system manager as we call it in the VMS world). Don't get me wrong, I love VMS for many of the reasons you've stated, and more; I wish it was more widely used in the industry. But don't be fooled; you don't need to be on a Unix system to make mistakes of disastrous consequences. They can happen anywhere!
The subject came up on StackExchange recently, with someone asking for the meaning of the Wikipedia claim. No-one could find it actually documented. There's documentation of an incident where M. Cutler showed contempt for people who were connected to DEC Ultrix, calling them "sorry excuses for engineers". However the source for that is an anecdote, related in a book years later, told by one of the very people so addressed, who might have had an incentive to thumb xyr nose at M. Cutler.
(Why "M."?)
The Armando Stettner named in https://en.wikipedia.org/wiki/Special:Diff/320396668 and other edits by the same person is the person who told the "sorry excuses for engineers" anecdote about xyrself, recorded in A Quarter Century of UNIX by Peter H. Salus.
The irony is that there is better, more specific, documentation of M. Cutler's opinion of OS/2 (specifically its mutex mechanism) than there is of M. Cutler's opinion of Unix.
I don't consider him a reliable source; he had a reputation for scandal mongering and misrepresentation.
It could still be taken out of context, which was a common tactic of Zachary's when he wanted to misrepresent something. Or the team member the quote purports to be from could have been misunderstanding or misrepresenting or exaggerating Cutler's actual views, and Zachary could have picked that particular team member to quote from because it fit the narrative he was trying to construct, and ignored other team members who were saying different things.
Posix is the junk operating system designed by committee, but given their advertising, I'm not surprised he would confuse the two.
It was an interesting OS. Some different ideas in there. But the idea that it never crashes is simply false.
At Digital's NCC booth in 1981 or 1982 (I forget) they were showing off clustered VAXes with the nodes named after colors. I jokingly typed ALLOC RED:: and discovered that allocating an entire node to yourself crashed the cluster.
Beyond that, AFAIK it didn't have pipes, which was a real limitation for creating, well, pipelines to stream process data far larger than available RAM.
I miss the days, but not the OS.
Coincidentally, a few minutes later, the 780 threw a fatal memory error and shut down. My 17 year old self assumed he had broken the VAX, returning to work (I was an intern) on Monday morning expecting to be fired.
Writing the trojan, which had to correctly implement all the terminal timeouts, responses to ctl-y and so on, was quite a challenge. Required me to understand $QIO, by reading the microfiche copy of the terminal handler BLISS-32 source code.
> In OpenVMS Version 7.1, the DCL PIPE command was introduced.
Ask me how I really know OpenVMS v6 doesn't have pipes.
[1] http://h30266.www3.hpe.com/odl/axpos/opsys/vmsos84/6489/6489...
http://h30266.www3.hpe.com/odl/axpos/opsys/vmsos84/BA554_900...
This is the main VMS interprocess communication mechanism.
This is no longer true with io_uring.
Samba support is awful, though.
For things that OpenVMS is good at, it is REALLY good at. Everything else... is pretty antiquated.
Could poor TCP/IP performance have been a consequence of 'real asynchronous I/O support'?
Berkeley sockets is obnoxious [Example]. But the advanced user can get fine control over it. If you have a use-case that is vulnerable to back-pressure, with Berkeley sockets you can manage that away. Some friendlier API designs would have worse options.
Berkeley sockets is ubiquitous, and there is not much to compare it to. Insights from VMS would be interesting.
--
:Example. A selector indicates that a socket is ready for read/write. But what that actually means is contextual, depending on whether it was created as a client or server socket. You can't attach metadata to the socket to assist with that. Rather, you have to maintain parallel structures.
To put it differently, a modern 10 gig ethernet card likely generates too much traffic to be effectively handled by that code. And if you had more than one 10 gig card in a box, they would contend around that common spin lock.
As a bonus feature, if your VMS TCP/IP stack is configured to send ICMP replies when there is nothing there at the given port, you'll create even more grief because now the stack is busy trying to receive the blast you give it and send out replies too.
This provides an in-depth description of the VCI API which is used to write your own ethernet frame handler. Some descriptions of when IOLOCK8 is held.
https://rtk.mirrors.pdp-11.ru/_vax/openvms.org.ru/vci1.html#...
For all this talk of fat fingering, you failed to mention that a simple purge is all it takes for all that file versioning to disappear...and you don't even have to type out the whole 5 letters. Besides, file versioning != revision control, and there are modern interoperability nuisances with it too.
Perhaps the most annoying thing with VMS is it'll allow you to set default (equivalent to cd for those unfamiliar with VMS CLI) to a directory that doesn't exist without even a courtesy warning. It was so batshit annoying that I wrote my own implementation of cd in DCL to ensure that never happened, along with updating command prompt to reflect current directory (just like Windows cmd) and certain bashisms like ~ for home directory, etc.
> Oh, and OpenVMS doesn't crash. Like, ever.
Yeah, sure...not really.
I suppose that is also why this was posted here on HN: being tied to the grace of some commercial entity isn't exactly pleasurable.
BASF's STOP is another example of a very specific purpose operating system geared entirely around security.