Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
OpenVMS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Features== [[File:DEC VAXstation 4000 96 OpenVMS 6.1.jpeg|thumb|VAXstation 4000 model 96 running OpenVMS V6.1, DECwindows Motif and the [[NCSA Mosaic]] browser]] ===Clustering=== {{Main|VMScluster}} OpenVMS supports [[Computer cluster|clustering]] (first called ''VAXcluster'' and later ''VMScluster''), where multiple computers run their own instance of the operating system. Clustered computers (nodes) may be fully independent from each other, or they may share devices like disk drives and printers. Communication across nodes provides a [[single system image]] abstraction.<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_OpenVMS_Cluster_Systems.pdf|title=VSI OpenVMS Cluster Systems|date=August 2019|access-date=January 13, 2021|publisher=VSI}}</ref> Nodes may be connected to each other via a proprietary hardware connection called Cluster Interconnect or via a standard [[Ethernet]] [[local area network|LAN]]. OpenVMS supports up to 96 nodes in a single cluster. It also allows mixed-architecture clusters.<ref name="cluster-docs">{{cite web|url=https://vmssoftware.com/products/clusters/|title=VSI Products - Clusters|website=VSI|access-date=May 4, 2021|archive-date=May 16, 2021|archive-url=https://web.archive.org/web/20210516180900/https://vmssoftware.com/products/clusters/|url-status=dead}}</ref> OpenVMS clusters allow applications to function during planned or unplanned outages.<ref>{{cite web|url=https://www.digiater.nl/openvms/doc/alpha-v8.3/ovms_archived/BUILD_DEPEND_SYS.PDF|title=Building Dependable Systems: The OpenVMS Approach|date=May 1994|publisher=DEC|access-date=July 31, 2021}}</ref> Planned outages include hardware and software upgrades.<ref name="Cluster Uptime"/> ===Networking=== {{Main|DECnet}} The [[DECnet]] protocol suite is tightly integrated into VMS, allowing remote logins, as well as transparent access to files, printers and other resources on VMS systems over a network.<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DECnet_IV_Gd_to_Networking.pdf|title=DECnet for OpenVMS Guide to Networking|publisher=VSI|access-date=January 14, 2021|date=August 2020|archive-date=January 21, 2021|archive-url=https://web.archive.org/web/20210121012741/https://vmssoftware.com/docs/VSI_DECnet_IV_Gd_to_Networking.pdf|url-status=dead}}</ref> VAX/VMS V1.0 featured support for DECnet Phase II,<ref>{{cite web |url=https://archive.org/download/bitsavers_decspd25.0_392688/25.03.01_7809_DECnet-VAX_V1.pdf |title=Software Product Description: DECnet-VAX, Version 1 |date=September 1978 |publisher=DEC |access-date=2023-05-23}}</ref> and modern versions of VMS support both the traditional Phase IV DECnet protocol, as well as the [[OSI protocols|OSI-compatible]] Phase V (also known as ''DECnet-Plus'').<ref>{{cite web|url=https://vmssoftware.com/products/decnet/|title=VSI Products - DECnet|publisher=VSI|access-date=January 14, 2021}}</ref> Support for [[TCP/IP]] is provided by the optional ''TCP/IP Services for OpenVMS'' layered product (originally known as the ''VMS/ULTRIX Connection'', then as the ''[[ULTRIX]] Communications Extensions'' or UCX).<ref>{{cite web|url=https://archive.org/details/hack42_VMS-ULTRIX_Connection_Volume_1_System_Managers_Guide|title=VMS/ULTRIX System Manager's Guide|date=September 1990|publisher=Digital Equipment Corporation|access-date=January 21, 2021}}</ref><ref name="tcp-ip-services">{{cite web|url=https://vmssoftware.com/docs/VSI_TCPIP_USERS_GD.PDF|title=VSI OpenVMS TCP/IP User's Guide|publisher=VSI|access-date=January 14, 2021|date=August 2019}}</ref> TCP/IP Services is based on a port of the [[Berkeley Software Distribution|BSD]] network stack to OpenVMS,<ref>{{cite journal|url=https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c04623334|title=Parallelism and Performance in the OpenVMS TCP/IP Kernel|author1=Robert Rappaport|author2=Yanick Pouffary|author3=Steve Lieman|author4=Mary J. Marotta|journal=OpenVMS Technical Journal|volume=4|year=2004}}</ref> along with support for common protocols such as [[SSH]], [[DHCP]], [[FTP]] and [[SMTP]]. DEC sold a software package named [[PATHWORKS]] (originally known as the ''Personal Computer Systems Architecture'' or PCSA) which allowed [[personal computer]]s running [[MS-DOS]], [[Microsoft Windows]] or [[OS/2]], or the [[Apple Macintosh]] to serve as a terminal for VMS systems, or to use VMS systems as a file or print server.<ref>{{cite journal|url=https://vmssoftware.com/docs/dtj-v04-01-1992.pdf|title=An Overview of the PATHWORKS Product Family|author1=Alan Abrahams|author2=David A. Low|journal=Digital Technical Journal|volume=4|issue=1|pages=8β14|year=1992|access-date=April 27, 2024}}</ref> PATHWORKS was later renamed to ''Advanced Server for OpenVMS'', and was eventually replaced with a VMS port of [[Samba (software)|Samba]] at the time of the Itanium port.<ref>{{cite web|url=http://de.openvms.org/TUD2005/02_Advanced_Server_and_Samba_Andy_Goldstein.pdf|title=Samba and OpenVMS|author=Andy Goldstein|date=2005|access-date=January 1, 2021|website=de.openvms.org|archive-date=February 7, 2021|archive-url=https://web.archive.org/web/20210207063545/http://de.openvms.org/TUD2005/02_Advanced_Server_and_Samba_Andy_Goldstein.pdf|url-status=dead}}</ref> DEC provided the [[Local Area Transport]] (LAT) protocol which allowed remote terminals and printers to be attached to a VMS system through a [[terminal server]] such as one of the [[DECserver]] family.<ref>{{cite web|url=http://www.bitsavers.org/pdf/dec/ethernet/decserver_300/AA-LD84A-TK_LAT_Network_Concepts_Jun88.pdf|title=Local Area Transport Network Concepts|date=June 1988|publisher=DEC|access-date=January 14, 2021}}</ref> ===Programming=== DEC (and its successor companies) provided a wide variety of programming languages for VMS. Officially supported languages on VMS, either current or historical, include:<ref name="language-1985">{{cite web|url=http://bitsavers.org/pdf/dec/vax/handbook/VMS_Language_and_Tools_Handbook_1985.pdf|title=VAX/VMS Software Language and Tools Handbook|date=1985|access-date=December 31, 2020|website=bitsavers.org}}</ref><ref name="vsi-products">{{cite web|url=https://vmssoftware.com/products/list/|title=VSI List of Products|website=VSI|access-date=May 4, 2021|archive-date=May 16, 2021|archive-url=https://web.archive.org/web/20210516174139/https://vmssoftware.com/products/list/|url-status=dead}}</ref><ref>{{Cite web |title=Lua β VMS Software, Inc. |url=https://vmssoftware.com/products/lua/ |access-date=2025-01-13 |website=vmssoftware.com}}</ref> {{Div col|colwidth=9em}} * [[VAX MACRO]] * [[BLISS]] * [[C (programming language)|C]] * [[DIGITAL Command Language|DCL]] * [[Fortran]] * [[Pascal (programming language)|Pascal]] * [[COBOL]] * [[BASIC]] * [[C++]] * [[Java (programming language)|Java]] * [[Common Lisp]] * [[APL (programming language)|APL]] * [[Ada (programming language)|Ada]] * [[PL/I]] * [[DIBOL]] * [[CORAL]] * [[OPS5]] * [[IBM RPG II|RPG II]] * [[MUMPS]] * [[MACRO-11]] * [[DEC Text Processing Utility|DECTPU]] * [[Lua (programming language)|Lua]] * VAX SCAN{{Div col end}} 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 (abstract data type)|stacks]], [[processor register|registers]], etc., independent of programming language.<ref name="openvms-calling-standard">{{cite web|url=https://vmssoftware.com/docs/VSI_CALLING_STD.pdf|title=VSI OpenVMS Calling Standard|date=January 2021|access-date=May 4, 2021}}</ref> Because of this, it is possible to call a routine written in one language (for example, Fortran) from another (for example, COBOL), without needing to know the implementation details of the target language. OpenVMS itself is implemented in a variety of different languages and the common language environment and calling standard supports freely mixing these languages.<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_PROGRAM_CONCEPTS_VOL_II.pdf|title=VSI OpenVMS Programming Concepts Manual, Volume II|date=April 2020|access-date=May 4, 2021|publisher=VSI}}</ref> DEC created a tool named the ''Structure Definition Language'' (SDL), which allowed [[data type]] definitions to be generated for different languages from a common definition.<ref>{{cite web|url=https://www.digiater.nl/openvms/freeware/v30/sdl/freeware_readme.txt|title=SDL, LANGUAGE, Data Structure/Interface Definition Language|date=November 1996|access-date=January 3, 2021|website=digiater.nl}}</ref> The set of languages available directly with the operating system is restricted to C, Fortran, Pascal, BASIC, C++, BLISS and COBOL. Freely available open source languages include Lua, PHP, Python, Scala and Java. <ref>{{cite web|url=https://docs.vmssoftware.com/|title=VMS Software / Documentation|website=VSI|access-date=May 12, 2025}}</ref> ====Development tools==== [[File:Vax-vms-grey-wall.jpg|thumb|The "Grey Wall" of VAX/VMS documentation, at [[Living Computers: Museum + Labs]]]] DEC provided a collection of software development tools in a layered product named ''DECset'' (originally named ''VAXset'').<ref name="language-1985" /> This consisted of the following tools:<ref>{{cite web |title=DECset |url=https://vmssoftware.com/products/decset/ |access-date=January 2, 2021 |website=VSI}}</ref> * [[Language-Sensitive Editor]] (LSE) * ''Code Management System'' (CMS) a [[version control]] system * ''Module Management System'' (MMS), a [[build automation|build tool]] * the ''Source Code Analyzer (''SCA), a [[static analyzer]] * the ''Performance and Coverage Analyzer'' (''PCA''), a [[Profiling (computer programming)|profiler]] * ''Digital Test Manager'' (DTM), as a test manager * In addition, a number of [[text editor]]s are included in the operating system, including [[EDT (Digital)|EDT]], [[EVE (text editor)|EVE]] and [[TECO (text editor)|TECO]].<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DCL_DICT_VOL_I.pdf|title=VSI OpenVMS DCL Dictionary: AβM|date=April 2020|access-date=January 2, 2021|publisher=VSI}}</ref> The OpenVMS Debugger supports all DEC compilers and many third-party languages. It allows breakpoints, watchpoints and interactive runtime program debugging using either a [[command line interface|command line]] or [[graphical user interface]].<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DEBUGGER.pdf|title=VSI OpenVMS Debugger Manual|date=June 2020|access-date=May 4, 2021|publisher=VSI}}</ref> A pair of lower-level debuggers, named ''DELTA'' and ''XDELTA'', can be used to debug privileged code in additional to normal application code.<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DELTA_XDELTA.pdf|title=VSI OpenVMS Delta/XDelta Debugger Manual|date=August 2019|access-date=December 31, 2020|publisher=VSI}}</ref> In 2019, VSI released an officially supported [[Integrated Development Environment]] for VMS based on [[Visual Studio Code]].<ref name="vms-roadmap-12-2019" /> This allows VMS applications to be developed and debugged remotely from a [[Microsoft Windows]], [[macOS]] or [[Linux]] workstation.<ref>{{cite web|url=https://marketplace.visualstudio.com/items?itemName=VMSSoftwareInc.vms-ide|title=VMS IDE|access-date=January 2, 2021|website=Visual Studio Marketplace}}</ref> ====Database management==== DEC created a number of optional [[database]] products for VMS, some of which were marketed as the ''VAX Information Architecture'' family.<ref name="vax-info-handbook">{{cite web|url=http://bitsavers.trailing-edge.com/pdf/dec/vax/handbook/VMS_Information_Management_Handbook_1985.pdf|title=VAX/VMS Software Information Management Handbook|date=1985|access-date=January 24, 2021|publisher=Digital Equipment Corporation}}</ref> These products included: * [[Oracle Rdb|Rdb]] β A [[relational database]] system which originally used the proprietary ''Relational Data Operator'' (RDO) query interface, but later gained [[SQL]] support.<ref>{{cite web|url=http://www.oracle.com/technology/products/rdb/pdf/2003_tech_forums/13_rdbs_first_20_years.pdf|title=Rdb's First 20 Years: Memories and Highlights|author=Ian Smith|date=2004|archive-url=https://web.archive.org/web/20051103112619/http://www.oracle.com/technology/products/rdb/pdf/2003_tech_forums/13_rdbs_first_20_years.pdf|archive-date=November 3, 2005|url-status=dead|access-date=January 24, 2021}}</ref> * ''DBMS'' β A database management system which uses the [[CODASYL]] [[network model]] and ''Data Manipulation Language'' (DML). * [[Digital Standard MUMPS]] (DSM) β an integrated programming language and [[key-value database]].<ref name="language-1985" /> * ''Common Data Dictionary'' (CDD) β a central [[database schema]] repository, which allowed schemas to be shared between different applications, and data definitions to be generated for different programming languages. * [[DATATRIEVE]] β a query and reporting tool which could access data from RMS files as well as Rdb and DBMS databases. * Application Control Management System (ACMS) β A [[transaction processing monitor]], which allows applications to be created using a high-level ''Task Description Language'' (TDL). Individual steps of a transaction can be implemented using DCL commands, or Common Language Environment procedures. User interfaces can be implemented using TDMS, DECforms or Digital's [[ALL-IN-1]] office automation product.<ref>{{cite web|url=http://odl.sysworks.biz/disk$vaxdocmar002/database/acms_v43/6621/6621pro_contents.html|title=Compaq ACMS for OpenVMS Getting Started|publisher=Compaq|date=December 1999|access-date=January 24, 2021}}</ref> * ''RALLY'', ''DECadmire'' β [[Fourth-generation programming language]]s (4GLs) for generating database-backed applications.<ref>{{cite web|url=https://support.hpe.com/hpesc/public/docDisplay?docId=c04622599|title=Building Dependable Systems: The OpenVMS Approach|date=March 1994|access-date=October 17, 2022|publisher=Digital Equipment Corporation}}</ref> DECadmire featured integration with ACMS, and later provided support for generating [[Visual Basic]] [[client-server]] applications for Windows PCs.<ref>{{cite web|url=http://h30266.www3.hpe.com/MasterIndex/cover_letter/cover_letter_0071573c.txt|title=Cover Letter for DECADMIRE V2.1 MUP Kit - DECADMIRE V2.1A|date=1995|publisher=Digital Equipment Corporation|access-date=January 24, 2021}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> In 1994, DEC sold Rdb, DBMS and CDD to [[Oracle Corporation|Oracle]], where they remain under active development.<ref>{{cite web|url=http://www.decus.de/slides/sy2004/21_04/2p06.pdf|title=Oracle Rdb Status and Direction|author1=Kevin Duffy|author2=Philippe Vigier|date=2004|access-date=January 24, 2021}}</ref> In 1995, DEC sold DSM to [[InterSystems]], who renamed it ''Open M'', and eventually replaced it with their [[InterSystems CachΓ©|CachΓ©]] product.<ref>{{cite web|url=http://h30266.www3.hpe.com/masterindex/cover_letter/cover_letter_013a1ce4.txt|title=Cover Letter re DSM|access-date=January 24, 2021|date=May 31, 1999|author1=Larry Goelz|author2=John Paladino|publisher=Compaq}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> Examples of third-party database management systems for OpenVMS include [[MariaDB]],<ref>{{cite web|url=http://www3.sympatico.ca/n.rieck/docs/openvms_notes_mysql_mariardb.html|title=OpenVMS Notes MySQL and MariaDB|author=Neil Rieck|date=June 29, 2020|access-date=January 24, 2021|archive-date=January 31, 2021|archive-url=https://web.archive.org/web/20210131062246/http://www3.sympatico.ca/n.rieck/docs/openvms_notes_mysql_mariardb.html|url-status=dead}}</ref> [[Mimer SQL]]<ref>{{cite web|url=https://www.vmsconsultancy.com/download/NL-VMSUpdate-2017/MimerSQL%20VMSSIG%20Holland.pdf|title=Mimer SQL on OpenVMS Present and Future|author=Bengt Gunne|date=2017|access-date=April 27, 2024}}</ref> ([[Itanium]] and [[x86-64]]<ref>{{cite web|url=https://developer.mimer.com/mimer-sql-is-now-available-for-openvms-on-x86/|title=Mimer SQL is now available for OpenVMS on x86|publisher=Mimer Information Technology AB|date=2023}}</ref>), and [[System 1032]].<ref>{{cite web|url=https://www.rocketsoftware.com/products/rocket-m204/rocket-system-1032|title=Rocket Software System 1032|publisher=Rocket Software|access-date=January 24, 2021|archive-date=January 22, 2021|archive-url=https://web.archive.org/web/20210122232806/https://www.rocketsoftware.com/products/rocket-m204/rocket-system-1032|url-status=dead}}</ref> ===User interfaces=== [[File:Openvms-8.4-2L1-dcl.png|thumb|right|OpenVMS Alpha V8.4-2L1, showing the DCL CLI in a terminal session]] VMS was originally designed to be used and managed interactively using DEC's text-based [[video terminal]]s such as the [[VT100]], or hardcopy terminals such as the [[DECwriter]] series. Since the introduction of the [[VAXstation]] line in 1984, VMS has optionally supported graphical user interfaces for use with workstations or [[X terminal]]s such as the [[VT1000]] series. ====Text-based user interfaces==== {{Main|DIGITAL Command Language}} The [[DIGITAL Command Language]] (DCL) has served as the primary [[command language]] interpreter (CLI) of OpenVMS since the first release.<ref>{{cite book|title=Writing Real Programs in DCL |edition=2nd |first1=Stephen |last1=Hoffman |first2=Paul |last2=Anagnostopoulos|year=1999|publisher=Digital Press |isbn=1-55558-191-9}}</ref><ref name="vms-1.0-spd">{{cite web|url=http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/AE-C770B-TE%20VAX-VMS%20Operating%20System,%20Version%201.0%20SPD%2025.1.2.pdf|date=September 1978|title=Software Product Description β VAX/VMS Operating System, Version 1.0|publisher=Digital Equipment Corporation|access-date=October 21, 2021}}</ref><ref name="vms-8.4-spd" /> Other official CLIs available for VMS include the [[RSX-11]] Monitor Console Routine (MCR) (VAX only), and various [[Unix shell]]s.<ref name="language-1985" /> DEC provided tools for creating [[text-based user interface]] applications β the ''Form Management System'' (FMS) and ''Terminal Data Management System'' (TDMS), later succeeded by ''DECforms''.<ref>{{cite web|url=http://h30266.www3.hpe.com/PDFs/HPFMS25.pdf|title=Software Product Description HP DECforms for OpenVMS, Version 4.0|website=Hewlett Packard Enterprise|access-date=January 1, 2021|date=August 2006}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>{{cite web|url=http://h30266.www3.hpe.com/PDFs/SPDDecforms40.pdf|title=Software Product Description HP FMS for OpenVMS, Version 2.5|website=Hewlett Packard Enterprise|access-date=January 1, 2021|date=January 2005}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>{{cite web|url=http://h30266.www3.hpe.com/PDFs/TDMSforVAXV19B.pdf|title=Compaq TDMS for OpenVMS VAX, Version 1.9B|date=July 2002|access-date=January 1, 2021|website=Hewlett Packard Enterprise}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> A lower level interface named ''Screen Management Services'' (SMG$), comparable to Unix [[curses (programming library)|curses]], also exists.<ref>{{cite web|url=http://h30266.www3.hpe.com/odl/vax/opsys/vmsos73/vmsos73/5935/5935pro_contents.html|title=OpenVMS RTL Screen Management (SMG$) Manual|date=2001|access-date=January 1, 2021|website=Hewlett Packard Enterprise|archive-date=December 4, 2020|archive-url=https://web.archive.org/web/20201204210834/http://h30266.www3.hpe.com/odl/vax/opsys/vmsos73/vmsos73/5935/5935pro_contents.html|url-status=dead}}</ref> ====Graphical user interfaces{{Anchor|DECwindows}}==== [[File:VAX-VMS-VWS.png|thumb|right|VWS 4.5 running on top of VAX/VMS V5.5-2]] [[File:VMS-XUI-Colour.png|thumb|right|DECwindows XUI window manager running on top of VAX/VMS V5.5-2]] Over the years, VMS has gone through a number of different GUI toolkits and interfaces: * The original graphical user interface for VMS was a proprietary [[windowing system]] known as the ''VMS Workstation Software'' (VWS), which was first released for the [[VAXstation#VAXstation I|VAXstation I]] in 1984.<ref>{{cite journal|url=http://www.bitsavers.org/pdf/dec/dtj/dtj_v01-02_mar1986.pdf|author1=Rick Spitz|author2=Peter George|author3=Stephen Zalewski|title=The Making of a Micro VAX Workstation|journal=Digital Technical Journal|volume=1|issue=2|year=1986|access-date=October 21, 2021}}</ref> It exposed an API called the User Interface Services (UIS).<ref>{{cite web|url=http://www.bitsavers.org/pdf/dec/vax/vms/vms_workstation/AL-GI10B-TN_MicroVMS_Workstation_Graphics_Programming_Guide_May1986.pdf|title=MicroVMS Workstation Graphics Programming Guide|date=May 1986|access-date=October 21, 2021|publisher=Digital Equipment Corporation}}</ref> It ran on a limited selection of VAX hardware.<ref>{{cite newsgroup|url=https://comp.os.vms.narkive.com/wjLKqt6l/dec-vws-internals#post3|title=comp.os.vms - Dec VWS Internals|newsgroup=comp.os.vms|date=January 4, 2007|access-date=February 27, 2021|author=Fred Kleinsorge}}</ref> * In 1989, DEC replaced VWS with a new [[X11]]-based windowing system named ''DECwindows''.<ref>{{cite journal|url=http://www.bitsavers.org/pdf/dec/dtj/dtj_v02-03_1990.pdf|title=An Overview of the DECwindows Architecture|year=1990|access-date=October 21, 2021|publisher=Digital Equipment Corporation|journal=Digital Technical Journal|volume=2|issue=3|author=Scott A. McGregor}}</ref> It was first included in VAX/VMS V5.1.<ref name="vaxmacro-release">{{cite web|url=http://www.vaxmacro.de/vvo.html|title=(Open)VMS(/ VAX), Version overview|website=vaxmacro.de|access-date=October 21, 2021|archive-date=October 22, 2020|archive-url=https://web.archive.org/web/20201022122158/http://www.vaxmacro.de/vvo.html|url-status=dead}}</ref> Early versions of DECwindows featured an interface built on top of a proprietary toolkit named the ''X User Interface'' (XUI). A layered product named UISX was provided to allow VWS/UIS applications to run on top of DECwindows.<ref>{{cite web|url=http://h41379.www4.hpe.com/wizard/wiz_9916.html|title=Migrating VWS/UIS Applications to DECwindows?|work=HP OpenVMS ask the wizard|date=November 9, 2004|archive-url=https://web.archive.org/web/20180915122243/http://h41379.www4.hpe.com/wizard/wiz_9916.html|archive-date=September 15, 2018}}</ref> Parts of XUI were subsequently used by the [[Open Software Foundation]] as the foundation of the [[Motif toolkit]].<ref>{{cite journal|url=https://www.tuhs.org/Archive/Documentation/AUUGN/AUUGN-V10.4.pdf|title=Strategies for Writing Graphical UNIX Applications Productively and Portably|author=Janet Dobbs|date=August 1989|page=50|volume=10|number=4|journal=AUUG Newsletter|access-date=December 29, 2021}}</ref> * In 1991, DEC replaced XUI with the Motif toolkit, creating ''DECwindows Motif''.<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DECW_USER_GD.pdf|title=Using DECwindows Motif for OpenVMS|date=October 2019|access-date=October 21, 2020|website=VSI}}</ref><ref>{{cite conference|title=Early Experience With DECwindows/Motif In the TRIUMF Central Control System|author1=S. Kadantsev|author2=M. Mouat|conference=13th International Conference on Cyclotrons and their Applications|pages=676β677|url=https://accelconf.web.cern.ch/accelconf/c92/papers/xi-11.pdf|access-date=August 28, 2019|archive-date=November 25, 2017|archive-url=https://web.archive.org/web/20171125063526/http://accelconf.web.cern.ch/AccelConf/c92/papers/xi-11.pdf|url-status=dead}}</ref> As a result, the [[Motif Window Manager]] became the default DECwindows interface in OpenVMS V6.0,<ref name="vaxmacro-release" /> although the XUI window manager remained as an option. * In 1996, as part of OpenVMS V7.1,<ref name="vaxmacro-release" /> DEC released the ''New Desktop'' interface for DECwindows Motif, based on the [[Common Desktop Environment]] (CDE).<ref>{{cite web|url=http://odl.sysworks.biz/disk$axpdocdec023/office/dwmot126/vmsdw126/gettingstarted/getting_started.html|title=Getting Started With the New Desktop|publisher=Digital Equipment Corporation|date=May 1996|access-date=October 21, 2021}}</ref> On Alpha and Itanium systems, it is still possible to select the older MWM-based UI (referred to as the "DECwindows Desktop") at login time. The New Desktop was never ported to the VAX releases of OpenVMS. Versions of VMS running on DEC Alpha workstations in the 1990s supported [[OpenGL]]<ref>[http://www.faqs.org/faqs/graphics/opengl-faq/part1/ OpenGL Frequently Asked Questions (FAQ) [1/3]]. Faqs.org. Retrieved on July 17, 2013.</ref> and [[Accelerated Graphics Port]] (AGP) graphics adapters. VMS also provides support for older graphics standards such as [[Graphical Kernel System|GKS]] and [[PHIGS]].<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_gks_spd.pdf|title=Software Product Description VSI Graphical Kernel System|date=2017|access-date=January 2, 2021|publisher=VSI}}</ref><ref>{{cite web|url=http://h30266.www3.hpe.com/PDFs/DECPhigsV31forVAX.pdf|title=Software Product Description DEC PHIGS Version 3.1 for OpenVMS VAX|date=April 1995|access-date=January 2, 2021|website=Hewlett Packard Enterprise}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> Modern versions of DECwindows are based on [[X.Org Server]].<ref name="vms-8.4-spd" /> ===Security=== OpenVMS provides various security features and mechanisms, including security identifiers, resource identifiers, subsystem identifiers, [[Access control list|ACLs]], [[intrusion detection]] and detailed security auditing and alarms.<ref name="guide-to-system-security">{{cite web|url=https://vmssoftware.com/docs/VSI_System_Security_Manual.pdf|title=VSI OpenVMS Guide to System Security|date=December 2019|access-date=April 26, 2021|publisher=VSI}}</ref> Specific versions evaluated at [[Trusted Computer System Evaluation Criteria]] Class C2 and, with the SEVMS security enhanced release at Class B1.<ref>National Computer Security Center (NCSC) Trusted Product Evaluation List (TPEL)</ref> OpenVMS also holds an ITSEC E3 rating (see [[National Computer Security Center|NCSC]] and [[Common Criteria]]).<ref>{{cite web|url=https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c04621379|title=HP OpenVMS Guide to System Security|publisher=Hewlett Packard|date=September 2003|access-date=October 21, 2021}}</ref> Passwords are hashed using the [[George B. Purdy#The Purdy polynomial|Purdy Polynomial]]. ====Vulnerabilities==== * Early versions of VMS included a number of privileged user accounts (including <code>SYSTEM</code>, <code>FIELD</code>, <code>SYSTEST</code> and <code>DECNET</code>) with default passwords which were often left unchanged by system managers.<ref>{{cite journal|last1=Green|first1=James L.|last2=Sisson|first2=Patricia L.|title=The "Father Christmas" Worm|journal=12th National Computer Security Conference Proceedings|date=June 1989|url=https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19920019024.pdf|accessdate=November 23, 2015|ref=green1989}}</ref><ref>{{cite web|url=https://www.giac.org/paper/gsna/176/security-audit-openvms-internal-auditors-perspective/106696|title=Security Audit on OpenVMS: An Internal Auditor's Perspective|date=November 2004|author=Kevin Rich|publisher=SANS Institute|access-date=July 21, 2021}}</ref> A number of [[computer worm]]s for VMS including the [[WANK (computer worm)|WANK worm]] and the [[Father Christmas (computer worm)|Father Christmas worm]] exploited these default passwords to gain access to nodes on DECnet networks.<ref>{{cite web|url=https://www.youtube.com/watch?v=Xf7gVma6_3g |archive-url=https://ghostarchive.org/varchive/youtube/20211211/Xf7gVma6_3g| archive-date=December 11, 2021 |url-status=live|title=DEFCON 16: Hacking OpenVMS|date=January 20, 2011|author1=Claes Nyberg|author2=Christer Oberg|author3=James Tusini|website=[[YouTube]]|access-date=July 21, 2021}}{{cbignore}}</ref> This issue was also described by [[Clifford Stoll]] in ''[[The Cuckoo's Egg (book)|The Cuckoo's Egg]]'' as a means by which [[Markus Hess]] gained unauthorized access to VAX/VMS systems.<ref>{{cite book |last1=Stoll |first1=Clifford |title=The Cuckoo's Egg : tracking a spy through the maze of computer espionage |date=1989 |publisher=Doubleday |location=New York |isbn=0-385-24946-2 |edition=1st}}</ref> In V5.0, the default passwords were removed, and it became mandatory to provide passwords for these accounts during system setup.<ref name="vms-5.0-rel-notes" /> * A 33-year-old vulnerability in VMS on VAX and Alpha was discovered in 2017 and assigned the CVE ID {{CVE|2017-17482}}. On the affected platforms, this vulnerability allowed an attacker with access to the DCL command line to carry out a [[privilege escalation]] attack. The vulnerability relies on exploiting a [[buffer overflow]] bug in the DCL command processing code, the ability for a user to interrupt a running image (program [[executable]]) with {{kbd|CTRL/Y}} and return to the DCL prompt, and the fact that DCL retains the privileges of the interrupted image.<ref>On the internal workings of the CTRL-Y mechanism, see: OpenVMS AXP Internals and Data Structures, Version 1.5, sections 30.6.5.1 (CTRL/Y Processing) and 30.6.5.4 (CONTINUE Command) at pp. 1074β1076.</ref> The buffer overflow bug allowed [[shellcode]] to be executed with the privileges of an interrupted image. This could be used in conjunction with an image installed with higher privileges than the attacker's account to bypass system security.<ref>{{cite web|title=Ghost in the DCL shell: OpenVMS, touted as ultra reliable, had a local root hole for 30 years|url=https://www.theregister.com/2018/02/06/openvms_vulnerability/|date=February 6, 2018|access-date=January 13, 2021|author=John Leyden|website=theregister.com}}</ref> ===POSIX compatibility=== Various official [[Unix]] and [[POSIX]] compatibility layers were created for VMS. The first of these was ''DEC/Shell'', which was a layered product consisting of ports of the [[Bourne shell]] from [[Version 7 Unix]] and several other Unix utilities to VAX/VMS.<ref name="language-1985" /> In 1992, DEC released the ''POSIX for OpenVMS'' layered product, which included a shell based on the [[KornShell]].<ref>{{cite book|title=Software Product Description - POSIX for OpenVMS 2.0|date=1994|author=Digital Equipment Corporation}}</ref> POSIX for OpenVMS was later replaced by the open-source ''GNV'' ([[GNU]]'s not VMS) project, which was first included in OpenVMS media in 2002.<ref>{{cite web|url=https://www.itec.suny.edu/scsys/vms/OVMSDOC0731/731final/6657/6657pro_008.html|date=June 2002|title=OpenVMS Alpha Version 7.3-1 New Features and Documentation Overview Begin Index}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> Amongst other GNU tools, GNV includes a port of the [[Bash (Unix shell)|Bash shell]] to VMS.<ref>{{cite web|url=https://vmssoftware.com/products/gnv/|title=VSI Products - GNV|access-date=August 19, 2020|website=VSI}}</ref> Examples of third-party Unix compatibility layers for VMS include [[Eunice (software)|Eunice]].<ref>{{cite web|url=https://www.caam.rice.edu/caam/trs/82/TR82-08.pdf|archive-url=https://web.archive.org/web/20040122172302/https://www.caam.rice.edu/caam/trs/82/TR82-08.pdf|archive-date=January 22, 2004|url-status=dead|date=August 10, 1987|title=Οnix: a Unix emulator for VAX/VMS}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)