I just can’t help myself
I’m feeling like I’m going out of my head
Uncanny, strange deja vu
But I don’t mind
“Strange Deja Vu” Dream Theater
Micheal Janke at Last In – First Out has this great article entitled “There are some things about computers I really don’t miss…“. It’s a trip down memory lane designed to evoke that “what were we thinking” kind of reaction. Well it certainly had that effect on me, but also made me recall some really outstanding engineering that was going on at the same time. Since October 25th marks the birthday of one of those enormously influential, but incredibly underrated technologies, I decided to write about here. Now see what you’ve started Michael.
Way back in 1977 (October 25, 1977 to be exact) Digital Equipment Corporation released V1.0 of Virtual Memory System (VMS). To set the stage consider the following:
The Commodore PET and Apple II have just been released, the Atari 8-bit family won’t debut until 1979 and the IBM Personal Computer (PC) won’t be released until 1981. And Unix is an interesting toy in universities until it is enabled by the VAX11 architecture in 1978 when by that time there will be a whopping 600 machines running Unix in some form.
VMS or VAX11/VMS as it was initially released, was code named “Starlet” as it was the software companion project to the “Star” project, a 32-bit virtual address extension to DEC’s PDP-11 which ultimately culminated in the VAX 11/780. VMS programmers will recognize the STARLET.OLB and STARLET.MLB system libraries. Now you know where the name comes from. Throughout the years the name and platforms supported have evolved from the original VAX11/VMS V1.0 running on VAX 11/780 to OpenVMS V8.3 running on Alpha and Itanium systems. So what, OpenVMS was cool. What is the big deal? Well, it turns out that along the way VMS pioneered these features:
- Integrated computer networking (originally DECnet and later, TCP/IP)
- Symmetrical, asymmetrical, and NUMA multiprocessing, including clustering
- A distributed file system (Files-11)
- Integrated database features such as RMS and layered databases including Rdb
- Support for multiple computer programming languages
- An extensible shell command language (DIGITAL Command Language)
- Hardware partitioning of multiprocessors
- High level of security
The upshot is that VMS was doing mission critical, highly available and secure computing while Unix was an interesting research topic and Windows NT (which was developed by Dave Cutler a Starlet project alum) was still vaporware. And doesn’t that list above give you some strange deja vu? How about “integrated database features”? Wait – isn’t that like the WinFS feature that was supposed to be in Vista but was shelved until (at least) Windows 7? And I’ve got to tell you that the first time I fired up Windows PowerShell it was definitely deja vu all over again. The irony is that while many nubes are whining that PowerShell is harder to use than a CMD shell, I totally get it. It’s just like a crippled, verbose DCL.
Sure there are some annoying things about VMS. At first. Like automatic file versioning. What VMS programming newby hasn’t run out of disk space with only two small source files before they realized that the system actually saved every version of those files by default. But what experienced VMS frog stomper hasn’t had their bacon saved by a judicious application of that same versioning feature (you just have to set it up right with DCL).
And then there are the stories and legends (at least one of which I know to be absolutely true), that go something like this:
Data center is being upgraded. In the course of cleaning up the IT guys discover an old VAX happily humming away in a closet. Nobody has any idea how long it’s been there or what possible use it could ever have served since a quick look at the console shows it running something called VMS which few of the IT guys have even heard of. So they unceremoniusly power it down. A short time later the help desk gets paniced calls from payroll: the main payroll system has gone off line for the first time ever.
Note: Blatant fishing for comments will ensue.
If you have any great VMS stories I’d love to hear them. Please comment away. I’d prefer that you have actual first hand knowledge of the voracity of the tale – but hey, if it’s good enough what the heck.
So anyway, to get back to the point, a fair portion of our “new and improved” features – particularly security and fault tolerance features – are in reality not so “new” as incremental improvements of, or directly borrowed from earlier systems like VMS. I think it’s a shame that OpenVMS never caught on the way that Unix, and later Linux did. Sure there are some obvious reasons for that, the high end hardware required, and the fact that OpenVMS has always been completely proprietary and very expensive. But you have to admit it’s certainly some excellent engineering.
To end on a high note, OpenVMS is not only still available, but still being actively developed (as far as I know). And you can get a development system to mess around with for a very low cost. Check out the OpenVMS Hobbyist Program.
So Happy 31st birthday VMS! I think I’ll celebrate by trolling the OpenVMS hobbyist site and contacting some of my old buddies in HP in Nashua to see if I can get OpenVMS 8.3 running on my Itanium box.