"OpenVMS vs. UNIX" (antagonists or brothers?)

updated: 2013-10-03

 How "UNIX on PDP" helped start the ARPANET/Internet

Technologies that helped promote 'UNIX on PDP' (which led to the Internet)

Internet Diagrams (to see the dominance of PDP hardware)

Other Links

 VMS vs. UNIX Comparison Table

  VMS (UNIX's younger brother) UNIX (VMS's older brother)
historical
overview
  1. VMS was first released 1977.10.25 for the 32-bit VAX-11/780 (manufactured by Digital Equipment Corporation a.k.a. DEC)
     
  2. Rewritten in 1992 for the 64-bit Alpha (Digital Equipment Corporation) and renamed OpenVMS
     
  3. DEC was purchased by Compaq in 1998.
     
  4. As of 2001, Compaq still supports OpenVMS on both VAX and Alpha hardware platforms (but no new VAX hardware has been manufactured since 2000.09.30).
     
  5. On 2001.06.25 Compaq announced they will port OpenVMS to Intel's Itanium (IA-64) processor.
     
  6. Compaq merged with HP on 2002-09-03 (but will still be called HP)
     
  7. On 2003.01.31 at 15:31, OpenVMS engineering achieved "first boot" on Itanium (their definition of this phrase requires a boot up, log in, then execute the directory command then receiving the correct response all commands without a crash)
     
  8. On 2003.06.30 HP pre-released copies of OpenVMS 8.0 for Itanium to ten preferred customers. (the first general release will be OpenVMS 8.2)
  1. First written using "PDP assembler" in 1969 by ATT's "Bell Labs" for the 18-bit PDP-7 and 16-bit PDP-11/20 minicomputers (both manufactured by Digital Equipment Corporation)

    Cool Bell-Labs Links:
  2. Rewritten in "C" in 1972 ("C" originally was, and still is, nothing more than a portable assembler; this is the main reason why UNIX is usually the first OS ported to any new computer hardware architecture)
     
  3. Only ran on DEC machines for the first 8 years of its existence (so contrary to popular myth, DEC people don't hate UNIX - although DEC founder Ken Olsen did hate UNIX and so die VMS OS developer Dave Cutler)
     
  4. Ported to Interdata 8/32 and IBM 360 in 1977
     
  5. Ported to VAX in 1978 (mostly by Bill Joy)
     
  6. TCP/IP added to VAX UNIX in 1980
     
  7. Since UNIX was free to Universities, the UNIX OS was probably responsible for quite a large number of PDP sales.
name
  1. Name means Virtual Memory System
    This name seems suspiciously similar to IBM's MVS (Multiple Virtual Storage) OS
  1. Named because it was meant to be a single (Uni) user version of the Multics operating system which was developed by "General Electric" and MIT
online help
  1. Extensive understandable on-line help in English. Other languages include: Thai, Hanzi (Chinese), Hanyu (Chinese), Hangul (Korean)
     
  2. Hebrew is supported in certain layered products like Motif and All-In-One.

    Note: there may be more languages I don't know about.
     
  1. On-line help (in the form of "man" pages) are difficult to understand even if English is your first language and you're a techie
popularity much less popular than UNIX because...
 
  1. ... of sky high license fees by DEC (many industry professionals commented that DEC's choice of '$' for the standard DCL prompt was appropriate)
     
    • license fees improved when Compaq purchased DEC but OpenVMS marketing by Compaq was almost non-existent. However, Compaq did see fit to allow the start up of the OpenVMS hobbyist group as well as loosen up the OpenVMS Educational Program
       
    • marketing has improved since HP took over Compaq. In 2003, HP claimed the OpenVMS business was growing 10-12% per year.
       
  2. ... initially DEC (Ken Olsen) refused to put TCP/IP on OpenVMS (this was first done by 3rd party vendors like SRI, TGV, Wollongong, and Process Software). DEC engineers had ported TCP/IP libraries from BSD into ULTRIX calling it UCX (Unix Communications eXtensions). After Compaq purchased DEC, UCX morphed into a product called "TCPIP Services for OpenVMS". Process Software now is the provider of two OpenVMS stacks, TCPware and MultiNet.
very popular because...
 
  1. ATT licensed it to universities for free (or almost free if you were outside the USA) which introduced a whole generation of future MIS staff to it
     
  2. Universities had access to the source code which was then used to teach computer system design to engineering students
     
  3. Universities, like Berkeley, modified it and then re-licensed it to corporations for token fees (because schools are for learning; not for profit)
     
  4. Universities, working with DARPA, developed TCP/IP networking for it which is the basis of today's Internet
     
  5. In the case of free UNIX today, companies make money supporting customers with UNIX installations (i.e. support companies have a vested interest in keeping the "man" pages cryptic)
     
  6. Now that anyone can get access to Linux source code, it has become a product which is being improved by the brightest minds in the world.
built-in text editing
  1. EDT
    (invoke by entering: $edit/edt)
     
  2. EVE (Extensible VMS Editor) has no width limit
    (invoke by entering: $edit/tpu)
     
  3. TECO
    (invoke by entering $edit/teco)
  1. ed
    (very primitive line editor at the same level as TECO which was first used by DEC on early PDP machines)
     
  2. vi
    (literally is a video screen version of 'ed')
     
  3. xedit
    available from x-windows, CDE, KDE (Linux), or Gnome
file systems
  1. Can have multiple (up to 32k) versions of the same file name (which makes possible the easy introduction of new program executables without a reboot)
     
  2. Directories are kept sorted (good for directory searches but adds overhead to file creation/deletion)
     
  3. Built-in RMS (Record Management System) provides native support for stream (non-record), sequential, relative and indexed files. (Indexed files can contain up to 255 keys but you rarely encounter more than 4)
     
  4. Advanced lock queuing via the "Distributed Lock Manager" (works across clusters) ensures every process gets access to shared resources without spin locking
  1. Directories easily span storage devices (or host machines with NFS)
     
  2. No built in support for relative or indexed files
     
  3. No advanced lock management (access to shared resources is usually by spin locking)
     
  4. MFS (memory file system) allows a fully functional file system to exist in memory. Very cool.
     
  5. AdvFS (advanced file system) is only currently available on Tru64 but should appear on HP-UX by 2004.
command interpreters/ command shells
  1. DCL (Digital Control Language) which is a command line/batch interface with a name that is suspiciously similar to IBM's JCL (Job Control Language)
More than 20 shells which drop into 4 flavors:
  1. Bourne Shell
     
  2. C Shell
     
  3. Korn Shell
     
  4. BASH (Bourne Again Shell) which is very popular on Linux systems
Command Shell Syntax Observations
  1. DCL's philosophy assumes the user is tired, hasn't had enough coffee, and is making mistakes. Every command is "syntax checked" and the whole line is bounced if a single error is detected. (this is humble and much more desirable, especially in a business environment where data losses can't be tolerated)
     
  2. A <space> is considered command punctuation while a <comma> is considered a list separator.

Examples:

  1. Suppose you want to delete all files with an extension of "junk" but you accidentally enter (notice the space between the asterisk and the period)

    $ del * .junk;*

    This command will return a syntax error and immediately stop.
     

  2. Suppose you want to delete all files with an extension of "junk" or "log", and you want interactive confirmation on every delete, and you want to log your actions

    $ del/confirm/log *.junk;*,*.log;*

    Note: a semi-colon is the version specifier so ";*" means all versions
     

  3. Suppose you wish to delete all multiple versions of a file with the extension of ".log" but you wish to keep the 3 most recent versions

    $ purge/log/keep=3 *.log

    This command will allow you to execute the same command recursively into the current directory including subdirectories

    $ purge/log/keep=3 [...]*.log

  1. UNIX shells assume the user is not tired and intends everything that is typed. (this is very arrogant and dangerous but is also very fast)
     
  2. A <space> is considered a list separator

Example:

  1. Suppose you want to delete all files with an extension of "junk" but you accidentally enter the following command (notice the space between the asterisk and the period)

    # rm * .junk

    This command will first delete all files then (jumping to the next item in the list) will delete all files named ".junk". If you happened to enter a "-r" switch after the "rm" command, all the directories under your current position will be recursively deleted. If you were in the root directory, you could wipe your whole disk!
batch processing
  1. An extensive batch processing engine is built in (supported by DCL)
     
  2. DCL scripts can be run interactively or submitted to a batch queue
     
  3. By default, batch queues are visible to everyone on the system (great for system management)
  1. Crude batch processing via the CRON interface
     
  2. You need access to the CRONTAB of specific users in order to view/debug queuing parameters (bad for system management)
     
  3. OpenVMS style batch processing support is available from 3rd party vendors (this is changing for Tru64)
spooled devices
  1. Adding spooled devices (like printers) is almost child's play
     
  2. By default, print queues are visible to everyone on the system (great for system management)
  1. Adding spooled devices is very difficult without GUI tools
variables /
logical
names
  1. Variables (DCL symbols) can be declared as global or local. Global symbols allow a process to share data with their respective sub-processes
     
  2. "logical names" come in four flavors: process, job, group, system, cluster. A system level logical name can be used like a system-wide variable to share information between unrelated programs and a reboot isn't required to make changes take effect
  1. Exported variables allow shells to share information with their sub-shells
     
  2. To the best of my knowledge, no "logical name" concept exists anywhere in the UNIX world
system
tuning
  1. System parameters are changed via the SYSGEN tool
     
  2. The system gathers running statistics and saves them in a feedback file to be used by the sys$update:AUTOGEN tool
 (more information coming)
resource management
  1. All OpenVMS processes (system and user) are forced to engage in quota-based resource management. A process may want to spawn forever or request use of the whole page-file but will not be allowed to do so.
  1. While it is true that UNIX didn't have quota-based resource management for quite some time, this feature began to appear in the mid to late 1990s
run levels only two levels
 
  1. limited boot (via conversational boot)

    then dropping into SYSBOOT to set SYSGEN parameter STARTUP_P1 = "MIN"

    then typing CONTINUE
     
  2. full boot:

    the starting system executes DCL script:

        sys$manager:SYSTARTUP_VMS.COM

 

Four commonly used UNIX levels: 0-6

0 = firmware
1 = single user
2 = multi-user (no networking)
3 = multi-user with networking
4 = see "man init" for info on your UNIX
5 = see "man init" for info on your UNIX
6 = see "man init" for info on your UNIX
S = see "man init" for info on your UNIX

For example, when the system is at level 1 the manager enters "init 2" or "init 3" to open the system to others.

startup
scripts
  1. sys$manager:SYSTARTUP_VMS.COM
various startup (S) scripts in "level directories"
eg. executing "init 3" would access scripts in directory "rc3.d"
shutdown scripts
  1. sys$manager:SYSHUTDWN.COM
various shutdown (K) scripts in "level directories"
eg. executing "init 0" would access scripts in directory "rc0.d" before jumping to firmware level
future will only become more popular if...
 
  1. HP drops the price. Remember that Open Source operating systems like Linux are downloaded for free. (For example, check out products like Fedora Red Hat and Ubuntu)
     
  2. The marketplace realizes that the price of Alpha and Itanium hardware has already dropped significantly compared to VAX
     
  3. OpenVMS is ported to other processor platforms like Intel's IA-32 family. (Sun has an IA-32 versions of Solaris which was originally written for SPARC hardware)

    This is not as ridiculous as you would first think. Both AMD and Intel have added 64-bit extensions to IA-32 which industry insiders refer to as x86-64 (a.k.a. AMD64, Intel 64, EM64T)
     
  4. OpenVMS is ported to Itanium (a.k.a. IA-64). Done!
    Note that first boot of OpenVMS on Itanium took place on 2003-01-31. HP servers containing this technology are known as Integrity Servers

bastions of hardcore OpenVMS popularity:

  1. Semiconductor Manufacturing
     
  2. Medical (HMOs etc.)
     
  3. Military
     
  4. Intelligence Community (NSA etc.)
     
  5. Telephony
     
  6. Nuclear
     
  7. Banking Industry
     
  8. Investment, Securities, and Clearing
     
  9. Lottery
     
  10. Automobile/Automotive Parts Manufacturing
     
  11. Steel and Aluminum Production
     
  12. Chemical Industry
     
  13. Pulp, Paper, Packaging and Forest Products Industry
     
  14. Glass Industry
     
  15. Pharmaceuticals
     
  16. Textile Industry

Click here for more details.

already is popular in various flavors...
 
  1. AIX (derived from OSF/1) by IBM
    • this product started as a cooperative effort between IBM and Digital Equipment Corporation under the Open Software Foundation
    • when DEC and IBM went their own directions, IBM's version became AIX while DEC's version became Digital OSF/1 version 3.x
       
  2. Tru64 version 5.x by DEC/Compaq
     
    • this product started as a cooperative effort between IBM and Digital Equipment Corporation under the Open Software Foundation (OSF)
    • when DEC and IBM went their own directions, IBM's version became AIX while DEC's version became Digital OSF/1 version 3.x
    • DUNIXthe next major release was rebranded Digital UNIX version 4.x (a.k.a. DUNIX)
    • the next major release was rebranded Tru64 UNIX version 5.x
    • In 1998, DEC was purchased by Compaq and is now called the "Digital Equipment Corporation" division of Compaq
    • In 2002, Compaq merged with HP. The new HP didn't want to maintain two flavors of UNIX so they decided to kill Tru64.
       
  3. HP-UX by Hewlett-Packard (HP)
     
  4. ULTRIX (by Digital Equipment Corporation a.k.a. DEC) is officially unsupported as of 1999.12.31. This OS ran on MIPS based processors manufactured by DEC.
     
  5. Linux is available free of charge under GPL (general public license) and is distributed and supported by companies like Red Hat , Mandrake , just to name two. See linux.org for an more extensive list of distributors.

    Note: contrary to popular belief, there is no actual operating system named Linux. Linux is really just a different UNIX kernel with BSD (or GNU) applications tacked on. Read this 'extreme tech' article for more info.
     
  6. Solaris and SunOS by Sun Microsystems
     
  7. BSD (Berkley Standard Distribution)
  8. SCO UNIX by the Santa Cruz Operation
     
  9. QNX by QSSL (co-founded by Gordon Bell and Dan Dodge of Ottawa; this is not the Gordon Bell of VAX/VMS fame)
    - Note: on April 2010, Blackberry maker RIM announce the purchase of the QNX product line.
     
  10. BeOS by Be Inc (which they claim isn't based on UNIX but was only influenced by it. However, It supports grep, awk, Bash shell, etc. and is free)
     
  11. Mac OS X by Apple
misc info
  1. Easier to cluster OpenVMS machines; easier to load balance them (they've been doing it since the early 1980's using the LAT protocol)

    During a 2003-06-xx seminar I witnessed a demonstration where OpenVMS was running in a three-way cluster composed of different hardware architectures (VAX, Alpha, Itanium)
     
  2. Multiple instances of OpenVMS operating systems can run together on the same hardware platform in something known as a galaxy configuration. Different operating system versions are allowed which means that systems may be upgraded with more rigorous testing.
     
  3. The POSIX interface in OpenVMS allows UNIX programs to run with little, or no, modification. One popular example of this is CSWS (a.k.a. Compaq Secure Web Server, a.k.a. Apache web server)
     
  4. Many programs written in "C" for UNIX can run on OpenVMS with little more work than a simple recompile and link. This is due to the HP OpenVMS UNIX Portability Initiative

    This allows valuable products from groups like www.apache.org and www.isc.org to make their way effortlessly into the OpenVMS community.
  1. Most UNIX clusters only use a failover strategy (so one node is usually doing nothing but waiting). However, Tru64 incorporates TruCluster technology which was derived from OpenVMS. All nodes in the cluster participate in load sharing based upon their individual system capabilities (smaller hosts would participate less)
     
  2. Contrary to popular belief, there is no actual operating system named UNIX. UNIX is a generic name which means that "UNIX style operating systems" appear to have many similarities. They also have many differences. One cool variation is GNU which is a method to get around UNIX copyright problems.
     
  3. Contrary to popular belief, there is no actual operating system named Linux. Linux is really just a different UNIX kernel with BSD (or GNU) applications tacked on. Read this 'extreme tech' article for more info.
     
  4. SCO does not own "UNIX"; they only own the source code for the AT&T flavor of UNIX. Click www.opengroup.org for more details.

 Performance Comparison

Although I've never seen a benchmark comparing OpenVMS to any flavor of UNIX, I perceive that the UNIX machines, in general, are somewhat faster doing certain tasks. But a recent IEEE article by retired Intel chip designer Bob Caldwell explains why faster isn't always best. He explains that many times the fastest things in the world are also fragile. Take thoroughbred race horses for instance, their muscles are strong enough and the bones are thin enough to do just one thing; win a short race. They're also high strung, succumb to higher rates of disease, and have a shorter useful life. From my perspective UNIX systems are fast and fragile like thoroughbreds while OpenVMS systems seem more like dependable Clydesdales.

On the flip side, UNIX has no built-in support for relative or indexed file types (see RMS in the "file systems" line above). This means that to do any decent record storage you've only got three options:

  1. design a proprietary indexed record system in the computer language of your choice
  2. install a 3rd party indexed record system (like C-ISAM, Berkeley DB, ICOBOL, etc.)
  3. install a 3rd party database like Oracle ($$$) or MySQL (free) but both products only shine if written in C, C++, or Java.

Also, it is my experience that many UNIX systems need to be rebooted at least once a month just to recover from memory leaks (although this has changed for the better since 2004). On the other hand, I have personally seen many OpenVMS system stay up for years and we only knocked them down when dealing with environmental concerns like moving an associated electrical panel. 

Side Bar:

When I was a younger, I was only concerned with speed and performance. For example, it seemed to make sense to compile UCSD Pascal with many "run-time checks" disabled just to reduce a program's flat-out execution time by a few seconds. (The generation of programmers after me made similar arguments with languages like C and C++)

Now that I'm a little older and hopefully wiser, I can see that my previous view of computing was somewhat reckless. I now know that my younger vision was similar to that of an Indy-500 racer (very high speeds; many crashes; many break downs) while my current view is closed to that of a Chevy (reliable; fuel-efficient; safer).

That said, my Alpha Server DS20e is so fast that I can write safer software in VMS-BASIC and VMS-C, but still can have it run full tilt on a break-neck hardware platform.

 Computer Déjà Vu

I had my first official VMS course ("VMS Commands and Procedures") in 1987 at Digital Equipment Corporation in Toronto, Ontario. We were using VMS 4.2 at that time and I was really impressed with how easy it was to create and manage batch queues, print queues, and do tape and disk backups. On the last day of the course our instructor gave us a little sales pitch about development efforts in clustering, volume shadowing, etc. which were going to appear in VMS 5.0 and we were impressed.

Ten years later in 1997, I had my first official DUNIX course ("Digital UNIX System Admin") at Global Knowledge in Ottawa, Ontario, and to my surprise, the place was filled with ex-instructors from Digital's Kanata training facility. Most of the students in our class were contented OpenVMS administrators whose companies were moving to DUNIX. I remember students asking questions like "when will OpenVMS feature so-and-so be available in DUNIX?" and the instructor would always respond with "That feature is expected in DUNIX 5.x"1. At that time it occurred to me that DUNIX 4.x was probably equivalent to VMS 4.x (with a ten year2 gap between them) and the engineers at Digital were putting their VMS "know how" into DUNIX.

Since then, DUNIX version 4.x was improved and released with the name Tru64 version 5.x, and DEC was purchased by Compaq3. I've played with many UNIX flavours but Tru64 is the best I've seen to date. The Advanced File System (AdvFs) and the Logical Storage Manager (LSM) are two features that I hadn't seen on any other flavour of UNIX.

Superscript Notes:

  1. At this point I wasn't knocking DUNIX. All flavours of UNIX had similar short comings compared to OpenVMS. (I still prefer the OpenVMS concept of batch queues compared to UNIX's cron jobs).
     
  2. This apparent 10 year gap between OpenVMS and UNIX still exists today as UNIX systems are only now developing useful clustering which VMS has had since the early 1980's. Also, the VMS concept of rolling upgrades is only now (2001) starting to appear in some flavours of UNIX.
     
  3. In 2002, Compaq and HP merged into the new HP. Since HP already sells Linux and HP-UX, let's hope they will also continue to support Tru64.

Post Scripts:

  1. In 2003 HP decided they were spending too much money maintaining multiple operating systems (this always happens and is one reason big mergers shouldn't be discouraged by western governments). They claim the HP-UX has a market share of 22% while Tru64 only has a market share of 6% so they've decided to kill off Tru64 after they've moved critical Tru64 modules (like AfvFs, TruCluster, and "distributed lock manager" to name a few) into HP-UX.
     
  2. In 2004-12 HP decided to stop working on the port of Tru64 modules into HP-UX. Customers requiring advanced features have been told to buy third party software from Veritas.
     
    OSF/1 v1.x -+-> Digital OSF/1 v3.x -> DUNIX v4.x ---> Tru64 v5.x ---> toast
                +-> IBM AIX v3.x -------> IBM AIX v4.x -> IBM AIX v5.x -> $$$

 VMS and UNIX Learn From Each Other

Future:

 Official HP Links:

 My Links:

 External Links

ARPA has a network of Supercomputers
(text from picture above)
ARPA has a network of Supercomputers
There are two dozen huge computer systems in the Advanced Research Projects Agency network.
    Over half of them are DECsystem-10s. Our Supercomputer. MIT has two. So does Utah. Then there's Harvard, BBN, Carnegie, Case, SRI, Stanford and Rand.
    Which should give you some idea of how popular our DECsystem-10 really is.
    In the ARPA network, DEC-system-10's are doing state-of-the-art research into global climate dynamics, econometric studies, resource management, computer
sciences, and much more. Everyone shares their computer and expertise with everyone else. Everyone comes out ahead.
    Additional DECsystem-10's will be part of ARPA's mammoth ILLIAC IV number crunching complex now being installed at NASA Ames Research Centre in California. They'll handle all communications while at the same time managing up to a trillion bits of file storage.
Once ILLIAC IV is in gear, ARPA members will be able to do in hours jobs so big that they wouldn't even attempt them now.
    ARPA is one of the biggest brain trusts ever assembled. If half of its members have a DECsystem-10, you really ought to know about it.
    Write for the literature that explains why 62 of the leading universities and research institutions in the country have selected DECsystem-10's. (Hint: It does computation and timesharing at half the cost of other systems -- without sacrificing throughput)
    DECsystem-10 Education Group. Digital Equipment Corporation, 146 Main St., Maynard, Mass. 01754. (617) 897-5111.

Back to OpenVMS
Back to Home
Neil Rieck
Kitchener - Waterloo - Cambridge, Ontario, Canada.