OpenVMS
From Wikipedia, the free encyclopedia
The OpenVMS mascot. | |
OpenVMS V7.3-1 running the CDE-based DECwindows GUI |
|
Website: | HP OpenVMS website |
Company/ developer: |
Hewlett-Packard and Digital Equipment Corporation |
Source model: | Closed source |
Latest stable release: | 8.3 / August, 2006 |
Kernel type: | Monolithic kernel with loadable modules |
License: | Proprietary |
Working state: | Current |
OpenVMS[1] (Open Virtual Memory System or just VMS) is the name of a high-end computer server operating system that runs on the VAX[2] and Alpha[3] family of computers developed by Digital Equipment Corporation of Maynard, Massachusetts (DIGITAL was then purchased by Compaq, and is now owned by Hewlett-Packard), and most recently on Hewlett-Packard systems built around the Intel Itanium[4] CPU.
OpenVMS is a multi-user, multiprocessing virtual memory-based operating system (OS) designed for use in time sharing, batch processing, real time (process priorities can be set higher than OS kernel jobs) and transaction processing. It offers high system availability through clustering, or the ability to distribute the system over multiple physical machines. This allows the system to be "disaster-tolerant" against natural disasters that may disable individual data-processing facilities. VMS also includes a process priority system that allows for real-time process to run unhindered, while user processes get temporary priority "boosts" if necessary.[5][6][7][8]
OpenVMS commercialized many features that are now considered standard requirements for any high-end server operating system. These include:
- Integrated computer networking (originally DECnet and later, TCP/IP) [9]
- Symmetrical, asymmetrical, and NUMA multiprocessing, including clustering [10]
- A distributed file system (Files-11) [11]
- Integrated database features such as RMS [12] and layered databases including Rdb [13]
- Support for multiple computer programming languages [14] [15]
- An extensible shell command language (DIGITAL Command Language) [16] [17]
- Hardware partitioning of multiprocessors [18]
- High level of security [19][20][21][22]
Enterprise-class environments typically select and use OpenVMS for various purposes including as a mail server, network services, manufacturing or transportation control and monitoring, critical applications and databases, and particularly environments where system uptime and data access is critical. System up-times of a decade or more have been reported, and features such as Rolling Upgrades and clustering allow clustered applications and data to remain continuously accessible while operating system software and hardware maintenance and upgrades are performed, or when a whole data center is destroyed. Customers using OpenVMS include banks and financial services, hospitals and healthcare, network information services, and large-scale industrial manufacturers of various products.
Contents |
[edit] History
[edit] Origin and name changes
In April 1975, DIGITAL embarked on a hardware project, code named Star, to design a 32-bit virtual address extension to its PDP-11. A companion software project, code named Starlet, was begun in June, 1975 to develop a totally new operating system, based on RSX-11M, for the Star family of processors. These two projects were tightly integrated from the beginning. Roger Gourd was the project lead for the Starlet program, with software engineers Dave Cutler, Dick Hustvedt, and Peter Lipman acting as the technical project leaders, each having responsibility for a different area of the operating system. The Star and Starlet projects culminated in the VAX 11/780 computer and the VAX-11/VMS operating system. The Starlet name survived in VMS as a name of several of the main system libraries, including STARLET.OLB and STARLET.MLB.
Over the years the name of the product has changed. In 1980 it was renamed, with version 2.0 release, to VAX/VMS (at the same time as the VAX-11 computer was renamed to simply VAX). With the introduction of the MicroVAX range such as the MicroVAX II and MicroVAX 2000 in the mid-to-late 1980s, DIGITAL released MicroVMS versions specifically targeted for these platforms which had much more limited memory and disk capacity e.g. the smallest MicroVAX 2000 had a 40MB RD32 hard disk and only 4MB of RAM, and its CPU had to emulate some of the VAX floating point instructions in software. MicroVMS kits were released for VAX/VMS 4.0 to 4.7 on TK50 tapes and RX50 floppy disks, but discontinued with VAX/VMS 5.0. In 1991 it was renamed again to OpenVMS to indicate its support for industry standards such as POSIX and Unix compatibility, and to drop the hardware connection as the port to DIGITAL's 64-bit Alpha RISC processor was in process. The OpenVMS name first appeared after the version 5.5-2 release.
For details of the origin, the engineers and engineering, and the general history of OpenVMS, the OpenVMS 20th Anniversary book, and the OpenVMS FAQ are central resources.
[edit] Port to DEC Alpha
The VMS port to Alpha resulted in the creation of a second and separate source code libraries (based on a source code management tool known as VDE) for the VAX 32-bit source code library and a second and new source code library for the Alpha (and the subsequent Itanium port) 64-bit architectures. 1992 saw the release of the first version of OpenVMS for Alpha AXP systems, designated OpenVMS AXP V1.0. (The decision to use the 1.x version numbering stream for the pre-production quality releases of OpenVMS AXP caused confusion for some customers and was not repeated in the subsequent porting program; in the Itanium port.)
In 1994, with the release of OpenVMS version 6.1, feature (and version number) parity between the VAX and Alpha variants was achieved. This was the so-called Functional Equivalence[23] release, in the marketing materials of the time. Subsequent version numberings for the VAX and Alpha variants of the product have remained consistent through V7.3, though Alpha subsequently diverged with the availability of the V8.2 and V8.3 releases.
For general details on the port to Alpha, see the OpenVMS 20th Anniversary book. For technical details on the port, see the DIGITAL Technical Journal Volume 4 Number 4.
[edit] Port to Intel Itanium
In 2001, just prior to its acquisition by Hewlett-Packard, Compaq announced[24] the port of OpenVMS to the Intel Itanium 64-bit EPIC architecture. This port was accomplished using source code maintained in common within the OpenVMS Alpha source code library, with conditional and additional modules where changes specific to Itanium were required. The OpenVMS Alpha pool was chosen as the basis of the port as it was significantly more portable than the original OpenVMS VAX source code, and because the Alpha source code pool was already fully 64-bit capable (unlike the VAX source code pool). With the Alpha port, many of the VAX hardware-specific dependencies had been previous moved into the Alpha SRM firmware for OpenVMS. Features necessary for OpenVMS were then moved from SRM into OpenVMS I64 as part of the Itanium port[25].
Unlike the port from VAX to Alpha, in which a "snapshot" of the VAX code base circa V5.4-2[26] was used as the basis for the Alpha release and the 64-bit source code pool then diverged, the OpenVMS Alpha and I64 (Itanium) versions of OpenVMS are built and maintained using a common source code library and common tools. The core software source code control system used for OpenVMS is the VMS Development Environment (VDE); see the VDE installation kit for details.
Two pre-production releases, OpenVMS I64 V8.0 and V8.1, were available in June 30, 2003 and in December 18 2003. These releases were intended for HP organizations and third-party vendors involved with porting software packages to OpenVMS I64.
The following are recent OpenVMS I64 releases:
OpenVMS I64 V8.2, the first production-quality Itanium release, was shipped January 13, 2005. An V8.2 release is also available for Alpha platforms.
OpenVMS I64 V8.2-1, adding support for Integrity Superdome and cell based systems, was released in September 2005. V8.2-1 is available for Itanium platforms only.
OpenVMS I64 V8.3, was released for Itanium platforms in September 2006. V8.3 is also available for Alpha systems.
OpenVMS I64 V8.3-1H1, currently planned for the second half of 2007. c-Class Integrity BladeServer blade support. See the OpenVMS Roadmap for details on future OpenVMS releases. See HP BladeSystem information for details on computing blade products from HP.
For technical details on the OpenVMS port to Itanium, see the OpenVMS Technical Journal V6. In particular, see the Porting OpenVMS to Integrity article. Information on OpenVMS releases from V4.0 to current is available, as are listings of upgrade paths in the OpenVMS FAQ and at the HP OpenVMS site.
[edit] Features
[edit] Window System
OpenVMS uses the DECwindows windowing system as its graphical interface, OpenVMS's X11 compliant windowing system.[27][28]
[edit] Clustering
OpenVMS supports clustering (first called VAXcluster and later VMScluster), where multiple systems share disk storage, processing, job queues and print queues, and connected either by specialized hardware or an industry-standard LAN (usually Ethernet). A LAN-based cluster is often called a LAVc, for Local Area Network VMScluster, and allows, among other things, bootstrapping a possibly diskless satellite node over the network using the system disk of a bootnode.
Mixtures of cluster interconnects and technologies are permitted, including Gigabit (GbE) Ethernet, SCSI, DSSI, CI and Memory Channel adapters.
OpenVMS supports up to 96 nodes in a single cluster, and allows mixed-architecture clusters, where VAX and Alpha systems, or Alpha and Itanium systems can co-exist in a single cluster (Various organizations have demonstrated triple-architecture clusters and cluster configurations with up to 150 nodes, but these configurations are not supported by HP).
Unlike many other clustering solutions, VAXcluster offers transparent and fully distributed read-write with record-level locking, which means that the same disk and even the same file can be accessed by several cluster nodes at once; the locking occurs only at the level of a single record of a file, which would usually be one line of text or a single record in a database. This allows the construction of high-availability multiply-redundant database servers.
Cluster interconnections can span upwards of 500 miles, allowing member nodes to be located in different buildings on an office campus, or in different cities.
Host-based volume shadowing allows volumes (of the same or of different sizes) to be shadowed (mirrored) across multiple controllers and multiple hosts, allowing the construction of disaster-tolerant environments.
Full access into the distributed lock manager (DLM) is available to application programmers, and this allows applications to coordinate arbitrary resources and activities across all cluster nodes. This obviously includes file-level coordination, but the resources and activities and operations that can be coordinated with the DLM are completely arbitrary.
With the supported capability of rolling upgrades and with multiple system disks, cluster configurations can be maintained on-line and upgraded incrementally. This allows cluster configurations to continue to provide application and data access while a subset of the member nodes are upgraded to newer software versions.
For general details, see the OpenVMS Cluster SPD. For more specific details, see the clustering-related manuals in the OpenVMS documentation set.
[edit] File system
OpenVMS has a very rich filesystem, with support for stream and record-oriented IO, ACLs, file versioning, etc. The typical user and application interface into the file system is the RMS.
Details are in the RMS Utilities and RMS programming manuals, and in the I/O User's Reference Manual, all part of the OpenVMS documentation set. Also see the available ODS2 documentation, as well as the VMS File Systems Internals book, by Kirby McCoy, ISBN 1555580564.
[edit] Timekeeping
OpenVMS represents time as the 64-bit number of 100 nanosecond intervals (that is, ten million units per second) since the epoch. The epoch of OpenVMS is midnight preceding November 17, 1858, which is the start of Modified Julian Day numbering. The clock is not necessarily updated every 100 ns; for example, systems with a 100 Hz interval timer simply add 100 000 to the value every hundredth of a second. The operating system includes a mechanism to adjust for hardware timekeeping drift; when calibrated against a known time standard, it easily achieves an accuracy better than 0.01%. All OpenVMS hardware platforms derive timekeeping from an internal clock not associated with the AC supply power frequency.
While the system is shut down, time is kept by a Time-of-Year ("TOY") hardware clock. This clock keeps time to a lower resolution (perhaps 1 second) and generally, a lower accuracy (often 0.025% versus 0.01%). When the system is restarted, the VMS 64-bit time value is recomputed based on the time kept by the TOY clock and the last recorded year (stored on the system disk).
The 100 nanosecond granularity implemented within OpenVMS and the 63-bit absolute time representation (the sign bit indicates absolute time when clear and relative time when set) should allow OpenVMS trouble-free time computations up to 31-JUL-31086 02:48:05.47. At this instant, all clocks and time-keeping operations in OpenVMS will suddenly fail, since the counter will overflow and start from zero again.
Though the native OpenVMS time format can range far into the future, applications based on the C runtime library will likely encounter timekeeping problems beyond January 19, 2038 due to the Year 2038 problem. Many components and applications may also encounter field-length-related date problems at year 10000 (see the Year 10,000 problem).
Detailed information on time and timekeeping, and on daylight saving time and timezone differential factor operations, is contained in the OpenVMS FAQ.
[edit] Programming
The common language programming environment is described in the OpenVMS Calling Standard and the OpenVMS Programming Concepts manuals. This provides mixed-language calls, and a set of language-specific, run-time library (RTL), and system service routines. The language calls and the RTLs are implemented in user-mode shareable images, while the system services calls are generally part of the operating system, or part of privileged-mode code. This distinction between languages and RTLs and system services was once fairly clean and clear, but the implementations and specifics have become rather more murky over the years.
Various utilities and tools are integrated, as are various add-on languages and tools.
Many Programming Examples are available, see the pointers in the OpenVMS FAQ.
[edit] Common Language Environment
Among OpenVMS's notable features is the Common Language Environment, a strictly defined standard that specifies calling convention for functions and routines, including use of stacks, registers, etc., independently of programming language. Because of this, it is possible to call a routine written in one language (e.g. FORTRAN) from another (e.g COBOL), without needing to know the implementation details of the target language. OpenVMS itself is implemented in a variety of different languages (primarily BLISS, VAX Macro and C) (per comp.os.vms newsgroup postings from members of HP OpenVMS Engineering), and the common language environment and calling standard supports freely mixing these languages, as well as Ada, PL/I, Fortran, Basic, and others. This is in contrast to a system such as Unix, which is implemented nearly entirely in the C language.
For details on these compilers and libraries, see the language manuals available at OpenVMS documentation.
Macro32 (an assembler on OpenVMS VAX, and a compiler on OpenVMS Alpha and on OpenVMS I64) is available within and integrated into OpenVMS. Bliss compilers are available for download from the OpenVMS Freeware, as are various ports of Perl, PHP, Ruby and other languages. Java is available from the HP Java website. C, Fortran and other languages are commercial products, and are available for purchase.
[edit] Run-time Libraries
OpenVMS contains a very rich set of Run-time Libraries (RTLs). These cover a wide range of functions, including String manipulation (STR$ routines), Mathematical operations (MTH$ routines), the Run-time Library (LIB$) routines, Screen Management operations (SMG$ routines) and a number of other categories grouped together as General Purpose functions (OTS$ routines). These functions, combined with the low-level System Services, make it easy to write complex programs.
Before writing a simple program in a High-Level language, however, the user should consider whether the required operation can be completed using DCL's functions from a command file. Start with the OpenVMS User's Guide. For details on the programming interfaces, see the associated manuals in the OpenVMS documentation.
[edit] Security
OpenVMS provides various security features and mechanisms, including security identifiers, resource identifiers, subsystem identifiers, ACLs, and detailed security auditing and alarms. Specific versions evaluated at DoD NCSC Class C2 and, with the SEVMS security enhanced services support, at NCSC Class B1, per the NCSC Rainbow Series. OpenVMS also holds an ITSEC E3 rating. For details on these ratings and the specific associated OpenVMS versions and ratings, see the NCSC and Common Criteria pages, and the associated product listings.
For details on the OpenVMS security mechanisms, see the HP OpenVMS Guide to System Security manual available at the OpenVMS documentation web site http://www.hp.com/go/openvms/doc/. Also see the OpenVMS Security information.
[edit] Documentation
The OpenVMS operating documentation for various recent releases and for various core OpenVMS layered products is available online at the HP website http://www.hp.com/go/openvms/doc/.
Software Product Description (SPD) documents for many OpenVMS-related products (and for OpenVMS itself) are available at http://h18000.www1.hp.com/info/spd/. SPDs are introductory and legal descriptions of various products, listing the various supported capabilities and product features.
The OpenVMS Frequently Asked Questions (FAQ) contains information and pointers associated with OpenVMS, and is available in various formats at http://www.hoffmanlabs.org/vmsfaq/.
[edit] Applicable Industry Standards
The following are some of the industry standards claimed in the OpenVMS Software Product Description (SPD) document:
- ANSI X3.4-1986: ASCII
- ANSI X3.22-1973/FIPS 3-1: Magtape, 800 BPI NRZI
- ANSI X3.27-1987/FIPS 79: Magtape, Labels and Volume Structures
- ANSI X3.39-1986/FIPS 25: Magtape, 1600 BPI PE
- ANSI X3.40-1983: Magtape, unrecorded
- ANSI X3.41-1974: ASCII 7-bit control sequences
- ANSI X3.42-1975: Numeric values in character strings
- ANSI X3.54-1986/FIPS 50: Magtape, 6250 BPI GCR
- ANSI X3.131-1986/ISO 9316(1989): SCSI-1
- ANSI X3.131-1994/ISO 10288(1994): SCSI-2
- ANSI/IEEE 802.2-1985: logical link control
- ANSI/IEEE 802.3-1985: Ethernet CSMA/CD
- FIPS 1-2: Code for Information Interchange; includes ANSI X3.4-1977(86)/FIPS 15; ANSI X3.32-1973/FIPS 36; ANSI X3.41-1974/FIPS 35; FIPS 7
- FIPS 16-1/ANSI X3.15-1976: Serial Comms Bit Sequencing; FED STD 1010
- FIPS 22-1/ANSI X3.1-1976: Synch signaling for DTE/DCE comms; FED STD 1013
- FIPS 37/ANSI X3.36-1975: Synch High-Speed signaling for DTE/DCE comms; GIPS 1001
- FIPS 86/ANSI X3.64-1979: Additional Controls for Use with ASCII
- ISO 646: ISO 7-bit Coded Character Set for Information Exchange
- ISO 1001: Magtape, Labels and Volume Structures
- ISO 1863: Magtape, 800 BPI NRZI
- ISO 1864: Magtape, unrecorded / NRZI and PE
- ISO 2022: Code extensions for ISO 646
- ISO 3307: Time and Date Representations
- ISO 3788: Magtape, 1600 BPI PE
- ISO 4873: 8-Bit Character Codes
- ISO 5652: Magtape, 6250 BPI GCR
- ISO 6429: Control Sequences
- ISO 9660: CD-ROM volume and file structures
[edit] OpenVMS Hobbyist Program
Despite being a proprietary commercial operating system, in 1997 OpenVMS and a number of layered products were made available free of charge for hobbyist, non-commercial use as part of the OpenVMS Hobbyist Program. Since then, several companies producing OpenVMS software have made their products available under the same terms, such as Process Software and MVP Systems.
As of 2006, the time required to obtain a hobbyist license was approximately one week from start to finish; from registration with a user group through acquisition of licenses and media. Hobbyist CD media is available for US$30, including international shipping. No anonymous FTP software downloads are available to hobbyists.
More information on the hobbyist program can be found at http://www.openvmshobbyist.org/ and http://www.OpenVMS.org/
[edit] Central OpenVMS-related topics
OpenVMS-related terms and acronyms include:
- ACMS - Digital's transaction processing (TP) system, often used with the DECdtm distributed transaction manager system service components of OpenVMS, and with the DECforms and Rdb products in applications with transactional requirements
- Asynchronous system trap (AST)
- DECforms - Digital's successor to the Forms Management System
- DECnet - Digital's proprietary networking architecture which also includes MOP.
- DIGITAL Command Language (DCL) - Digital Command Language - command line interface.
- DECwindows - Digital's implementation of the X Window System.
- Event flag - a simple synchronization mechanism
- Files-11 - low level filesystem, also known as the eXtended QIO Processor (XQP).
- File Description Language (FDL) - File Description Language - defines file record/field structure.
- Forms Management System (FMS) - Digital's first generation language-independent Form driver.
- Local Area Transport (LAT) - is a LAN-based non-routable communications protocol to support DEC and other Terminal Servers
- QIO Queued Input Output; the low-level I/O interface
- Oracle Rdb - An SQL compliant relational database created by DEC but now owned by Oracle
- Record Management Services (RMS) - high-level, language/device-independent Input/output
- Runtime libraries (RTL) - shared routines and functions, callable from any language
- OpenVMS Galaxy - co-habitating OpenVMS installations; a form of system partitioning
- OpenVMS Clusters - for redundancy, incremental hardware upgrades, or disaster tolerance
For information on layered products, see the Software Product Description (SPD) for the product. For OpenVMS components, see the OpenVMS documentation set.
[edit] Notes
- ^ See the OpenVMS Software Product Description (SPD) documents for OpenVMS VAX, OpenVMS Alpha, and OpenVMS I64; see the SPD repository
- ^ VAX Architecture Reference Manual
- ^ [http://ftp.digital.com/pub/Digital/info/semiconductor/literature/dsc-library.html DIGITAL Microprocessor and Alpha Architecture Library
- ^ Intel Itanium documentation
- ^ OpenVMS Alpha Internals and Data Structures : Scheduling and Process Control : Version 7.0, Ruth Goldenberg, Saro Saravanan, Denise Dumas, ISBN 1-55558-156-0
- ^ OpenVMS Alpha Internals and Data Structures: Memory Management, Ruth Goldenberg, ISBN 1-55558-159-5
- ^ VAX/VMS Internals and Data Structures: Version 5.2 ("IDSM"), Ruth Goldenberg, Saro Saravanan, Denise Dumas, ISBN 1-55558-059-9
- ^ OpenVMS Alpha Internals and Data Structures : Scheduling and Process Control : Version 7.0, Ruth Goldenberg, Saro Saravanan, Denise Dumas, ISBN 1-55558-156-0
- ^ OpenVMS documentation; see the DECnet and TCP/IP Services documentation, and see the User's Guide
- ^ OpenVMS documentation; see the clustering and OpenVMS Galaxy documentation
- ^ OpenVMS documentation; see the RMS and XQP documentation
- ^ OpenVMS documentation; see the RMS documentation
- ^ The Oracle Rdb web site
- ^ OpenVMS documentation; see the languages documentation
- ^ OpenVMS Freeware; see the Bliss, Macro64, OPS5, Perl, PHP, Tcl/Tk and other language kits and tools
- ^ Writing Real Programs in DCL, second edition, Stephen Hoffman, Paul Anagnostopoulos, ISBN 1-55558-191-9
- ^ OpenVMS documentation; see the OpenVMS User's Guide
- ^ OpenVMS documentation; see the OpenVMS Galaxy documentation
- ^ OpenVMS documentation; see OpenVMS Guide to System Security manual
- ^ NIST NCSC
- ^ National Computer Security Center (NCSC) Trusted Product Evaluation List (TPEL)
- ^ OpenVMS at DEFCON9
- ^ OpenVMS VAX and Alpha Compatibility
- ^ http://h71000.www7.hp.com/openvmstimes/openvmstimes.pdf
- ^ Information from various comp.os.vms newsgroup postings from OpenVMS Engineers
- ^ OpenVMS VAX and Alpha Compatibility
- ^ HP DECwindows Motif for OpenVMS Software Product Description (SPD)
- ^ Using DECwindows Motif for OpenVMS, Margie Sherlock, ISBN 1-55558-114-5
[edit] See also
- Comparison of operating systems
- SRM -- The boot firmware required to boot OpenVMS on DEC Alpha-based computer systems [1]
- EFI -- the boot firmware used by OpenVMS on Itanium platforms [2]
- FreeVMS -- A GPLed clone of VMS [3] [4]
- Paris Metro Line 14 -- A notable OpenVMS client [5]
- Indian Railways -- another (very) large OpenVMS client [6]
- Terry Shannon -- late advocate of OpenVMS [7]
OpenVMS Books:
No attempt has been made to determine which of these books are in or out of print.
- Getting Started with OpenVMS, Michael D. Duffy, ISBN 1-55558-279-6
- Getting Started with OpenVMS System Management, 2nd Edition, David Donald Miller, Stephen Hoffman, Lawrence Baldwin, ISBN 1-55558-243-5
- Introduction to OpenVMS, 5th Edition Lesley Ogilvie Rice, ISBN 1-55558-194-3
- Introduction to OpenVMS, David W Bynon, ISBN 1-878956-61-2
- OpenVMS Alpha Internals and Data Structures : Scheduling and Process Control : Version 7.0, Ruth Goldenberg, Saro Saravanan, Denise Dumas, ISBN 1-55558-156-0
- OpenVMS Alpha Internals and Data Structures: Memory Management, Ruth Goldenberg, ISBN 1-55558-159-5
- OpenVMS System Management Guide, Lawrence Baldwin, ISBN 1-55558-143-9
- The OpenVMS User's Guide, Second Edition, Patrick Holmay, ISBN 1-55558-203-6
- Using DECwindows Motif for OpenVMS, Margie Sherlock, ISBN 1-55558-114-5
- VAX/VMS Internals and Data Structures: Version 5.2 ("IDSM"), Ruth Goldenberg, Saro Saravanan, Denise Dumas, ISBN 1-55558-059-9
- Writing Real Programs in DCL, second edition, Stephen Hoffman, Paul Anagnostopoulos, ISBN 1-55558-191-9
- Writing OpenVMS Alpha Device Drivers in C, Margie Sherlock, Leonard Szubowicz, ISBN 1-55558-133-1
- OpenVMS Performance Management, Joginder Sethi, ISBN 1-55558-126-9
- Many more books: Arne Vajhøj'd OpenVMS Bibliography
- OpenVMS online documentation
Links:
- HP OpenVMS Systems website
- HP OpenVMS Documentation website
- OpenVMS 20th anniversary (1997) - contains historical facts
- HP OpenVMS FAQ
- OpenVMS Freeware
- OpenVMS Resource Center (OpenVMS FILESERV)
- OpenVMS Hobbyist Program
- Introductory Info for New OpenVMS Hobbyists
- Process Software
- MVP Systems
- OpenVMS Web Ring
- OpenVMS.org
- OpenVMS Programmer's Corner (primarily HP BASIC programs)
- comp.os.vms Usenet group - archives on Google Groups
- Deathrow OpenVMS Cluster (Public Access OpenVMS systems)