When people hear mention of the OpenVMS operating system and Alpha-based servers, they typically think ”old” and ”legacy”. And then they think about buying something much more modern. It might appear very strange for a company to buy a brand new OpenVMS operating system. Yet that’s exactly what the IT department did at the Albert Einstein Healthcare Network in Philadelphia.
The entire company uses OpenVMS for all POS systems. It also tracks inventory…pretty much runs the complete store. I’ve had the opportunity to fix a couple servers…when spilled pop and/or heat eventually killed them.
It really is a shame that DEC couldn’t stay afloat and HP couldn’t find some way to keep this great technology alive. People brag about Linux systems with years of uptime, but there are VMS systems that have been chugging away for over a decade straight. Sure, there’s the port of OpenVMS to Itanium, but Itanium’s future isn’t exactly rosy at the moment.
> “OpenVMS is probably the best designed and most robust general purpose operating system in existence,” says Colin Butcher
VMS might be the best designed OS in someone’s sick and twisted mind, but in my book it is one of the most unappealing architectures. Monlithic approach to overall design in conjunction with opaque and completely untransparent architecture are the at the core of VMS. We’re still reaping the fruits of VMS design in Windows, which happens to be one of if not the worst OS to walk the surface of this planet — Windows trances its lineage to VMS. VMS in its design and implementation induces as much excitement as a doorstop. Even DEC in its day invested in migration from VMS to Unix (OSF/1, now Tru64). If you want the HA features to match OpenVMS, look no further than Unix (Solaris and AIX would probably fit the bill the best).
it’s hard to complain about something that actually works. Nothing else is as important.
Your points are not quite true.
Yes some of the VMS team such as Dave Cutler went to Microsoft and took some of the features of VMS with them. However the seeds of Windows as we see it today were already in place.
Sure, DEC invested in Ultrix-32 and then OSF/1 & Tru64. This was on the back of the great FUD around Unix Systems in the early 1990’s. When competing against the likes of SUN, HP & IBM, DEC did not have a credible UNIX Offering. DEC leaped over the lot and introduced the Alpha then HP responded with a big FUD campain saying “Who needs 64bit?”. Even at the height of that FUD, DEC spent lots more on VMS development than OSF/Tru64.
Anyway, back to VMS. It has a whole lot of fundamental design features that products like Windows can only dream of.
– The GUI (aka X-Windows) is not remotely connected to the kernel. Just like Unix. Remember, VMS was originally designed for multiple DUMB terminal access
– The Kernel mode processes are completly protected from User Mode process interraction.
– The Kernel was Asynchronous by design thanks to its PDP-11 /RSX-11 heritage.
– The VMS Scheduler made it difficult for any single process to lock up the whole system
– The clusterwide file system in a VMS Cluster is still something many other O/S’s still have not caughtup with.
– etc, etc ,etc
These beasts just work for years and years. This is perhaps why they are not sexy just like Mainframes running Z/OS & CICS (35years old this year) VMS dates from 1977. I used one of the first VAXen in the UK using VMS V1.7. It ran on 115V so we had to power up a huge rotary inverter outside the office first.
The O/S design is solid and BsOD like occurrences are pretty well unknown these days. Business decision makers like those headlined in this article want something they can bet the business on. Platforms like VMS (and Z/OS, I-Series etc) can provide that. That is why their installed base is putting lots of pressure on HP to keep their deevelpment going.
IMHO The stability of the Kernel interface is something that the Linux Kernel Developers might like to emulate.
For the record, I spent 20 years developing H/W & S/W for the VAX/Alpha VMS platforms so I guess I might be a bit biased. I have no connection to HP (Compaq laid me off…)
I am sure VMS on Alpha had its days of glory, but those are long past.
Reading the article, one can see that Einstein Healthcare Networks have some critical apps running on this platform, so it’s normal for them to continue to invest in it. Someday they’ll have to consider a transition to something more up-to-date, and right now the choice really boils down to:
1) Unix/Solaris/AIX/HP-UX…
2) Winblows Server something…
3) Linux (choose any of the server oriented distributions).
Always reminds me of Windows NT.
No need to go offtopic, but does anyone have any links about the relationship between VMS and NT. Just how similar are they?
http://www.winntmag.com/Articles/Print.cfm?ArticleID=4494
Well… according to you we should all be eating s*it now, afterall 10^8 flies can not be wrong, right?
If it ain’t broken don’t fix it, plus a large percentage of healthcare systems actually run OpenVMS in case you did not know.
VMS is also being ported to Itanium, so chances are that custormers will port over to the new IA64 when the Alphas get too long in the tooth rather than rewriting apps for a totally new and unfamiliar architecture. Chances are that HP will be around tomorrow, not so sure about SUN.
Actually a lot of mision critical systems run on VMS, and they do not plan to ever port to anything else. A large portion of chip fabs actually run on this OS. Again, if it ain’t broken don’t fix it.
Sometimes is just annoying to see zealots trying to reinvent the wheel for no apparent reason. Linux maybe a good system, no doubt about it, but it is not likely that it will replace VMS by a long shot. Different markets and different philosphies, trying to map everything into Unix is almost as dangerous as trying to map everything into Windows. You end up redoing and reinventing way too manythings, when the existing solution worked like a charm.
Thanks Anonymous.
🙂
> Linux maybe a good system, no doubt about it, but it is not likely that it will replace VMS by a long shot.
If Linux won’t replace VMS, than Unix most definitely will. VMS is already quite defficent in terms of serious hardware it can support and therefore the HA features that go along with it. On the other hand Unix has matured so much over the years that Solaris, AIX and HP-UX (mostly Solaris though) can easily match mainframes in terms of HA and beat mainframes/minicomputers over and over again in performance, there is not even a point to keep VMS unless you’ve invested so much in the platform that it is almost impossible to get off of it.
I wrote that eventually they’ll have to update their systems. That seems quite obvious, and is not zealotry of any kind. Rather, sticking to an outdated OS reeks of fetichism to me…
There are many “not broken” things that get replaced every day in all sorts of environments. Airplane parts get replaced, for example, even if they are still perfect. Why? Because one doesn’t want to see them failing in flight. I also saw a large number of 8″ floppy drives being thrown out, and they were perfectly functional. Thankfully nuclear missiles get decomissioned, even though they are still “functional”.
Summarizing, there is a large number of reasons to update from VMS to something else.
Your analogy is seriously flawed!
Both examples you stated are HARDWARE of physical items that degrade over time and use, and lose predictability in terms of operation over time: they’re “perishable” on a fairly long timescale.
Software, however, doesn’t degrade with time. It requires programmers to get their hands dirty before it loses its functionality by the introduction of bugs. Software doesn’t suffer from “Bit Rot.” As long as the software still meets the needs you got it for, and your needs haven’t changed, there’s no value in replacing your working system for something that’s not 100% proven.
Now, if you were to state that you were “updating” from VMS to something else simply because you can’t find people around that know the system well enough to maintain it, that’s a completely different situation: that’s still not a reason to replace VMS or the software you run on it due to it degrading or becoming obsolete over time, but rather a case of something being so reliable that the human maintainers become obsolete! Well, at least they’ve moved onto greener pastures in terms of either retirement, or some other system that gives them more to worry about.
As long as OpenVMS exists and is ported, and as long as a way exists for the original software to be run, it’s hard to justify from a business standpoint why one should replace something that’s boringly reliable with something that’s not 100% proven. Most businesses are very happy to have boring predictability in their infrastructure: it allows them to make plans that have fewer unknowns to mess up their calculations.
There is an excellent VAX software emulator that can run VMS so if a particular shop wants to stick with VMS they can run it on new hardware via emulation.
i was wondering didnt the kernel never get updated ? if so how did they manage to avoid rebooting ?? what about drivers etc..
Snake
I have an Alpha system that dates back to 1999. I had installed Linux but had wiped it and put on Windows NT Alpha Edition. That is a solid system and Im kinda sad Microsoft cut support for the Alpha in future versions of Windows. Anyone can say what they want about DEC and Compaq but they put out really reliable, solid systms in the Alpha line. I never had the chance to run OpenVMS and I doubt the new versions will run on my machine.
“There is an excellent VAX software emulator that can run VMS so if a particular shop wants to stick with VMS they can run it on new hardware via emulation.”
Except that most business run VMS for its reliability, so you are proposing to run an emulator, that adds its own quirks, on an OS which has its own quirks, that runs on commodity HW with its own quirks. Gee, where do I sign up!
“On the other hand Unix has matured so much over the years that Solaris, AIX and HP-UX (mostly Solaris though) can easily match mainframes in terms of HA and beat mainframes/minicomputers over and over again in performance, there is not even a point to keep VMS unless you’ve invested so much in the platform that it is almost impossible to get off of it.”
Gee, you don’t even know what VMS does… but that doesn’t stop you from claiming that it is outdate. Funny that you propose UNIX which is an even older OS to replace VMS because it is old! LOL, this is the same mindset that ran in the late 80s. The mainframe is dead! Problem is that IBM has never sold more mainframes than during the past few years. Wonder why?
OSs are tools, so chose the one that fits the bill. This zealotry is laughable because for some of you everything looks like a nail because you only have experience with a hammer.
“Summarizing, there is a large number of reasons to update from VMS to something else.
Yet you don’t give a single example…
It is clear that most of you have not even touch a VMS system…
“I never had the chance to run OpenVMS and I doubt the new versions will run on my machine.”
OpenVMS 7.x for Alpha supports most alpha HW down to the 3000 line (Which were the first Alpha machines), so chances are that your system is supported. A couple of framebuffers do not have support so you may have to check the compatiblity list. The VAX version still supports HW from the mid 80s!
There is a hobbyist program where you can get the OS for the cost of the media, if you want to check it out. Pretty cool deal… check’em out:
http://www.montagar.com/hobbyist/
“Actually, Alpha/VMS continues to lead the way when it comes to availability, disaster recovery and security. ”
What kind of idiot would run anything less? Proven hardware and proven software. Sound business practice.
I can make some comments here about this, as I am from this area.
Einstein, like every other major health system in this area, runs the software that is absolutely mission critical on either z/OS or OpenVMS. They’re a division of a much larger entity, the Thomas Jefferson University Health System. The organization as a whole has the money to do whatever they want, but chose to stick with OpenVMS.
To give you an idea of the scope, there are four university-affiliated chains that are a large portion of the Philadelphia area health care market: Jefferson, UPenn, Temple, and Drexel. I can personally verify that two of those remaining three are still running z/OS for most of the critical items.
You won’t find nice-looking software here, but you will find code north of 20 years old running all the processes required to support clinical systems.
The big automakers, Ford especially, are going to keep running many of their systems on OpenVMS for that same reason. It’s reliable, and it works.
Old and legacy are in there somewhere, but probably not first. How about proprietary, buggy, slow, monolithic, and arcane?
But don’t take my word for it, go use it (I have suffered vms for years): http://deathrow.vistech.net/ should leave a nice bitter taste.
It won’t be long before you would rather gouge your eyes out than deal with the vms cli. Has it even been updated since 1978? Used to bouncing on the tab key to complete filenames and commands? Forget it. Pretty handy with regular expressions? You won’t find much use for that skill on vms. Think you should be able to mix and match utilities to solve unique problems? Good luck! You want to get the output of one script into another? Silly you.
On the other hand, if you have ever been pissed about how easy it is to delete a directory tree in unix, then vms might be for you. If you have ever been annoyed at how easy it is to create a directory hierarchy with more than eight levels, then vms might be for you. If you believe that someone stupid enough to put a few _thousand_ files in a single directory deserves to wait for minutes if they later set default to that directory, then vms might be for you. And god help you if you try to alleviate the problem by, wait for it, deleting some of the files.
Work with vms for a while and you will become convinced that a digital engineer would prefer the 1000 line solution to the 100 line solution every time. All the apis and utilities are needlessly complicated. And you don’t even want to know about the filesystem. Pull up your source code in your favorite editor (your favorite editor is edit/tpu isn’t it?), make a few changes, and then save it. You didn’t change the file, you made a new and slightly different copy of the file! Apparently this “feature” is there to support undo. Undo would be an awesome feature of a filesystem! But the implementation is horrible: save a copy of the entire file for every minor change, don’t provide good utilities for browsing changesets and applying them, and force every interaction with the filesystem to explicitly reference a particular “version” of the file.
I could go on forever. Literally. But I’ll stop after I point out one more thing. Vms has this “great” filesystem that natively supports indexed files. Here is the documentation:
http://h71000.www7.hp.com/doc/731FINAL/4523/4523PRO.HTML
Go write a program that uses it. *evil grin*
For extra credit, actually use vms to write the program.
Hey, I’m just trying to be helpful. I know there are some masochists out there that will really appreciate this challenge. I do what I can to help. That’s just me.
I’m not bitter.
Soooo… you want a Unix shell. Jeez, then use unix by all means.
We could play the same game:
http://www.art.net/~hopkins/Don/unix-haters/ls.html
As stated before OS’s are tools with their strengths and weaknesses, someone did a much better job than me at pointing at VMS and Unix characteristics:
http://www3.sympatico.ca/n.rieck/docs/vms_vs_unix.html
DCL has a syntax that is nowhere near a csh or bash interpreter? Does it make it worse, not really… it’s just different. Deal with it, all of the sudden Unix is the benchmark for user friendliness, whatever….
“On the other hand, if you have ever been pissed about how easy it is to delete a directory tree in unix, then vms might be for you.”
Seriously, that’s a great reason to switch from Unix to VMS. If your data is important, you’d want some kind of check against ‘rm * .foo’ instead of ‘rm *.foo’, among countless other great ways to accidently wipe your whole Unix system with a typo.
Commands should be clear–even if verbose. They should verify the intent of any dangerous operation–even if it becomes annoying. Do NOT rely on a backup image to be your only safety net.
I love the unix haters handbook. It is hilarious. All of the unix fans I know like it as well. Definitely go read it if you haven’t.
I love Linux, but I would be first in line to bitch about many things. NFS for example.
I also think vms and most unixes have one major drawback in common: they are both proprietary.
> all of the sudden Unix is the benchmark for user friendliness, whatever
Pretty much for me. I am one of those people who finds a Windows box to be crippled and unusable until I install Cygwin on it. I have no use for a word processor, and I find WYSIWYG distracting.
For me vms is as user hostile as user hostile gets. Apparently not for you. Don’t worry, I have a few friends that are twisted in the same way.
I do think it’s fair that if we are going to talk about how stable vms is, we also mention there are plenty of well known bugs that never get fixed, and probably never will. That is in part the price of stability.
And if we talk about how secure vms is, then we should talk about how complicated the privilege system is as a result. This shouldn’t be a surprise. SELinux certainly adds complexity in the Linux world. Similarly if we mention filesystem advantages, it is worth mentioning the problems.
Would you argue with me if I said the system call apis are inelegant, at best, if you are a C programmer? For all I know they are heaven if you are a Bliss programmer. But, it shouldn’t be a surprise that C programming in *nix is more natural than it is in VMS.
> Commands should be clear–even if verbose. They should verify the intent of any dangerous operation–even if it becomes annoying. Do NOT rely on a backup image to be your only safety net.
Heh. That is exactly the vibe I get from vms. Digital/Compaq/HP knows best.
I think the fact that most sites have a deltree script/symbol/eigen utility is indicative that the vms engineers don’t always know best.
To each his own, I guess.
As I’ve mentioned before, I worked at DEC on OpenVMS for a time (by that I mean I was a bug-fixer for OpenVMS) and I can tell you that any bugs found were taken extremely seriously. OpenVMS was solid as a rock (and I imagine still is). I made bug fixes for 7.0 through 7.2. Some may have been back-ported to 6.x because of their nature.
It was a lot of fun and very a very professional development environment. Lots of very very smart people working there. (Myself not included).
The comparison “Anonymous” made of WinNT to VMS is very bogus. ;/ And the proof is in the pudding, so to speak… so many financial institutions, large professional organizations (NBA for example), research organizations, etc. still use VAXes or at least VMS on some platform because of the stability, speed and power.
Some of the compilers on VMS are THE BEST to be found… their FORTRAN compilers, COBOL, BASIC, Ada, etc… C and C++ are no slouches either. All highly optimized.
A funny story… once a friend of mine wanted to know which compiler was fastest on VMS… he wrote a program that basically counted to 10000 in a loop and printed the results, and the amount of time it took to run. (this was in the early 90s)…
He wrote one in C, one in BASIC and one in FORTRAN… now, I KNOW the numbers are wrong here for times (except for 1) so don’t point fingers and call me a liar or soemthing… but the BASIC program finished in something like .04 seconds. It took longest because it automatically loaded extra string handling junk. C took .02 seconds but the FORTRAN program finished in 0.0 seconds!! He checked the compiler list output and found that the FORTRAN compiler optimized out the loop and simply printed the result!
Anyway… I ramble. VMS = greatest mainframe OS… BeOS = greatest desktop OS…
Mike
The article is simply proof of an adage more people in the IT world need to learn:
If the tool you are using right now does the job with no problems, you don’t replace it just because there’s something new.
>i was wondering didnt the kernel never get updated ? if
>so how did they manage to avoid rebooting ?? what about
>drivers etc..
>
>Snake
Spoken like a child of the Linux generation, where kernel and driver changes are done almost in sync with the owners mood ring.
If the kernel works and is secure… as it is… why do you need to update it?
Same with drivers. If the drivers that are installed in the first place work with the existing hardware, and you don’t change the hardware/tech base… Where do drivers come into the equation?
As Jefro pointed out, proven hardware/software that has needed no changes for a decade sounds like solid business practice and good IT sensibility. You get the tools that do the job you need done, and then you stick with it.
Reminds me of the gift shop one of my clients (a non profit museum) has, that I did repairs to about four years back.
(This is a riot!)
They had a 10mhz AT with three Alloy slave 16N cards running DOS 3.3 on a 20 meg MFM drive. (YES, PC-DOS!). The ‘cash registers’ were nothing more than Wyse-30 dumb terminals with the bell connected to the drawer (so you send ASCII $07 and the drawer opens). Application driving it was custom written for them by a long defunct company in Borland Paradox 3. (which had been upgraded to paradox 4 in ’90-91 ish for Y2K compliance according to their controller) Apparantly they had been running this setup since 1989 with no issues.
First, I noticed it was too quiet. It was on, but there was no noise. I open the case and it is pristine… no dust. Apparantly it went quiet a year after they got it and nobody thought anything of it. Power supply fan was blown. Old-style full sized AT power supply? Thank god for my spare parts box… Still didn’t work right… This thing ran for a decade up 24/7 no crashes with no power supply fan!?!?!
Turns out, the reason it wasn’t working was they ran out of disk space… I dug through my spare parts bin and came up with a ISA IDE controller and a 80 meg WD. Had to partition it as two 33’s and a 6. I put the application on the 6, the data on the second 33 separate from the OS and alloy drivers on the primary. Glad I remember enough Paradox to re-point everything where it needed to go, and I WISH most problems were that easy to fix. I was at their admin offices working on their main network and their registers are still going strong.
Should last them another decade.
It’s why when I hear about OS like Win2K or XP on a cash register I cringe.
“If the kernel works and is secure… as it is… why do you need to update it?”
Because the new version is faster? Because code that was “secure” last week often turns out to be “vulnerable to a blindingly simple attack” next week? Because you’ve just doubled the load on that system and now it needs 2 more CPUs and gigabit ethernet? Because hardware has a finite life, and nobody makes new Alpha CPUs anymore?
“Because you’ve just doubled the load on that system and now it needs 2 more CPUs”
Then plug them in while it’s running. There is no need to power down or recompile for this with VMS.
“Because code that was “secure” last week often turns out to be “vulnerable to a blindingly simple attack” next week?”
Find one of these bugs. Surely they exist, but they did a great job of making them scarce from the beginning.
–rant mode on–
The VMS kernel isn’t perfect, IMO. It’s still a monolithic kernel and I believe that this still requires a reboot to update. (But you never know about these people. )
The microkernel is just better for high uptime. Everything but a few schedulers or message passing chunks are in user-mode and can be configured, restarted, added, updated, etc. without worry or reboot. Also, with user-mode memory protection, faulty code can just die and be rebooted automatically by the system. Instead of killing your machine, it might (at worst) hiccup.
–rant mode off–
> Because the new version is faster?
Then the original wasn’t very well written, was it?
> Because code that was “secure” last week often turns out
> to be “vulnerable to a blindingly simple attack”
> next week?
You know, I don’t remember 99% of this security attack bull fifteen years ago, but then we didn’t even HAVE the internet. I still think it is retarded for any company to put anything they are worried about for security available to an outside connect. Of course, you want security and HAVE to connect to the Web? Try a cpu that is not binary compatable with 99.9% of the rest of the world running a non-standard OS. It is part of why I’m against putting any ‘portable’ languages like Java or .NET on servers – You are just opening the door for them. It is a bit like the old joke about TWA vs. Delta airlines in regards to terrorists: “Those Wacky Arabs” vs. “Don’t Even Let Them Aboard”.
VMS from the start has always had this amazing level of “Don’t even let them aboard” isolating ANYTHING that could be used to hack the system from a logged in user… Unless of course you have admin rights. Heck, if memory serves users aren’t even allowed to delete THEIR OWN FILES by default. (They may have changed that – it’s been about a decade since I used it last)
> Because you’ve just doubled the load on that system
> and now it needs 2 more CPUs and gigabit ethernet?
Then the tool at hand is no longer doing the job, which was NOT part of the discussion. If you buy five times your needs in the first place this is rarely an issue. It is a matter of where it is used. In a retail environment with a hundred users (registers, multi-store), the load rarely if ever increases – In fact, for a simple terminal app (where OpenVMS excels) a single Alpha 200 box would be overkill for a thousand users.
In fact, that hits on something that currently bugs the @#$5 out of me! Ten years ago you could run five hundred concurrent users off a 486/66 with netware 3.12 and no issues of stability, speed or security – Doing THE SAME TASK today is bogging down a quad 2ghz box with a hundred users – with security and stability issues galore??? You don’t need a gui to run a @#$5ing cash register.
> Because hardware has a finite life, and nobody makes new Alpha CPUs anymore?
There’s the only real problem – when it dies replacing it is a bitch, but that’s true of anything. Five years is total hardware obselecence, something that I keep waiting to give in the business world and for people to say “Enough is enough”.
Every day I see more and more “overcomputing” – The use of sledge hammers to solve fly sized problems… Problems so simple (cash registers, lottery and vending machines) fifty lines of code on a $30 Basic Stamp would do the job, so why the Win98 box?
The more complex you make the system, the easier it is to find something to exploit – Again someplace the KISS theory seems to go over people’s heads.
“In fact, that hits on something that currently bugs the @#$5 out of me! Ten years ago you could run five hundred concurrent users off a 486/66 with netware 3.12 and no issues of stability, speed or security – Doing THE SAME TASK today is bogging down a quad 2ghz box with a hundred users – with security and stability issues galore??? You don’t need a gui to run a @#$5ing cash register.”
I’m of the exact same opinion.
“Because you’ve just doubled the load on that system and now it needs 2 more CPUs.”
I almost forgot. VMS invented clustering. Just add an old cheap one to it if you’re full of CPUs on the first.
VMS Clustering has been around for 20 years now. The ability to add & remove systems to/from the cluster on the fly as needs demand is a fantastic feature. These systems do not even need to have their own HDD as they can share a common one so there are not problems about having to build the system(you know, install lots of apps, O/S patches and many reboots)
Cool Eh?
Then the ability to have a rolling O/S upgrade over the whole cluster. Here you upgrade one system to the new release and then still keeping the cluster running and thus all the services available to the users, you then roll the upgrade through the other nodes via a simple reboot of that node.
These are all features that are vital to keeping mission critical SERVERS and their services running. It is not a desktop system. VMS Systems live in the data centre.
For those who think DCL is a pain in the neck, then consider the follwoing two points.
1) Have you ever used the 3270 panels on Z/OS? Now these are arcane BUT they work so if it ain’t broke why fixit?
2) On unix the use of the alias command is very powerful but also dangerous. Some hacker could change the cp command to do an rm. How many UNIX/LINUX users amongt the readers check their aliases every time the log into the system? I certainly don’t.
I can bear with any quirk of DCL, but why on earth is the CLI limited to 256 chars? This is broken and should have been fixed decades ago!