OpenVMS: Difference between revisions
No edit summary Tags: Mobile edit Mobile web edit |
→Programming: grammar |
||
Line 252: | Line 252: | ||
===Programming=== |
===Programming=== |
||
Among OpenVMS's notable features is the Common Language Environment, a strictly defined standard that specifies calling |
Among OpenVMS's notable features is the Common Language Environment, a strictly defined standard that specifies calling conventions for functions and routines, including use of [[stack (data structure)|stack]]s, [[processor register|register]]s, etc., independent of programming language. Because of this, it is possible and straightforward to call a routine written in one language ([[Fortran]]) from another ([[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 (programming language)|C]]),<ref>{{cite newsgroup|url=http://groups.google.com/group/comp.os.vms/msg/21686958ee9a195b|title=C bashing (was Re: VMS File Caching Futures|author=Stephen Hoffman|date=June 6, 2000|newsgroup=comp.os.vms}}</ref> and the common language environment and calling standard supports freely mixing these languages, and [[Ada (programming language)|Ada]], [[PL/I]], [[Fortran]], [[BASIC]], and others.<ref>{{cite web|url=https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04623273|title=OpenVMS Programming Environment Manual|at=7.1 Common Language Environment|date= |
||
March 1994}}</ref> This is in contrast to a system such as [[Unix]], which is implemented nearly entirely in the [[C (programming language)|C]] language. |
March 1994}}</ref> This is in contrast to a system such as [[Unix]], which is implemented nearly entirely in the [[C (programming language)|C]] language. |
||
Revision as of 22:55, 25 January 2019
Developer | Digital Equipment Corporation, Compaq, Hewlett-Packard, VMS Software Inc |
---|---|
Written in | BLISS, VAX Macro, C, Ada, PL/I, Fortran, UIL, SDL, Pascal, MDL, C++, DCL, Message, Document[1] |
OS family | DEC OS family |
Working state | Current |
Source model | Closed source |
Initial release | October 25, 1977 |
Latest release | OpenVMS 8.4-2L2 / July 10, 2017 |
Marketing target | High-end computer server |
Available in | English |
Update method | Concurrent upgrades, rolling upgrades |
Package manager | PCSI and VMSINSTAL |
Platforms | VAX, Alpha, Itanium |
Kernel type | Monolithic kernel with loadable modules |
Default user interface | DCL CLI and DECwindows GUI |
License | Proprietary |
Official website | www |
OpenVMS is a closed-source, proprietary computer operating system for use in general-purpose computing. It is the successor to the VMS Operating System (VAX-11/VMS, VAX/VMS), that was produced by Digital Equipment Corporation, and first released in 1977 for its series of VAX-11 minicomputers.[2][3][4] The 11/780 was introduced at DEC's Oct. 25, 1977 annual shareholder's meeting. In the 1990s, it was used for the successor series of DEC Alpha systems. OpenVMS also runs on the HP Itanium-based families of computers.[5] As of 2019[update], a port to the x86-64 architecture is underway.[6][7]
The name VMS is derived from virtual memory system, according to one of its principal architectural features.[8] OpenVMS is a proprietary operating system, but source code listings are available for purchase.[9]
OpenVMS is a multi-user, multiprocessing virtual memory-based operating system (OS) designed for use in time-sharing, batch processing, and transaction processing. When process priorities are suitably adjusted, it may approach real-time operating system characteristics. The system offers high availability through clustering and the ability to distribute the system over multiple physical machines. This allows the system to be tolerant against disasters that may disable individual data-processing facilities.[2]
OpenVMS contains a graphical user interface (GUI), a feature that was not available on the original VAX-11/VMS system. Prior to the introduction of DEC VAXstation systems in the 1980s, the operating system was used and managed from text-based terminals, such as the VT100, which provide serial data communications and screen-oriented display features. Versions of VMS running on DEC Alpha workstations in the 1990s supported OpenGL[10] and Accelerated Graphics Port (AGP) graphics adapters.
Enterprise-class environments typically select and use OpenVMS for various purposes including mail servers, 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 more than 10 years[11] 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.
As of mid-2014, Hewlett-Packard (successor to DEC) licensed the development of OpenVMS exclusively to VMS Software Inc. (VSI).[12][13] VMS Software will be responsible for developing OpenVMS, supporting existing hardware and providing roadmap to clients.[12][13] The company has a team of veteran developers that originally developed the software during DEC's ownership.[14]
History
Origin and name changes
In April 1975, Digital Equipment Corporation embarked on a hardware project, code named Star, to design a 32-bit virtual address extension to its PDP-11 computer line. A companion software project, code named Starlet, was started 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. Gordon Bell[15] was the VP lead on the VAX hardware and its architecture. Roger Gourd was the project lead for the Starlet program, with software engineers Dave Cutler (who would later lead development of Microsoft's Windows NT), 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 I, 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 a maximum of 6MB 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.4 to 4.7 on TK50 tapes and RX50 floppy disks, but discontinued with VAX/VMS 5.0.
In 1991,[16] VMS was renamed to OpenVMS as an indication for its support of "open systems" industry standards such as POSIX and Unix compatibility,[17] 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.4-2 release.
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 next platform port to the Itanium.
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[18] release, in the marketing materials of the time. Some features were missing however, e.g. based shareable images, which were implemented in later versions. 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.[19][20]
In November 2017, V8.4-2L1 was released for Alpha platform (or x86 emulator).[21]
Port to Intel Itanium
In 2001, just prior to its acquisition by Hewlett-Packard, Compaq announced the port of OpenVMS to the Intel Itanium architecture.[22] 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 previously 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.[23]
Unlike the port from VAX to Alpha, in which a snapshot of the VAX code base circa V5.4-2[18] 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).[24]
Two pre-production releases, OpenVMS I64 V8.0 and V8.1, were available on June 30, 2003 and on 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. A 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, was released in October 2007. It features full c-Class Integrity BladeServer blade support.[25]
- OpenVMS I64 and Alpha V8.4, was released in June 2010.[26]
- OpenVMS I64 V8.4-1H1, was released in June 2015.[27]
- OpenVMS I64 V8.4-2, was released in April 2016; and a variant of it V8.4-2L1 was also released for Alpha platform (or x86 emulator) in November 2017.[21]
Major release timeline
Version[28] | Release date[29] | End-of-life date[30] | Notes |
---|---|---|---|
V1.0 | 25 October 1977 | ? | VAX-11/780, Initial commercial release |
V2.0 | April 1980 | ? | VAX-11/750 |
V3.0 | April 1982 | ? | VAX-11/730 |
V4.0 | September 1984 | ? | VAX 8600 and MicroVMS (for MicroVAX) |
V5.0 | April 1988 | ? | VAX 6000 |
V1.0 AXP | November 1992 | ? | first OpenVMS AXP (Alpha) specific version |
V6.0 | June 1993 | 31 December 2012 | VAX 7000 and 10000 |
V6.1 | April 1994 | ? | merging of VAX and Alpha AXP version numbers |
V7.0 | January 1996 | ? | full 64-bit virtual addressing on Alpha |
V7.3 | June 2001 | 31 December 2012 | Last release for the VAX architecture. |
V8.0 | June 2003 | ? | limited availability eval for Integrity |
V8.2 | February 2005 | 30 April 2014 | Common Alpha and Itanium release |
V8.3 | September 2006 | 31 December 2015 | Alpha, Itanium dual-core support |
V8.4 | June 2010 | Q4 2020 | Virtual machine guest under HPVM. Clusters over TCP/IP |
V8.4-1H1 | June 2015 | Q4 2020 | Support for "Poulson" Itanium processors, first release from VSI |
V8.4-2 | April 2016 | Q2 2021 | Support for systems with up to 64 cores and 1.5TB of RAM[31] |
V8.5 | Q1 2019 | — | Alpha and Itanium Updates, new TCP/IP stack |
V9.0 | Q1 2019 | — | x86-64 Early Adopter Release |
V9.1 | Q4 2019 | — | x86-64 General Early Adopter Release |
V9.2 | 2020 | — | Alpha, Itanium, x86-64 General Release |
Legend: Old version, not maintained Old version, still maintained Latest version Latest preview version Future release |
Features
OpenVMS offers many features that are now considered standard requirements for any high-end server operating system. These include:
- Integrated computer networking (originally DECnet,[32] and later TCP/IP)[33]
- Symmetrical, asymmetrical, and NUMA multiprocessing, including clustering[34][35]
- A hierarchical, feature-rich file system (Files-11)[36][37]
- Integrated database features such as RMS[36] and relational databases, including Rdb,[38] Oracle Database, MariaDB and PostgreSQL
- Support for multiple computer programming languages[39][40]
- A standardized interoperability mechanism for calls between different programming languages[41]
- An extensible shell command language (DIGITAL Command Language)[42][43]
- Hardware partitioning of multiprocessors[35]
- High level of security[44][45][46][47]
Graphical user interface
OpenVMS uses the DECwindows Motif user interface (based on CDE) layered on top of OpenVMS's X11 compliant windowing system.[48][49] Older versions of VMS instead used a proprietary window system known as VWS/UIS.[50] DECwindows was also provided for the Ultrix operating system.
Clustering
OpenVMS supports clustering (first called VAXcluster and later VMScluster), where multiple systems share disk storage, processing, job queues and print queues, and are connected either by proprietary specialized hardware (Cluster Interconnect) 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.
VAXcluster support was first added in VMS version 4, which was released in 1984. This version only supported clustering over CI. Later releases of version 4 supported clustering over LAN (LAVC), and support for LAVC was improved in VMS version 5, released in 1988.
Mixtures of cluster interconnects and technologies are permitted, including Gigabit Ethernet (GbE), SCSI, FDDI, 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, VMScluster 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 connections 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 includes file-level coordination, but the resources and activities and operations that can be coordinated with the DLM are completely arbitrary.
OpenVMS V8.4 offers advances in clustering technology, including the use of industry-standard TCP/IP networking to bring efficiencies to cluster interconnect technology. Cluster over TCP/IP is supported in OpenVMS version 8.4, which was released in 2010.
With the supported capability of rolling upgrades and 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.[51][34]
File system
OpenVMS has a very feature-rich file system, with support for stream and record-oriented IO, access control lists (ACLs), and file versioning. The typical user and application interface into the file system is via the Record Management Services or RMS.[36][37][52]
Timekeeping
OpenVMS represents system time as the 64-bit number of 100 nanosecond intervals (that is, ten million units per second; also known as a 'clunk'[53][54]) 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 100000 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).[55]
Programming
Among OpenVMS's notable features is the Common Language Environment, a strictly defined standard that specifies calling conventions for functions and routines, including use of stacks, registers, etc., independent of programming language. Because of this, it is possible and straightforward to call a routine written in one language (Fortran) from another (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),[56] and the common language environment and calling standard supports freely mixing these languages, and Ada, PL/I, Fortran, BASIC, and others.[57] This is in contrast to a system such as Unix, which is implemented nearly entirely in the C language.
The common language programming environment is described in the OpenVMS Calling Standard[41] and the OpenVMS Programming Concepts[58] 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.
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,[59] as are various ports of Perl, PHP, Ruby and other languages. Java SE is provided with OpenVMS.[60] C, Fortran and other languages are commercial products, and are available for purchase.
Various utilities and tools are integrated, as are various add-on languages and tools.[61]
Many programming examples are available via the OpenVMS FAQ.[62]
Debugging
The VMS Debugger supports all DEC compilers and many third party languages. It allows breakpoints, watchpoints and interactive runtime program debugging either using a command line or graphical user interface.[63]
Standard streams
In a manner similar to Unix, VMS defines several standard input and output streams[64] with these logical names:
SYS$INPUT - Standard input. Used interactively, this represents the terminal keyboard. Used in a batch file, it is batch file lines not preceded with a $ symbol, or specified as an input deck using the DECK command.
SYS$OUTPUT - Standard output. Used interactively, this is the terminal display. Used in a batch file, it outputs to the screen (if run interactively) or to the log file when run noninteractively.
SYS$ERROR - Standard error. Used interactively, this is the terminal display. In a batch file, it is the screen display (if run interactively), or to the log file if run interactively, or in the special case of RUN /DETACH, to the output file or device specified with the /ERROR= parameter.
SYS$COMMAND - Does not have a direct analogue in the Unix model. Used interactively, it will read from the terminal. Used in a batch file when run interactively, it will read from the terminal. Used in a batch file run noninteractively, it will read from the SYS$INPUT stream (if one is defined), otherwise it will read nothing and return end of file.
Run-time libraries
This section needs expansion. You can help by adding to it. (April 2011) |
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 (see NCSC and Common Criteria).[44]/[65] Passwords are hashed using the Purdy Polynomial.
A 33-year-old vulnerability in VAX/VMS and Alpha VMS was discovered in 2017. This allowed anyone with access to the DCL command line in a system with a default configuration to bypass all system security and take complete control of the system. The CVE number is CVE-2017-17482.[66]
Cross-platform applications
OpenVMS supports the following industry standard and open-source tools and applications:[7]
- Samba (CIFS)
- Apache HTTP Server
- Apache Tomcat
- Zip/Unzip (Info-Zip)
- GNU Privacy Guard (gpg)[67]
- Perl[68]
- Ruby
- Lua
- PHP
- git (as vgit)
- Subversion
- MariaDB
- PostgreSQL
- Apache ActiveMQ
- MQTT, as Mosquitto (MQTT broker) and Paho-C (MQTT client)
- ZeroMQ
- SWIG
- cURL and libcurl
Documentation
Documentation for Digital Equipment Corporation's OpenVMS Operating System is remembered for their Orange Binders, Large and Small.[69][70][71][72][73]
DEC's OpenVMS Operating System documentation for various releases, and for various core OpenVMS layered products, is available online at the HPE website.[74]
Software Product Descriptions (SPD) are introductory and legal descriptions of various products, listing the various supported capabilities and product features. SPD documents for many OpenVMS-related products, and for OpenVMS itself, are available at Hewlett Packard Enterprise[75]
The OpenVMS Frequently Asked Questions (FAQ) contains information and pointers associated with OpenVMS, and is available in various formats at HoffmanLabs[76]
Releases, software support status
The current OpenVMS release is 8.4-2L1 (Hudson), previous were OpenVMS V8.4-1H1 for Integrity servers, OpenVMS V8.4 for Alpha and OpenVMS V7.3 for VAX servers.
HP provides Current Version Support (CVS) and Prior Version Support (PVS) for various OpenVMS releases. The OpenVMS Roadmap guaranteed PVS status for specific releases (V5.5-2, V5.5-2H4, V6.2, V6.2-1H3, V7.3-2) until 2012, and only then ending with 24 months' prior notice.[77] CVS is provided for the current release and for the immediately prior release.
On July 31, 2014, VMS Software, Inc. (VSI) announced that HP named VSI as the sole developer of future versions of the OpenVMS operating system and its layered product components.[13] The first release, VSI OpenVMS Version 8.4-1H1 (Bolton), was released June 1, 2015. Next releases will support the latest Itanium hardware. The availability of VSI OpenVMS on x86-based servers for early adopters is planned for 2018.[78][7][79] VSI has assembled a Massachusetts, US-based team of veteran OpenVMS developers, many harkening back to the core DEC team responsible for the initial and ongoing development of OpenVMS.[80]
Applicable industry standards
Some of the industry standards claimed in the OpenVMS Software Product Description are:[81]
- 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
Hobbyist programs
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.[82][83] Since then, several companies producing OpenVMS software have made their products available under the same terms, such as Process Software[84] and MVP Systems.[85]
In 2011, HP staff took over the administration of the hobbyist licences. Registration was simplified and remained zero cost. The process from registering to receiving Product Authorisation Keys typically takes about one working day. Software kits for operating system and layered products were made available on request via FTP download (previously it had to be shipped on CD which was chargeable). This process is not fully automatic and requires authorisation by HP Hobbyist Program staff.
An open source operating system following VMS conventions called FreeVMS is in development,[86] though no official releases have been made since 2010. FreeVMS supports the x86-64 architecture using an L4 microkernel.[87]
The Living Computer Museum maintains, among other historic computer systems, a publicly accessible VAX 11/785 running OpenVMS 7.3.[88]
Influence
VMS is in some ways an ancestor of Windows NT, together with RSX-11 and an unreleased object-based operating system developed by Dave Cutler for DEC Prism. This lineage is made clear in Cutler's foreword to "Inside Windows NT" by Helen Custer.[89]
OpenVMS vocabulary
OpenVMS-related vocabulary include:[90]
- 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)
- Command Language Interface (CLI) – library routines for parsing VMS command line parameters
- DECforms – Digital's successor to the Forms Management System
- DECnet – Digital's proprietary networking architecture which also includes MOP.
- DELTA and XDELTA – OpenVMS debuggers
- DIGITAL Command Language (DCL) – Digital Command Language (command line interpreter).
- DECwindows – Digital's implementation of the X Window System.
- Event flag – a simple synchronization mechanism
- Files-11 – low level filesystem
- File Description Language (FDL) – 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 – OS-level virtualization implementations, co-habitating OpenVMS installations; a form of system partitioning[91]
- OpenVMS Clusters – for redundancy, incremental hardware upgrades, or disaster tolerance
- System 1032 (S1032) – A high-performance database management system and application development environment designed to support the OpenVMS user community. Used at some companies in the 1980s and 1990s, but in little use today.
- XQP – the eXtended QIO Processor (XQP), which implements the Files-11 filesystem since VMS 3.3.
See also
References
- ^ "2.7 In what language is OpenVMS written?". The OpenVMS Frequently Asked Questions (FAQ). Hewlett Packard Enterprise.
- ^ a b Patrick Thibodeau (June 11, 2013). "OpenVMS, R.I.P. 1977-2020?". Computerworld.
- ^ Tom Merritt (2012). Chronology of Tech History. p. 104. ISBN 130025307X.
- ^ "VAX 11/780 - OLD-COMPUTERS.COM : HISTORY / detailed info".
- ^ "HP OpenVMS Systems". Hewlett Packard Enterprise.
- ^ "State of the Port to x86-64". VMS Software. August 4, 2018.
- ^ a b c "OpenVMS Rolling Roadmap" (PDF). VMS Software. June 5, 2018.
- ^ Hunter Goatley. "Writing VMS Privileged Code: Part 1". Goatley.com.
VAX architecture features .... a virtual memory system (which is ... where the name OpenVMS came from)
- ^ "HPE Partner Ready Program - Business Partners & Reseller Programs". h21007.www2.hpe.com.
- ^ OpenGL Frequently Asked Questions (FAQ) [1/3]. Faqs.org. Retrieved on 2013-07-17.
- ^ "The Uptimes-Project.org - Host Information: WVNETcluster". Archived from the original on 2009-01-24. Retrieved 2009-04-10.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ a b "HP hands off OpenVMS development to VSI". Tech Times. 2014-08-01. Retrieved 2016-01-29.
- ^ a b c "VMS Software, Inc. Named Exclusive Developer of Future Versions of OpenVMS Operating System" (Press release). Retrieved October 27, 2017.
- ^ "VMS Software". www.vmssoftware.com. Retrieved 2016-01-29.
- ^ "Gordon Bell Biography". research.microsoft.com.
- ^ Michael D Duffy (2002). Getting Started with OpenVMS: A Guide for New Users. ISBN 0080507352.
- ^ "OpenVMS Definition from PC Magazine Encyclopedia".
- ^ a b "OpenVMS Compatibility Between VAX and Alpha". May 1995.
- ^ OpenVMS At 20. Digital Equipment Corporation. 1997. Chapter X Building the Bridge to Alpha; Chapter XI AlphaChip—The 64-bit Breakthrough.
- ^ Nancy P. Kronenberg; Thomas R. Benson; Wayne M. Cardoza; Ravindran Jagannathan; Benjamin J. Thomas III (1992). "Porting OpenVMS from VAX to Alpha AXP" (PDF). Digital Technical Journal. 4 (4).
- ^ a b "VMS Software, Inc. Launches New Release of OpenVMS OS for Alpha Hardware: Worldwide Production Release of VSI OpenVMS Alpha V8.4-2L1 Provides a Bridge to the Future" (Press release). Retrieved 2017-11-02.
the Alpha hardware platform, including Alphas running on x86-based emulators. This OpenVMS Alpha version is based on, and inherits the benefits of, the latest version of VSI OpenVMS Integrity V8.4-2L1, released in September 2016.
- ^ "Compaq OpenVMS Times" (PDF). January 2002. Archived from the original (PDF) on March 2, 2006.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Clair Grant (June 2005). "Porting OpenVMS to HP Integrity Servers". OpenVMS Technical Journal. 6.
- ^ "Access to OpenVMS Source Code?". HP OpenVMS Systems ask the wizard. September 2, 1999.
- ^ "HP OpenVMS Systems - Announcing OpenVMS v8.3-1H1". Archived from the original on December 29, 2007.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ "HP OpenVMS Systems - OpenVMS Version 8.4". Archived from the original on September 2, 2010.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ "VMS Software, Inc. Launches New Version of OpenVMS Operating System Worldwide" (PDF) (Press release). June 1, 2015.
- ^ "VMS Software: Products: Roadmap".
- ^ "HP OpenVMS Systems - OpenVMS Release History". June 21, 2010.
- ^ "HP OpenVMS Systems - Supported Software Versions - January 2014".
- ^ "VMS Software, Inc. Launches New Version of OpenVMS Operating System Worldwide" (Press release). VMS Software, Inc. March 22, 2016.
- ^ "HP OpenVMS systems documentation - DECnet for OpenVMS V8.4 documentation".
- ^ "HP OpenVMS Systems Documentation - TCP/IP Services for OpenVMS Documentation".
- ^ a b "HP OpenVMS Systems - Clusters".
- ^ a b "HP OpenVMS Systems - High Availability/Disaster Tolerance".
- ^ a b c "OpenVMS Record Management Services Reference Manual". June 2002.
- ^ a b "Chapter 1 ACP-QIO Interface". HP OpenVMS I/O User’s Reference Manual: OpenVMS Version 8.4.
- ^ "Oracle Rdb Product Center".
- ^ OpenVMS documentation; see the language documentation
- ^ OpenVMS Freeware; see the BLISS, Macro64, OPS5, Perl, PHP, Tcl/Tk and other language kits and tools
- ^ a b "OpenVMS Calling Standard". January 2005.
- ^ Stephen Hoffman; Paul Anagnostopoulos. Writing Real Programs in DCL, second edition. ISBN 1-55558-191-9.
- ^ "OpenVMS User's Manual". June 2002.
- ^ a b "HP OpenVMS Guide to System Security: OpenVMS Version 8.4". June 2010.
- ^ "Security Configuration Checklists for IT Products - VMS – OpenVMS VAX/ALPHA Security Readiness Review Security Checklist, Version 2 Release 2". Archived from the original on September 21, 2008.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ National Computer Security Center (NCSC) Trusted Product Evaluation List (TPEL)
- ^ "DefCon 9 - What I did on my summer vacation".
- ^ "Software Product Description - HP DECwindows Motif for OpenVMS V1.6" (PDF).
- ^ Margie Sherlock. Using DECwindows Motif for OpenVMS. ISBN 1-55558-114-5.
- ^ "Migrating VWS/UIS Applications to DECwindows?". HP OpenVMS ask the wizard. November 9, 2004.
- ^ "Software Product Description - HP OpenVMS Cluster Software" (PDF).
- ^ Kirby McCoy (1990). VMS File System Internals. Bedford, Mass.: Digital Press. ISBN 1-55558-056-4.
- ^ "README file for clunk routines". November 6, 1987.
- ^ "The Wombat Examiner, Vol. 3, No. 1". February 1981.
- ^ Detailed information on time and timekeeping, and on daylight saving time and timezone differential factor operations, is contained in the OpenVMS FAQ.
- ^ Stephen Hoffman (June 6, 2000). "C bashing (was Re: VMS File Caching Futures". Newsgroup: comp.os.vms.
- ^ "OpenVMS Programming Environment Manual". March 1994. 7.1 Common Language Environment.
- ^ "HP OpenVMS Programming Concepts Manual". January 2005.
- ^ "OpenVMS Freeware". hp.com.
- ^ "QuickSpecs - HP OpenVMS Version 8.4 for Integrity and Alpha servers" (PDF). February 14, 2011.
- ^ Technical documentation, HP.com.
- ^ "The OpenVMS Frequently Asked Questions (FAQ)".
- ^ "OpenVMS Debugger Manual". June 2010.
- ^ "OpenVMS User's Manual". Chapter 14, Advanced Programming with DCL.
- ^ "HP OpenVMS Systems - HP OpenVMS Security".
- ^ "CVE-2017-17482".
- ^ "HP OpenVMS Open Source Tools - GnuPG for OpenVMS".
- ^ "HP OpenVMS Systems - Secure Web Server (based on Apache) - Perl for OpenVMS Installation Guide and Release Notes". November 2005.
- ^ "Orange Notebooks... three-hole binders with individual spine labels, tables of contents, dividers and indexes." "Hindsight: The Orange Notebooks". The DEC Professional. September 1983. p. 94.
- ^ There were grey binders too.
- ^ "You should have opened those orange notebooks more often." "Uncle Al". May 19, 2003.
- ^ "VMS Manuals available ... The first table is manuals in grey or orange binders." "OpenVMS various versions".
- ^ "Prior to 5.0, the documentation came in Orange binders" "VMS 5.0 - VMS 5.5".
- ^ "HPE OpenVMS". www.hpe.com.
- ^ http://h41379.www4.hpe.com/doc/spd.html#SPD/
- ^ "HoffmanLabs :: Home of the OpenVMS FAQ". www.hoffmanlabs.org.
- ^ "HP OpenVMS Rolling Roadmaps". October 2006. Archived from the original on December 8, 2006.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ "HP and VMS Software, Inc. Collaborate to Extend OpenVMS Solutions". Retrieved October 27, 2017.
- ^ "VSI Updates". January 11, 2017. Retrieved 2017-01-11.
- ^ Thibodeau, Patrick. "HP gives OpenVMS new life". ComputerWorld. Retrieved 1 August 2014.
- ^ "Software Product Description (SPD) HP OpenVMS for Integrity Servers Versions 8.2-1 and 8.2, and HP OpenVMS Alpha Version 8.2 SPD 82.35.09" (PDF). Hewlett-Packard Enterprise. November 2014. Retrieved October 27, 2017.
- ^ "OpenVMS Hobbyist Program".
- ^ "OpenVMS News & Discussion". openvms.org. Archived from the original on 2015-03-21.
- ^ "Process Software: Hobbyist".
- ^ "MVP Systems - The OpenVMS Hobbyist Program". Archived from the original on January 6, 2009.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ "www.freevms.net Git - FreeVMS.git/shortlog". www.freevms.net.
- ^ "FreeVMS official web page". Archived from the original on March 10, 2011. Retrieved June 20, 2013.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ ""Request a login" page, showing list of publicly accessible systems, including VAX-11/785 running VMS".
- ^ "OpenVMS on IA-32 ?".
- ^ For information on layered products, see the Software Product Description (SPD) for the product. For OpenVMS components, see the OpenVMS documentation set.
- ^ "HP High Availability/Disaster Tolerance - OpenVMS Galaxy".
Further reading
- Roland Hughes. The Minimum You Need to Know to Be an OpenVMS Application Developer. ISBN 978-0-9770866-0-3.
- Roland Hughes. The Minimum You Need to Know About Java on OpenVMS, Volume 1. ISBN 978-0-9770866-1-0. Archived from the original on January 15, 2009.
{{cite book}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - Roland Hughes. The Minimum You Need to Know About Service Oriented Architecture. ISBN 978-0-9770866-6-5. Archived from the original on January 15, 2009.
- 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: Memory Management, Ruth Goldenberg, ISBN 1-55558-159-5
- 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 online documentation
- OpenVMS Performance Management, Joginder Sethi, ISBN 1-55558-126-9
- OpenVMS System Management Guide, Lawrence Baldwin, ISBN 1-55558-143-9
- The hitchhiker's guide to VMS : an unsupported-undocumented-can-go-away-at-any-time feature of VMS, Bruce Ellis, ISBN 1-878956-00-0
- 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 OpenVMS Alpha Device Drivers in C, Margie Sherlock, Leonard Szubowicz, ISBN 1-55558-133-1
- Writing Real Programs in DCL, second edition, Stephen Hoffman, Paul Anagnostopoulos, ISBN 1-55558-191-9
External links
- HPE OpenVMS Systems website
- HPE OpenVMS System Software
- HPE OpenVMS: What’s New for OpenVMS
- VMS Software: Current Roadmap and Future Releases
- OpenVMS 20th anniversary (1997), contains historical facts
- OpenVMS 30th anniversary (2007) at the Wayback Machine (archived December 3, 2013), contains historical facts
- Arne Vajhøj's OpenVMS Bibliography
- comp.os.vms Usenet group, archives on Google Groups
- OpenVMS accounts on DEC Alpha, VAX and IA64 architecture at Polarhome
- Hoffmanlabs.org HP OpenVMS FAQ
- OpenVMS beginner's FAQ
- Introductory Info for New OpenVMS Hobbyists, at Hoffmanlabs.org
- OpenVMS HELP pages
- MVP Systems
- OpenVMS.org at the Wayback Machine (archived March 21, 2015)
- OpenVMS Hobbyist Program
- OpenVMS Programmer's Corner, primarily HP BASIC programs
- OpenVMS Resource Center, OpenVMS FILESERV
- OpenVMS Web Ring
- Process Software
- Virtually Unhackable at the Wayback Machine (archived July 15, 2011), DEF CON9
- VMS Operating System Is 30 Years Old; Customers Believe It Can Last Forever, InformationWeek, November 3, 2007
- OpenVMS application status report as of October, 01, 2007 (102 pages long table of applications)