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!
===Port to Alpha=== {{See also|DEC PRISM#Legacy|DEC Alpha#History}} [[Image:dec-vms-vernon.png|thumb|"Vernon the Shark" logo for OpenVMS<ref>{{cite web|url=http://www.vaxination.ca/vms/shark/history.html|title=History of the Vernon the VMS shark|website=vaxination.ca|access-date=January 24, 2021}}</ref>]] During the 1980s, DEC planned to replace the VAX platform and the VMS operating system with the [[DEC PRISM|PRISM]] architecture and the [[DEC MICA|MICA]] operating system.<ref>{{cite web|url=http://www.bitsavers.org/pdf/dec/prism/memos/880530_Cutler_PRISM_vs_MIPS.pdf|title=DECwest/SDT Agenda|author=Dave Cutler|date=May 30, 1988|website=bitsavers.org}}</ref> When these projects were cancelled in 1988, a team was set up to design new VAX/VMS systems of comparable performance to [[RISC]]-based Unix systems.<ref name="supnik-alpha">{{cite web|url=http://simh.trailing-edge.com/semi/ev4.html|title=EV-4 (1992)|date=February 24, 2008}}</ref> After a number of failed attempts to design a faster VAX-compatible processor, the group demonstrated the feasibility of [[porting]] VMS and its applications to a RISC architecture based on PRISM.<ref name="ieee-alpha" /> This led to the creation of the [[DEC Alpha|Alpha]] architecture.<ref>{{cite web|url=https://dspace.mit.edu/bitstream/handle/1721.1/48380/managingtechnolo00katz.pdf|date=April 1993|title=Managing Technological Leaps: A study of DEC's Alpha Design Team}}</ref> The project to port VMS to Alpha began in 1989, and first booted on a prototype [[Alpha 21064#History|Alpha EV3]]-based ''Alpha Demonstration Unit'' in early 1991.<ref name="ieee-alpha">{{cite journal|title=How DEC developed Alpha|date=July 1992|doi=10.1109/6.144508|last1=Comerford|first1=R.|journal=IEEE Spectrum|volume=29|issue=7|pages=26β31}}</ref><ref>{{cite journal|last1=Supnik|first1=Robert M.|title=Digital's Alpha project|journal=Communications of the ACM|volume=36|issue=2|year=1993|pages=30β32|issn=0001-0782|doi=10.1145/151220.151223|s2cid=32694010|doi-access=free}}</ref> The main challenge in porting VMS to a new architecture was that VMS and the VAX were designed together, meaning that VMS was dependent on certain details of the VAX architecture.<ref name="ia64-port">{{cite journal|url=http://www.decus.de/events/alphamigration/vortraege/porting_openvms_to_integrity.pdf|title=Porting OpenVMS to HP Integrity Servers|author=Clair Grant|journal=OpenVMS Technical Journal|volume=6|date=June 2005}}</ref> Furthermore, a significant amount of the VMS kernel, layered products, and customer-developed applications were implemented in [[VAX MACRO]] assembly code.<ref name="vms-20-years" /> Some of the changes needed to decouple VMS from the VAX architecture included the creation of the ''MACRO-32'' compiler, which treated VAX MACRO as a [[high-level language]], and compiled it to Alpha [[object code]],<ref name="axp-port">{{cite journal|url=https://vmssoftware.com/docs/dtj-v04-04-1992.pdf|title=Porting OpenVMS from VAX to Alpha AXP|author1=Nancy P. Kronenberg|author2=Thomas R. Benson|author3=Wayne M. Cardoza|author4=Ravindran Jagannathan|author5=Benjamin J. Thomas III|journal=Digital Technical Journal|volume=4|issue=4|pages=111β120|year=1992|access-date=April 27, 2024}}</ref> and the emulation of certain low-level details of the VAX architecture in [[PALcode]], such as [[interrupt handling]] and atomic queue instructions. The VMS port to Alpha resulted in the creation of two separate codebases: one for [[VAX]], and another for Alpha.<ref name="wizard-vms-source">{{cite web|url=http://h41379.www4.hpe.com/wizard/wiz_2993.html|title=Access to OpenVMS Source Code?|work=HP OpenVMS Systems ask the wizard|archive-url=https://web.archive.org/web/20171028043200/http://h41379.www4.hpe.com/wizard/wiz_2993.html|archive-date=October 28, 2017|date=September 2, 1999}}</ref> The Alpha code library was based on a snapshot of the VAX/VMS code base circa V5.4-2.<ref name="OpenVMS VAX and Alpha Compatibility" /> 1992 saw the release of the first version of OpenVMS for [[Alpha AXP]] systems, designated ''OpenVMS AXP V1.0''. In 1994, with the release of OpenVMS V6.1, feature (and version number) parity between the VAX and Alpha variants was achieved; this was the so-called Functional Equivalence release.<ref name="OpenVMS VAX and Alpha Compatibility">{{cite web|url=https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04623258|title=OpenVMS Compatibility Between VAX and Alpha|date=May 1995|publisher=Digital Equipment Corporation|access-date=October 22, 2021}}</ref> The decision to use the 1.x version numbering stream for the pre-production quality releases of OpenVMS AXP confused some customers, and was not repeated in the subsequent ports of OpenVMS to new platforms.<ref name="ia64-port" /> When VMS was ported to Alpha, it was initially left as a 32-bit only operating system.<ref name="axp-port" /> This was done to ensure backwards compatibility with software written for the 32-bit VAX. 64-bit addressing was first added for Alpha in the V7.0 release.<ref>{{cite journal|url=https://vmssoftware.com/docs/dtj-v08-02-1996.pdf|title=Extending OpenVMS for 64-bit Addressable Virtual Memory|journal=Digital Technical Journal|volume=8|issue=2|date=1996|pages=57β71|s2cid=9618620}}</ref> In order to allow 64-bit code to interoperate with older 32-bit code, OpenVMS does not create a distinction between 32-bit and 64-bit executables, but instead allows for both 32-bit and 64-bit pointers to be used within the same code.<ref>{{cite journal|url=https://pdfs.semanticscholar.org/8d96/bbba019c43e80f059825311b67c975a0fede.pdf|archive-url=https://web.archive.org/web/20200219001633/https://pdfs.semanticscholar.org/8d96/bbba019c43e80f059825311b67c975a0fede.pdf|url-status=dead|archive-date=February 19, 2020|title=The OpenVMS Mixed Pointer Size Environment|journal=Digital Technical Journal|volume=8|issue=2|date=1996|pages=72β82|s2cid=14874367}}</ref> This is known as mixed pointer support. The 64-bit OpenVMS Alpha releases support a maximum virtual address space size of 8TiB (a 43-bit address space), which is the maximum supported by the [[Alpha 21064]] and [[Alpha 21164]].<ref name="prog-concepts-i">{{cite web|url=https://vmssoftware.com/docs/VSI_PROGRAM_CONCEPTS_VOL_I.pdf|title=VSI OpenVMS Programming Concepts Manual, Vol. 1|date=April 2020|access-date=October 7, 2020|publisher=VSI}}</ref> One of the more noteworthy Alpha-only features of OpenVMS was ''OpenVMS Galaxy'', which allowed the [[Logical partition|partitioning]] of a single SMP server to run multiple instances of OpenVMS. Galaxy supported dynamic resource allocation to running partitions, and the ability to share memory between partitions.<ref name="galaxy-docs">{{cite web|url=https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c04621422|title=HP OpenVMS Alpha Partitioning and Galaxy Guide|date=September 2003|publisher=HP|access-date=October 22, 2021}}</ref><ref>{{cite web|url=https://www.arnnet.com.au/article/111492/compaq_details_strategy_openvms/|title=Compaq details strategy for OpenVMS|date=October 14, 1998|access-date=January 14, 2021|author=James Niccolai|publisher=Australian Reseller News|archive-date=April 4, 2023|archive-url=https://web.archive.org/web/20230404095822/https://www.arnnet.com.au/article/111492/compaq_details_strategy_openvms/|url-status=dead}}</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)