|
|
VMS
(UNIX's younger brother) |
UNIX (VMS's older
brother) |
historical
overview |
- VMS was
first released 1977.10.25 for the
32-bit VAX-11/780 (manufactured by Digital
Equipment Corporation a.k.a. DEC)
- Rewritten in 1992 for the 64-bit
Alpha (Digital Equipment Corporation) and renamed
OpenVMS
- DEC
was purchased by Compaq in 1998.
- 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).
- On 2001.06.25 Compaq announced they
will port OpenVMS to Intel's Itanium
(IA-64) processor.
- Compaq merged with HP
on 2002-09-03
(but will still be called HP)
- 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)
- 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)
|
- 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:
- 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)
- 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)
- Ported to Interdata 8/32 and IBM 360 in 1977
- Ported to VAX in 1978 (mostly by
Bill Joy)
- TCP/IP added to VAX UNIX in 1980
- Since UNIX was free to Universities, the UNIX OS was probably
responsible for quite a large number of PDP sales.
|
|
name |
- Name means
Virtual Memory
System
This name seems suspiciously similar to IBM's MVS (Multiple Virtual Storage) OS
|
- 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 |
- Extensive understandable on-line help in English. Other
languages include:
Thai, Hanzi (Chinese), Hanyu (Chinese), Hangul (Korean)
- Hebrew is supported in certain layered products like Motif and
All-In-One.
Note: there may be more languages I don't know about.
|
- 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...
- ... 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.
- ... 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...
- 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
- Universities had
access to the source code which was
then used to teach computer system design to engineering students
- Universities, like Berkeley, modified it and then re-licensed it
to corporations for token fees (because
schools are for learning; not for profit)
- Universities, working with DARPA, developed TCP/IP networking
for it which is the basis of today's Internet
- 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)
- 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 |
- EDT
(invoke by entering: $edit/edt)
- EVE (Extensible VMS Editor)
has no width limit
(invoke by entering: $edit/tpu)
- TECO
(invoke by entering $edit/teco)
|
- ed
(very primitive line editor at the same level
as TECO which was first used by DEC on early PDP machines)
- vi
(literally is a video screen version of 'ed')
- xedit
available from x-windows, CDE, KDE (Linux), or Gnome
|
|
file systems |
- 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)
- Directories are kept sorted (good for directory searches but
adds overhead to file creation/deletion)
- 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)
- Advanced lock queuing via the "Distributed Lock Manager" (works
across clusters) ensures every process gets access to shared
resources without spin locking
|
- Directories easily span storage devices (or
host machines with NFS)
- No built in support for relative or indexed files
- No advanced lock management (access to shared resources is
usually by spin locking)
- MFS (memory file system) allows a fully functional file system
to exist in memory. Very cool.
- AdvFS (advanced file system) is only currently available on
Tru64 but should appear on HP-UX by 2004.
|
| command interpreters/ command shells |
- 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:
- Bourne Shell
- C Shell
- Korn Shell
- BASH (Bourne Again Shell) which is very popular on Linux systems
|
| Command Shell Syntax Observations |
-
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)
-
A <space> is considered
command punctuation while a <comma> is considered a list separator.
Examples:
- 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.
- 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
- 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 *.logThis command will allow you to execute the same command recursively
into the current directory including subdirectories
$ purge/log/keep=3 [...]*.log
|
-
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)
-
A <space> is considered a
list separator
Example:
- 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 |
- An extensive batch processing engine is built in (supported by
DCL)
- DCL scripts can be run interactively or submitted to a batch
queue
- By default, batch queues are visible to everyone on the system
(great for system management)
|
- Crude batch processing via the CRON interface
- You need access to the CRONTAB of specific users in order to
view/debug queuing parameters (bad for system management)
- OpenVMS style batch processing support is available from 3rd
party vendors (this is changing for Tru64)
|
|
spooled devices |
- Adding spooled devices (like printers) is almost child's play
- By default, print queues are visible to everyone on the system
(great for system management)
|
- Adding spooled devices is very difficult without GUI tools
|
variables /
logical
names |
- Variables (DCL symbols) can be declared as global or local.
Global symbols allow a process to share data with their respective
sub-processes
- "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
|
- Exported variables allow shells to share information with their
sub-shells
- To the best of my knowledge, no "logical name" concept exists anywhere in the UNIX world
|
system
tuning |
- System parameters are changed via the SYSGEN tool
- 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 |
- 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.
|
- 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
- limited boot (via conversational boot)
then dropping into SYSBOOT to set SYSGEN parameter STARTUP_P1 =
"MIN"
then typing CONTINUE
- 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 |
- 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 |
- 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...
- 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)
- The marketplace realizes that the price of Alpha and Itanium hardware has
already dropped significantly compared to VAX
- 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)
- 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:
- Semiconductor Manufacturing
- Medical (HMOs etc.)
- Military
- Intelligence Community (NSA etc.)
- Telephony
- Nuclear
- Banking Industry
- Investment, Securities, and Clearing
- Lottery
- Automobile/Automotive Parts Manufacturing
- Steel and Aluminum Production
- Chemical Industry
- Pulp, Paper, Packaging and Forest Products Industry
- Glass Industry
- Pharmaceuticals
- Textile Industry
Click
here for more details.
|
already is popular in various flavors...
-
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
-
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
-
the 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.
- HP-UX
by
Hewlett-Packard (HP)
- 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.
-
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.
- Solaris
and SunOS by
Sun
Microsystems
-
BSD (Berkley Standard Distribution)
-
SCO
UNIX by the Santa Cruz Operation
-
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.
- 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)
- Mac
OS X by Apple
|
|
misc
info |
- 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)
- 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.
- 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)
- 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.
|
- 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)
- 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.
- 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.
- 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.
|
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:
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.
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.
(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.