# OpenVMS

OpenVMS (edo VMS, Virtual Memory System) memoria birtualean oinarritutako sistema eragilea da, multierabiltzailea eta multiprozesatzailea. Denbora banatzeko, loteka prozesatzeko, transakzioak prozesatzeko eta lan-estazioetako aplikazioetarako diseinatuta dago. OpenVMS erabiltzen duten bezeroak bankuak, finantza-zerbitzuak, ospitaleak eta osasun-arreta, telekomunikazio-operadoreak, sareko informazio-zerbitzuak eta industria-fabrikatzaileak izan ohi dira. 1990eko eta 2000ko hamarkadetan, gutxi gorabehera milioi erdi VMS sistema zeuden martxan mundu osoan.
Digital Equipment Corporation (DEC) enpresak kaleratu zuen lehen aldiz, VAX/VMS (Virtual Address eXtension/Virtual Memory System) izenarekin, VAX-11/780 miniordenagailuarekin batera 1977an. Gerora, DEC Alpha sistemetan, Itanium-en oinarritutako HPE Integritate Zerbitzarietan, x86-64 hardwarean eta hiperbistetan exekutagarri izateko eraldaketak egin zitzaizkion OpenVMSri. 2014az geroztik, VMS Software Inc. (VSI) enpresak garatzen eta mantentzen du OpenVMS. OpenVMS bereziki ahaltsua da konputagailuen multzo handiekin jarduteko (klusterrak), hau da, sistema hainbat makina fisikotan banatzeko. Horri esker, klusterretan exekutatzen diren aplikazioak eta haien datuak eskuragarri egon daitezke uneoro, nahiz eta sistema eragilearen softwarea edo hardwarea mantentze-lanetan edo eguneratzen egon edo klusterraren zati bat suntsitu. 17 urte baino gehiago martxan egon diren VMS klusterrak ezagutzen dira.

## Historia
### Jatorria eta izen aldaketak

1975eko apirilean, Digital Equipment Corporation-ek bere PDP-11 ordenagailu-linearako 32 biteko luzapena diseinatzeko proiektuari ekin zion. Hardwarearen osagaiari Star kode-izena jarri zitzaion; sistema eragileari aldiz, Starlet. Roger Gourd izan zen VMS proiektuaren buru. Dave Cutler, Dick Hustvedt eta Peter Lipman software ingeniariek proiektu teknikoen arduradun gisa jardun zuten. Star eta Starlet proiektuen azken emaitza VAX-11/780 ordenagailua eta VAX/VMS sistema eragilea izan ziren. Starlet proiektuaren kode-izenak bizirik dirau VMS sistemaren hainbat liburutegietan, STARLET. OLB eta STARLET. MLB-en, adibidez. VMS gehienbat VAX MACROn mihiztadura-lengoaian idatzi zen, baina zenbait osagai BLISS programazio-lengoaian idatzi ziren.
VMSren lehenengo helburuetako bat DECek lehendik garatu zuen RSX-11M sistema eragilearekin bateragarri izatea lortzea zen. V3.0 kaleratu baino lehen, VAX/VMSk RSX Application Migration Executive (RSX AME) izeneko bateragarritasun-geruza bat zuen, eta horri esker, RSX-11M softwarea VMSren gainean aldaketarik gabe exekutagarri egon zen. RSX AMEk rol garrantzitsua jokatu zuen VAX/VMSren lehen bertsioetan, izan ere, RSX-11Mren erabiltzaile-moduko zenbait baliabide berrerabili egin ziren VAX/VMSn, berarentzako jatorrizko bertsioak argitaratu arte. V3.0 bertsioa atera zenean, berrerabiltzen ziren baliabide guztiak VAX/VMSrentzako inplementatutakoek ordezkatu zituzten. VAX/VMS V4.0n, RSX AME oinarrizko sistematik kendu zen, eta VAX-11 RSX izeneko produktu batek ordezkatu zuen.
VAX/VMSren honako banaketak garatu ziren:
* MicroVMS: MicroVAX eta VAXstation hardwarerako diseinatutako VAX/VMSren banaketa, garai hartako VAX sistema handienek baino memoria eta disko espazio txikiagoa zituena. MicroVMS-ek VAX/VMS hainbat baliabide-multzotan banatu zuen, era horretan, bezeroak bere eskakizun zehatzetara egokitu zezakeen VAX/VMS sistema, baliabideen azpimultzo bat instalatuz. MicroVMS bertsioak VAX/VMSren V4.x bertsio bakoitzerako kaleratu ziren VAX/VMS V5.0 kaleratu zen arte.
* Mahaigaineko-VMS: VAXstation sistemekin batera saldu zen VAX/VMSren banaketa bat izan zen, iraupen laburrekoa. CD-ROM gisa saldu zen eta VMS, DECwindows, DECnet, VAXcluster-entzako euskarria eta erabiltzaile ez-teknikoentzat diseinatutako konfigurazio prozesu bat zituen. Mahaigaineko-VMS CDtik zuzenean exekuta zitekeen edo disko gogor batean instalatu. Mahaigaineko-VMSk bere bertsio-eskema propioa zuen V1.0etik hasita, VMSren V5.x bertsioei zegokiona.
* MOS VP ( 'Multifunctional Operating System with Virtual Memory'): VAX/VMSen oinarritutako banaketa ez-ofiziala (errusieraz: Многофункциональная операционная система с виртуальной памятью, МОС ВП 'Funtzio anitzeko sistema eragilea memoria birtu alarein'): 1980ko hamarkadan Sobietar Batasunean sortu zen VAX klon hardwarearen SM 1700 linearao. MOS VPalfabeto zirilikorako euskarria txertatu zuek softwarean eta erabiltzailearen interfazearen zatiak errusierara itzuli zituen.MicroMOS VP izenaz ezagutzen ziren MicroVMSren antzeko banaketa k( errusieraz: МикроМОС ВП ) edo MOS-3M errusieraz: МОС-32М ) ere sortu ziren errusieraz eta alfabeto zirilikoarekin.
1988ko apirilean V5.0 bertsioa kaleratu ondoren, VAX/VMS izendatzeko VMS erabiltzen hasi zen DEC bere dokumentazioan. 1992ko uztailean, OpenVMS izenaz berrizendatu zuen, software irekiko industriako estandarrak betetzen zituela adierazteko, horien artean POSIX eta Unixekiko bateragarritasuna, eta VAXekiko konexioa bertan behera utzi zuen beste arkitektura baterako migrazioa egiten ari zelako. OpenVMS izena OpenVMS AXP V1.0 bertsioarekin erabili zen lehen aldiz 1992ko azaroan. 1993ko ekainean hasi zen OpenVMS VAX izena erabiltzen, V6.0 bertsioa argitaratzean.

### Alpha arkitekturara eramatea

1980ko hamarkadan, DECek VAX plataforma eta VMS sistema eragilea PRISM arkitektura eta MICA sistema eragilearekin ordezkatzea pentsatu zuen. 1988an proiektu horiek bertan behera utzi zituztenean, talde bat sortu zen RISCen oinarritutako Unix sistemen pareko errendimenduko VAX/VMS sistema berriak diseinatzeko. VAXekin bateragarria zen prozesadore azkarrago bat diseinatzeko saiakerak porrot egin ostean, taldeak VMS eta bere aplikazioak PRISMen oinarritutako RISC arkitekturara eramatea bideragarria zela frogatu zuen. Horrela sortu zen Alpha arkitektura. VMS Alphara eramateko proiektua 1989an hasi zen, eta Alpha EV3n oinarritutako Alpha Demonstration Unit prototipo batean abiarazi zen lehen aldiz 1991eko hasieran.
VMS eta VAX batera diseinatu izana oztopo handia izan zen VMS beste arkitektura batera eramaterako orduan, izan ere, VAX arkitekturaren xehetasun batzuen mende zegoen VMS. Gainera, VMSren nukleoa, geruzetako produktuak eta bezeroek garatutako aplikazioak neurri handi batean VAX MACROren mihiztadura-kodean inplementatu ziren. VMS VAX arkitekturatik banatzeko egindako aldaketen artean MACRO-32 konpiladorea sortu zen, VAX MACRO goi-mailako lengoaia gisa tratatzen zuena, eta Alpha objektu-kodera konpilatzen zuena. Konpilatzaileak VAX arkitekturaren behe-mailako zenbait xehetasun emulatzen zituen PALcoden, adibidez, etenen kudeaketa eta ilara atomikoen gaineko aginduak.
VMS Alphara eramateak bi kode-oinarri desberdinen sorrera ekarri zuen: bata VAXerako eta bestea Alpharako. Alpha koderako liburutegia VAX/VMSren aurreko kode-oinarri batean oinarritu zen, V5.4-2 bertsiokoan gutxi gorabehera. 1992an Alpha AXP sistemetarako OpenVMSren lehen bertsioa kaleratu zen, OpenVMS AXP V1.0 izenarekin. 1994an, OpenVMS V6.1 bertsioa kaleratzean, VAX eta Alpha aldaeren arteko funtzionalitate (eta bertsio-zenbaki) parekotasuna lortu zen, Baliokidetasun Funtzionala (ingelesez, Functional Equivalence) izenaz egin zen ezagun bertsioa. OpenVMS AXPren ekoizpen aurreko kalitate-argitalpenen bertsioak 1.x moduan izendatzeak nahasmena sortu zuen bezero batzuengan, eta hurrengoetarako aldatu egin zen bertsioak izendatzeko modua.
VMS Alphara eraman zenean, hasieran 32 biteko sistema eragile gisa argitaratu zen. Horri esker, 32 biteko VAXetan idatzitako softwarearekin bateragarritasuna bermatu zen. Alpharako 64 biteko helbideratzea lehen aldiz V7.0 bertsioan gehitu zen. 64 biteko kodea 32 biteko kode zaharragoekin erabili ahal izateko, OpenVMSk ez du bereizketarik egiten 32 biteko eta 64 biteko exekutagarrien artean, horren ordez, 32 biteko eta 64 biteko erakusleak erabiltzeko aukera ematen du kode berean. Hori dela eta, erakusle mistoetarako euskarria eskaintzen duela esaten da. 64 biteko OpenVMS Alpha bertsioek 8TB-ko gehienezko helbideratze-espazio birtuala onartzen dute (43 biteko helbideratze-espazioa), hau da, Alpha 21064-ek eta Alpha 21164-ek onar dezaketen handiena.
OpenVMSen, Alpha-rako bakarrik existitzen zen funtzionalitate aipagarrienetako bat OpenVMS Galaxy zen. Hark, OpenVMSren hainbat instantzia aldi berean exekutatu ahal izateko, SMP zerbitzari bakar baten partizio logikoa sortzeko aukera ematen zuen. Abian zeuden partizioetan baliabideen esleipen dinamikoa egitea onartzen zuen Galaxy-k, eta partizioen artean memoria partekatzeko gaitasuna ere eskaintzen zuen.

### Intel Itanium-era eramatea

2001ean, Hewlett-Packard-ek erosi aurretik, OpenVMS Intel Itanium arkitekturara eramango zuela iragarri zuen Compaq-ek. Alpha arkitekturaren garapenarekin ez segitzea eta horren ordez, garai hartan berria zen Intel Itanium arkitekturarako migrazioari ekin zion horrela Compaq-ek. Migrazioa 2001aren amaieran hasi zen, eta lehenengo abiatzea 2003ko urtarrilaren 31n egin zen. Lehen abiatze hartan, sistemaren konfigurazio minimo bat jarri zen martxan HP i2000 lan-estazio batean, erabiltzaile moduan SYSTEM erabiliz eta DIRECTORY agindua exekutatuz. Itanium-erako OpenVMSk HPE Integrity Servers-en eredu eta konfigurazio espezifikoak onartzen zituen. Itanium-erako bertsioei hasieran, HP OpenVMS Industry Standard 64 for Integrity Servers izena eman zitzaien, baina OpenVMS I64 edo OpenVMS for Integrity Servers izenak maizago erabiltzen ziren.
Itaniumerako migrazioa Alpharako kodearen liburutegiarekin batera mantendutako iturburu-kodea erabiliz egin zen, baldintzazko kodea eta modulu gehigarriak gehituta, Itaniumerako egindako aldaketa espezifikoak zehazteko. OpenVMSk arkitekturarekiko zituen hainbat mendekotasun ordeztu edo software bidez emulatu egin behar izan ziren. Egin behar izan ziren aldaketa batzuk hauek dira: sistema eragilea abiarazteko Extensible Firmware Interface (EFI) erabiltzea, Alpha PALcode-k nukleoaren barruan aurrez emandako funtzionalitatea berrezartzea, artxibo exekutagarrietarako formatu berriak erabiltzea (Executable and Linking Format eta DWARF), eta koma mugikorrerako IEEE 754 formatua lehenestea.
VAXetik Alpharako migrazioan bezala, Alphatik Itaniumerako urratsean ere itzultzaile bitar bat erabili zen, iturburu-kodea birkonpilatzea posiblea ez zen egoeretan OpenVMS Alpha softwarea Itaniumera eramateko. Itzultzaile horrek Alpha Environment Software Translator (AEST) izena du, eta VAXerako exekutagarrien itzulpenerako ere erabil zitekeen, aldez aurretik VEST bidez itzuli ondoren.
Aurreprodukziozko bi bertsio, OpenVMS I64 V8.0 eta V8.1, eskuragarri egon ziren 2003ko ekainaren 30ean eta abenduaren 18an. Bertsio horiek HP erakundeentzat eta OpenVMS I64-ra software-paketeak migratzeaz arduratzen ari ziren hornitzaileentzat ziren. Lehen produkzio-bertsioa, V8.2, 2005eko otsailean argitaratu zen. V8.2 bertsioa ere argitaratu zen Alpharako, OpenVMSren ondorengo V8.x bertsioek Alpha eta Itanium arkitekturetarako ezaugarriak mantendu dituzte.

### x86-64ra eramatea

VMS Software Inc. (VSI) enpresak HPren eskutik OpenVMS sistema eragilea garatzeko eskubideak lortu zituztela iragarri zuenean, OpenVMS x86-64 arkitekturara eramateko asmoa zuela adierazi zuen. Migraziorako ahalegina enpresa ezartzearekin batera egin zen, baita Itanium eta Alpha arkitekturetarako OpenVMS V8.4-x bertsioetarako VSIren garapen propioak sortzearekin batera ere.
x86-64rako migrazioa HPE eta Dell-en zerbitzari espezifikoetarako egin zen, baita makina birtualen hiperbisore batzuetarako ere. Hasierako euskarria Kernel-based Virtual Machine (KVM)-erako eta VirtualBox-erako egin zen. VMware-rako euskarria 2020an iragarri zen, eta Hyper-V etorkizuneko helburu gisa finkatu zuten. 2021ean egiaztatu zen x86-64-rako migrazioak Intel Atom-en oinarritutako ordenagailu batean funtzionatzen zuela.
Alpha-rako eta Itanium-erako migrazioekin bezala, x86-64-ra eramatean ere zenbait aldaketa egin ziren plataforma berrian eramangarritasuna eta OpenVMSren euskarria sinplifikatzeko: VMS konpilatzaileek erabiltzen zuten atzeko GEM konpilatzaile jabeduna LLVM konpilatzaileaz ordeztu,; abiatze-prozesua aldatu, OpenVMSren abiatzea memoria-disko batetik egiteko eta OpenVMSren lau pribilegio-mailak software bidez simulatu; izan ere, x86-64ko pribilegio-mailetako bi bakarrik erabil zitzakeen OpenVMSk.
Lehen abiatzea 2019ko maiatzaren 14an iragarri zen. Horrek OpenVMS VirtualBox-en abiatzea esan nahi zuen eta DIRECTORY komandoa arrakastaz exekutatzea. 2020ko maiatzean, V9.0 Early Adopter's Kit bertsioa bezero gutxi batzuen eskura jarri zen. Horretarako, OpenVMS sistema eragilea VirtualBox makina birtualean martxan jarri zen muga batzuekin. Garrantzitsuenak, geruza-produktu gutxi jarri zirela eskuragarri, eta kodea x86-64rako soilik konpilatu daitekeela, Itaniumen oinarritutako OpenVMS sistemekin funtzionatzen duten zeharkako konpiladoreak erabiliz. V9.0ren ondoren, VSIk hainbat eguneratze egin zituen hilero edo bi hilean behin, funtzionalitate gehigarriak eta hiperbisoreetarako euskarria eransteko. Bertsioak V9.0-A-tik V9.0-H-ra izendatuak izan ziren.. 2021eko ekainean, VSIk V9.1 Field Test kaleratu zuen, VSIren bezero eta bazkideentzat. V9.1 bertsioa ISO irudi gisa eskaintzen da eta hainbat hiperbisoretan instala daiteke, V9.1-A bertsiotik aurrera baita HPE ProLiant DL380 zerbitzarietan ere.
x86-64-rako OpenVMS 9.2 bertsioak eskuragarritasun orokorra lortu du 2022ko uztailaren 14an.

### Eragina

1980ko hamarkadan, PRISM arkitekturarako MICA sistema eragilea VMSren behin-behineko ondorengoa izatea espero zen. VMS aplikazioekin bateragarri izateko diseinatu zen MICA, eta baita Ultrix aplikazioetarako euskarria emateko ere, nukleo beraren gainean. Azkenean, MICA bertan behera geratu zen, PRISM plataformaren gainerakoarekin batera, eta, horren ondorioz, Dave Cutler-ek DEC utzi zuen Microsoftera joateko. Microsoften, Cutler izan zen Windows NT sistema eragilearen sorrera gidatu zuena, neurri handi batean MICAren arkitekturan inspiratuta. Hori dela eta, Windows NT-ren asaba moduan hartzen da VMS, RSX-11rekin, VAXELN-rekin eta MICA-rekin batera; antzekotasun handia dago VMSren eta NTren artean.
VMSren arauei jarraituz, kode irekiko sistema eragile bat garatzeko egitasmoa izan zen, FreeVMS izeneko proiektua, baina gaur egun ez dago indarrean. L4 microkernel-aren gainean eraikia dago eta x86-64 arkitekturan erabil daiteke. Microkernel-etan oinarritutako arkitekturak erabiliz VMSren inplementazioak sortzeko ikerketak egin zituzten DECeko langileek Carnegie Mellon Unibertsitatearen laguntzarekin, VAXstation 3100 hardwarera migratutako Mach 3.0 mikrokernela erabiliz, eta arkitekturarako eredu multi-zerbitzaria erabiliz.

## Arkitektura

OpenVMS sistema eragileak geruza-arkitektura bat du, pribilegioak dituen Executive geruza dago, tarteko-mailako baimenak dituen komandoen interpretatzailea (Command Language Interpreter) eta pribilegiorik gabeko erabilgarritasunak eta exekuziorako liburutegiak (run-time libraries, RTLs)). Pribilegiorik gabeko kodeak sistemaren zerbitzuak (beste sistema eragile batzuetako sistema-deien baliokideak) erabiliz Executive-ren funtzionaltasuna martxan jartzen du.
OpenVMSren geruzak eta mekanismoak VAX arkitekturaren ezaugarri batzuen inguruan eraikitzen dira, hala nola:
* Prozesadorera iristeko lau modu izatea (Kernel, Executive, Supervisor eta User izenekoak, pribilegio handienekotik txikienekora). Modu bakoitzak bere pila du, eta memoria-orri bakoitzak memoria-babes espezifikoak izan ditzake.
* Helbide birtualetarako espazioa, bi atal bereizten dituena: prozesuetarako espazio pribatua eta sistemaren espazioa, prozesu guztietarako komuna dena.
* Etenetarako 32 lehentasun-maila, sinkronizaziorako erabiltzen direnak.
* Desbiderapen asinkronoak (asynchronous system trap) hardware-euskarria prozesuen esku jartzeko.
VAX arkitekturaren mekanismoak Alpha-rako, Itanium-erako eta x86-64-rako inplementatuta daude, arkitektura horien hardware-mekanismoetara mapeatuz, edo emulatuz (Alphan PALcode bidez, edo Itanium-en eta x86-64-en softwareen bidez).

### Executive-a eta Kernel-a

OpenVMSren Executive atalak pribilegiodun kodea eta sistemaren espazioan dauden datu-egiturak biltzen ditu. Executive, gainera, bitan banatzen da: Kernel-a, nukleoa atzitzeko moduan exekutatzen den kodea, eta nukleotik kanpoko kodea, pribilegio gutxiagokoa eta exekutiboa atzitzeko moduan exekutatzen dena.
Exekutiboa atzitzeko moduan funtzionatzen duten Executive-ko osagaien artean erregistroak kudeatzeko zerbitzuak (ingelesez, Record Management Services) eta sistemaren zenbait zerbitzu daude, hala nola irudiak aktibatzea. Nukleoa eta exekutiboa atzitzeko moduen arteko diferentzia nagusia da sistema eragilearen datu-egitura zentral gehienak exekutibotik irakur daitezkeela, baina idazteko nukleorako atzipen modua behar dela. Exekutibo-moduan exekutatzen ari den kodea nukleo-moduan exekutatzera pasa daiteke, hala nahi bada. Ustekabeko akatsen kontrako babes gisa bereizten dira bi moduak.
Kernel-ak edo nukleoak sistema eragilearen funtsezko datu-egiturak (orrien taulak, sarrera/irteera eta planifikazio-datuak) eta egitura horietan eragiten duten errutinak biltzen ditu. Nukleoak hiru azpisistema nagusi ditu: sarrera/irteera, prozesuen planifikazioa eta denboraren zein memoriaren kudeaketa. Gainera, beste funtzio batzuk ere betetzen ditu, hala nola izen logikoen kudeaketa, sinkronizazioa eta sistemaren zerbitzuen banaketa.
Pribilegio egokiak dituen erabiltzaile-moduko kodeari exekutibo-modura edo nukleo-modura aldatzen uzten dio OpenVMSk, $CMEXEC eta $CMKRNL sistemaren zerbitzuak erabiliz, hurrenez hurren. Horri esker sistemaren espaziotik kanpo dagoen kodeak zuzeneko atzipena izango du Executive-ko errutinetara eta sistemaren zerbitzuetara. Gainera, sistema eragilearen oinarrizko zerbitzuek pribilegiodun irudiak erabiltzen dituzte, dokumentatu gabeko interfazeen bidez sistema eragilearen datu-egiturak manipulatzeko.

### Fitxategi-sistema

Erabiltzaileek eta aplikazioek fitxategi-sistemarekin eragiteko modu ohikoena Erregistroak kudeatzeko zerbitzuak (Record Management Services, RMS) prozedurak erabiltzea da, nahiz eta aplikazioek azpiko fitxategi-sistemarekin zuzenean eragin dezaketen S/Iko ilaren (Queue I/O, QIO) zerbitzuen bidez. VMSk onartzen dituen fitxategi-sistemak Files-11 On-Disk Structures (ODS) izenez ezagutzen dira, eta garrantzitsuenak ODS-2 eta ODS-5 dira. ISO 9660 CD-ROMetako eta zinta magnetikoetako (ANSI zinta-etiketa dutenak) fitxategiak atzitzeko ere gai da VMS.
2TB bolumenera mugatuta dago Files-11. DEC hura ordezten saiatu zen log-structured file system moduko fitxategi-sistema batekin. Spiralog izena zuen eta 1995ean merkaturatu zen lehen aldiz. Hala ere, Spiralog-en garapena eten egin zen hainbat arazoren ondorioz. Horren ordez, kode irekiko GFS2 fitxategi-sistema OpenVMSra eramatearen eztabaida sortu zen.

### Komendoen Iterpretatzailea (Command Language Interpreter)

OpenVMSren Command Language Interpreter (CLI) komando-lerroko interfaze baten inplementazioa da; komandoen (aginduen) eta komando-prozeduren (shell script-en edo batch-fitxategien baliokideen) exekuzioaz arduratzen da. OpenVMSrako CLI estandarra DIGITAL Command Language da, baina beste aukera batzuk ere badaude.
Unixeko shell-etan ez bezala (normalean, beren prozesu isolatuan exekutatzen dira, eta beste edozein erabiltzaile-moduko programek bezala jokatzen dute), OpenVMSko CLIak prozesu baten hautazko osagaia dira, eta prozesu horrek exekuta dezakeen edozein irudi exekutagarrirekin batera doaz. Unix-eko shell-ak normalean exekutagarriak exekutatuko ditu fork-exec bidez aparteko prozesu bat sortuz, baina OpenVMSren CLIak normalean prozesu berean kargatuko du irudi exekutagarria, kontrola irudiari pasako dio eta kontrola berriro CLIari pasako diola ziurtatuko du, irudiaren exekuzioa amaitu eta prozesua jatorrizko egoerara itzuli denean.
CLIa erabiltzailearen kodearen helbide-eremu berean kargatzen denez, eta CLIak irudiaren aktibazioa eta exekuzioa eskatzeko ardura duenez, CLIa prozesuen helbideen espazioan mapatzen da supervisor edo ikuskatzaile atzipen-moduarekin (erabiltzaile-kode gehienek dutena baino pribilegio-maila altuagoarekin). Hala, CLIren kodea eta datu-egiturak erabiltzaile-moduko kodearen bidez nahi gabe edo maltzurkeriaz manipulatzea saihesten da.

## Ezaugarriak
### Clustering-a edo konputagailuen multzokatzea

OpenVMSk clusteringa onartzen du (hasieran VAXcluster eta gerora VMScluster moduan ezagutu zena), hau da, ordenagailu ezberdinek sistema eragilearen instantzia propioa exekutatzea onartzen du. Clustering-ean parte hartzen duten ordenagailuak (nodoak) erabat independenteak izan daitezke haien artean edo posiblea da, baita ere, gailu batzuk partekatzea, hala nola, disko gogorrak, inprimagailuak, gailu zehatz batzuen kontrolagailuak, etab. Nodoen arteko komunikazioak sistemaren irudiaren abstrakzio bakarra (ingelesez SSI, Single System Image) eskaintzen du. Nodoak elkarren artean konektatuta egon daitezke hardware-konexio jabedun baten bidez (Cluster Interconnect) edo Ethernet konexio estandar baten bidez.
OpenVMSk kluster batean 96 nodora arte onartzen ditu. Arkitektura mistoko klusterrak ere onartzen ditu (VAX, Alpha eta Itanium konputagailuek arkitektura desberdinak dituzte). OpenVMS clusterretan aurreikusitako edo aurreikusi gabeko etenaldi bat gertatuz gero, aplikazioek normaltasunez funtziona dezakete. Aurreikusitako etenaldiak hardware eta software eguneratzeak izan daitezke, adibidez.

### Saretzea

DECnet protokolo-multzoa VMSn integratuta dago xehetasun osoz eta horri esker sare bidez urrunetik saioa has daiteke VMS sistemetan, urrunetik fitxategietarako sarbidea lortu edo inprimagailuak erabili, besteak beste. VMSren bertsio modernoek DECnet IV faseko protokolo tradizionala onartzen dute, baita OSIrekin bateragarria den V fasea ere (DECnet-Plus izenez ere ezaguna). TCP/IP protokoloa ere onartzen du OpenVMSk, baldin eta OpenVMSrako TCP/IP Zerbitzuak produktua instalatuta badago (hasieran VMS/ULTRIX izena jarri zitzaion, ondoren ULTRIX Communications Extensions edo UCX). SSH, DHCP, FTP eta SMTP protokoloetarako euskarria ere badu OpenVMSk, denak ere, BSD sare-pilaren ataka batean oinarrituak daudenak.
DECek PATHWORKS izeneko software pakete bat saldu zuen (hasieran PCSA edo Personal Computer Systems Architecture izenez ezaguna) MS-DOS, Microsoft Windows, OS/2 edo Apple Macintosh erabiltzen zuten ordenagailuak VMS sistemetako terminal gisa erabili ahal izateko edo VMS sistemak fitxategien edo inprimagailuen zerbitzari moduan erabiltzeko. Gerora, Advanced Server for OpenVMS izena eman zitzaion PATHWORKS-i (OpenVMSrako zerbitzari aurreratua), eta Itanium arkitekturarako migrazioa egin zen garaian Samba-ko VMS ataka batez ordezkatua izan zen.
DECek Local Area Transport (LAT) protokoloa eskaintzen zuen, eta horri esker urruneko terminal eta inprimagailuak VMS sistemetara konekta zitezkeen terminalen zerbitzarien bidez, DECserver familiako baten bidez, adibidez.

### Programazioa

DECek (eta lekukoa hartu zioten enpresek) VMSn programazio-lengoaia ugari erabiltzeko aukera eman zuen. VMSn ofizialki onartzen diren lengoaiak, gaur egungoak edo garai batekoak, hauek dira: VAX MACRO, BLISS, C, DCL, Fortran, Pascal, COBOL, BASIC, C++, Java, Common Lisp, APL, Ada, PL/I, DIBOL, CORAL, OPS5, RPGII, MUMPS, MACRO-11, DECTPU, VAX SCAN.
OpenVMSren ezaugarri aipagarrienetako bat Common Language Environment (euskaraz, Lengoaien Ingurune Komuna) da, zorrozki definitutako estandarra, funtzioei eta errutinei dei egiteko arauak zehazten dituena eta gainera, programazio-lengoiaren araberakoak ez diren pila, erregistro etab.en erabilera zehazten duena. Horri esker, lengoaia batean idatzitako errutina bati (Fortran-en, adibidez) beste batetik (COBOL-en idatzitakotik, adibidez) deitzea posiblea da, beste programazio-lengoaiaren xehetasunak ezagutzeko beharrik gabe. OpenVMS bera lengoaia askotan inplementatuta dago, baina Lengoaien Ingurune Komunari eta deietarako estandarrari esker, lengoaia horiek guztiak konbinatu ahal izatea lortzen da. DECek Egituren Definiziorako Lengoaia (ingelesez, Structure Definition Language, SDL) izeneko tresna sortu zuen, lengoaia ezberdinetatik erabiliko ziren datu-egituren definizioak erazagupen komun batetik sortzeko.

#### Garapenerako tresnak

DECek softwarea garatzeko tresnen bilduma bat argitaratu zuen DECset izeneko produktu batean (jatorriz VAXset izenekoa). Bilduma horren baitan honakoak zeuden: Lengoaiarekiko Sentikorra den Editorea (ingelesez Language-Sensitive Editor, LSE) izeneko editore bisuala OpenVMSrako bereziki garatua, bertsioen kontrolerako sistema bat (Code Management System, CMS), kode-fitxategietatik fitxategi exekutagarriak sortuz programen exekuzioa ahalbidetzeko sistema bat (Module Management System, MMS), softwarearen analisi estatikoa egin eta programa exekutatu gabe bere zuzentasuna aztertzeko sistema bat (Source Code Analyzer, SCA), programen eraginkortasuna aztertzeko sistema bat programaren analisi dinamikoa egin ondoren haren exekuzio-denborei buruzko azterketak egiteko balio duena (Performance and Coverage Analyzer, PCA) eta programen proba kasuak exekutatzeko laguntza ematen zuen sistema bat (Digital Test Manager , DTM). Horrez gain, testu-editore batzuk ere sartu ziren, besteak beste, EDT, EVE eta TECO.
OpenVMS Debugger araztaileak DECen konpilatzaile guztiak onartzen ditu, baita beste hainbat programazio-lengoaia ere. Eten-puntuen eta zaintza-puntuen bidezko arazketa egiteko gai da eta gainera, programa exekutatzen den bitartean ere egin daiteke arazketa modu interaktiboan, komando-lerroa edo erabiltzailearen interfaze grafikoa erabiliz. Behe-mailako araztaileak ere badaude, DELTA eta XDELTA, kode arrunta arazteaz gain pribilegio bereziko kodea ere arazteko.
2019an, VSIk garapen-ingurune integratu bat kaleratu zuen VMSrako, Visual Studio Code-n oinarritua. Horri esker, urrunetik garatu eta araztu daitezke VMS aplikazioak Microsoft Windows, macOS edo Linux lan-estazioetatik.

#### Datu-baseen kudeaketa

DECek datu-baseak kudeatzeko hainbat produktu sortu zituen VMSrako, eta horietako batzuk VAX Information Architecture izeneko familiaren baitan merkaturatu ziren. Produktu horiek honakoak zituzten:
* Rdb: Datu-base erlazionala, hasiera batean jabegodun Relational Data Operator (RDO) kontsulta-interfazea erabiltzen zuena baina gerora SQL erabiltzera igaro zena.
* DBMS: Datu-baseak kudeatzeko sistema, CODASYL sare-eredua eta Data Manipulation Language (DML) erabiltzen dituena.
* Digital Standard MUMPS (DSM): programazio-lengoaia integratua eta gako-balio motako datu-basea.
* Common Data Dictionary (CDD): datu-base eskemen biltegi zentral bat, aplikazio ezberdinen artean datu-baseen eskemak partekatzeko eta programazio-lengoaia ezberdinetan erabiltzeko datu-definizioak sortzeko aukera ematen duena.
* DATATRIEVE: RMS fitxategietatik eta Rdb eta DBMS datu-baseetatik datuak atzitzeko gaitasuna duen kontsultarako eta txostenak egiteko tresna.
* Application Control Management System (ACMS): transakzioak prozesatzeko monitorea, goi-mailako Task Description Language (TDL) lengoaia erabiliz aplikazioak sortzeko aukera ematen duena. Transakzio baten urratsak DCL aginduak edo Common Language Environment prozedurak erabiliz inplementa daitezke. Erabiltzailearen interfazeak inplementa daitezke TDMS, DECforms edo Digital-en ALL-IN-1 ofimatika produktua erabiliz.
* RALLY, DECadmire - Datu-baseetan babestutako aplikazioak sortzeko laugarren belaunaldiko programazio-lengoaiak (fourth-generation programming languages, 4GLs). DECadmire ACMSrekin integratu zen, eta gerora Windows PCrako Visual Basic erabiltzen duten bezero-zerbitzari aplikazioak sortzeko euskarria gehitu zion.
1994an, Rdb, DBMS eta CDD Oracle enpresari saldu zizkion DECek, eta gaur egun enpresa horrek produktu horien garapenarekin segitzen du. 1995ean, DSM InterSystems enpresari saldu zion DECek. InterSystems-ek Open M izena jarri zion, baina azkenean bere Caché produktuarekin ordezkatzea erabaki zuen.
Aipatutakoez gain, datu-baseak kudeatzeko sistema hauek ere erabil daitezke OpenVMSn: MariaDB, Mimer SQL eta System 1032.

### Erabiltzaile-interfazeak

Hasieran, testuan oinarritutako DECen terminaletan modu interaktiboan erabiltzeko eta kudeatzeko diseinatu zen VMS (DECen VT100 terminalean edo DECwriter seriekoetan, adibidez). 1984an VAXstation lerroa aurkeztu zenetik, VMS erabiltzaile-interfaze grafikoetan erabil zitekeen lan-estazioetan eta X terminaletan (VT1000 seriekoetan, adibidez).

#### Testuan oinarritutako erabiltzaile-interfazeak

OpenVMS sistema eragilearen lehen bertsioa argitaratu zenetik, DIGITAL Command Language (DCL) izan da haren agindu bidezko lengoaiaren interpretatzaile nagusia (Command Language Interpreter, CLI). Hala ere, badira VMSrako beste agindu bidezko interpretatzaile ofizial batzuk, hala nola, RSX-11 MCR (VAXen bakarrik) eta hainbat Unix shell. Gainera, DECek hainbat tresa argitaratu zituen testuetan oinarritutako erabiltzaile-interfazeetarako aplikazioak garatzeko, adibidez, Form Management System (FMS) eta Terminal Data Management System (TDMS), gerora DECforms-ek ordezkatuko zituena. Behe-mailako interfaze bat ere bazegoen, Screen Management Services (SMG$) izenekoa, Unix-erako curses-en antzekoa.

#### Erabiltzaile-interfaze grafikoak (GUI)

Urteetan zehar, VMSk hainbat GUI interfaze eta tresna erabili ditu:
* VMSren jatorrizko interfaze grafikoa VMS Workstation Software (VWS) izan zen, 1984ean VAXstation I-erako sortu zen leiho-sistema jabeduna. User Interface Services (UIS) izeneko API bat zuen. VAX hardware sorta mugatu batean funtzionatzen zuen.
* 1989an, DECek X11n oinarritutako leiho-sistema berri batez ordezkatu zuen VWS: DECwindows. VAX/VMS V5.1 bertsioan erabiltzeko eskaini zen lehen aldiz. DECwindows-en lehen bertsioek X User Interface (XUI) izeneko tresna-sorta baten gainean eraikitako interfazea izan zuten. UISX izeneko produktu bat ere eskaini zen, VWS/UIS aplikazioak DECwindows-en exekutatu ahal izateko. Ondoren, Open Software Foundation-ek XUI-ren zatiak erabili zituen, Motif tresna-sorta garatzeko.
* 1991n, DECek XUIren ordez Motif tresna-sorta erabiliz DECwindows Motif sortu zuen. Horren ondorioz, OpenVMS V6.0 bertsioan Motif Window Manager bihurtu zen lehenetsitako DECwindows interfazea bihurtu zen, nahiz eta XUI leiho kudeatzailea aukera moduan erabilgarri mantendu zen.
* 1996an, DECwindows Motif-erako New Desktop interfazea argitaratu zuen DECek OpenVMS V7.1 bertsioarekin, Common Desktop Environment-en (CDE) oinarritua. Alpha eta Itanium sistemetan, saioa hastean oraindik ere hauta daiteke MWMn oinarritutako erabiltzaile-interfaze zaharragoa ("DECwindows Desktop" izenez ezagutzen dena). New Desktop ez zen inoiz OpenVMSren VAX bertsioetara eraman.
90eko hamarkadan, DEC-Alpha lan-estazioetan exekutatzen ziren VMSren bertsioek OpenGL eta Advanced Graphics Port (AGP) grafikoetarako egokitzaileak erabiltzeko aukera eman zuten. Estandar grafiko zaharragoetarako euskarriak ere eskaintzen ziren, hala nola GKS eta PHIGS. DECwindows-en bertsio modernoak X.Org Server-en oinarritzen dira.

### Segurtasuna

OpenVMSn ez dira gutxi segurtasuna bermatzeko tresnak eta mekanismoak, horien artean, segurtasun-identifikatzaileak, baliabide-identifikatzaileak, azpisistema-identifikatzaileak, access-control list-ak (ACL), intrusioen detekziorako sistema, segurtasunaren auditoriak eta alarmak, besteak beste. Estatu Batuetako Trusted Computer System Evaluation Criteria (TCSEC) irizpideen arabera, C2 klasean kokatzen da OpenVMV (hau da, fidagarritasun maila ertainekoa) eta indartutako segurtasuna duen SEVMS bertsioa B1 klasean (fidagarritasun maila altukoa). Sistema informatikoen segurtasun-maila neurtzeko ITSEC eskalan E3 baloratioa du OpenVMSk (E0 izanik balorazio baxuena eta E6 altuena) (ikus National Computer Security Center (NCSC) eta Common Criteria). Pasahitzen hash-ak Purdyren polinomioa erabiliz lortzen dira.

#### Ahuldadeak

* VMSren lehen bertsioetan, pribilegiodun erabiltzaile-kontu batzuk zeuden (SYSTEM, FIELD, SYSTEST eta DECNET barne). Kontu horiek lehenetsitako pasahitzak zituzten eta sistemaren kudeatzaileek sarritan ez zituzten pasahitz horiek aldatzen. Hainbat konputagailu har sortu ziren, WANK harra eta Father Christmas harra kasu, kontu horien pasahitzak lortu eta DECnet sareetara sartzeko. V5.0 bertsioan kontu horiei ez zitzaien lehenetsitako pasahitzik jarri eta, harrezkero, sistemaren konfigurazioa egitean kontu horietarako pasahitzak zehaztu behar izan zituzten erabiltzaileek nahitaez.
* 2017an, ahuldade bat atzeman zen VAX eta Alpha arkitekturetako VMSn, 33 urtez inor konturatu gabe egon zena, eta CVE ID CVE-2017-17482 esleitu zitzaion. Ahuldade horren ondorioz, plataforma horietan DCL agindu-lerrora sartzeko aukera zuen erasotzaileak pribilegioen eskalan gora eginez erasoa egin ahal izango zuen. Ahuldadea horrela azal daiteke: DCL agindu-prozesatzailearen kodean akatsa zegoen bufferaren gainezkatzearen tratamenduan, erabiltzaileak martxan zegoen programa exekutagarri bat geldiarazi zezakeen CTRL/Y erabiliz eta komando lerroko prompt-era bueltatuz, eta arazoa sortzen zen DCLk geldiarazitako programaren baimen edo pribilegioak mantentzen zituelako. Horrela, shell kodea exekuta zitekeen geldiarazitako programa exekutagarriaren baimenekin. Erasotzailearen erabiltzaile-kontuaren baimen-maila baino altuagoko programa exekutagarri bat izanez gero, erasotzaileak ahuldade horri etekin atera ziezaiokeen sistemaren segurtasuna saihesteko.

## Zaletuen programak

1997an, OpenVMS eta zenbait geruza-produktu doan eskaini ziren zaletuentzat erabilera ez-komertzialerako, OpenVMS Hobbyist Program programaren barruan. Orduz geroztik, OpenVMS softwarea ekoizte duten zenbait enpresak baldintza beretan jarri dituzte eskura haien produktuak, Process Software, adibidez. x86-64 arkitekturarako migrazioa egin aurretik, OpenVMS erabiltzeko gai zen hardwarea zaharra eta garestia zenez, SIMH moduko emuladoreak erabiltzen zituzten zaletuek OpenVMS instalatzeko.
2020ko martxoan, HPEk OpenVMS Hobbyist Program programaren amaiera iragarri zuen. Horren ondoren, HPEren OpenVMS Hobbyist Program ordezkatzeko asmoz, Community License Program (CLP) iragarri zuen VSIk, 2020ko apirilean. 2020ko uztailean atera zen CLP, eta Alpha eta Integrity sistemetarako OpenVMSren bertsioetarako lizentziak eskaintzen ditu. x86-64 arkitekturarako OpenVMSren lizentziak eskuragarri egongo dira arkitektura horretarako bertsio egonkor bat argitaratzen denean. CLP ezin da erabili VAXetan OpenVMS instalatzeko, VSIk ez baitauka VAXerako OpenVMSren bertsiorik, eta bertsio zaharrak oraindik HPErenak baitira.

## Erreferentziak

* 1 2 3 4 5 OpenVMS at 20 Nothing stops it. Digital Equipment Corporation October 1997.
* 1 2 3 Software Product Description and QuickSpecs - VSI OpenVMS Version 8.4-2L1 for Integrity servers. VMS Software Inc. July 2019.
* ↑ VSI Business & New Products Update – April 9, 2019. VSI April 2019.
* ↑ Drew Robb. (2004-11-01). «OpenVMS survives and thrives» computerworld.com.
* ↑ Tao Ai Lei. (1998-05-30). «Digital tries to salvage OpenVMS» computerworld.co.nz.
* ↑ Jesse Lipcon. (October 1997). OpenVMS: 20 Years of Renewal. Digital Equipment Corporation.
* ↑ «VAX-11/780 Hardware Handbook» ece.cmu.edu 1979.
* ↑ Patrick Thibodeau. (June 11, 2013). «OpenVMS, R.I.P. 1977-2020?» Computerworld.
* ↑ VAX 11/780 - OLD-COMPUTERS.COM : HISTORY / detailed info. .
* ↑ VSI Products. VSI.
* ↑ «Rollout of V9.0 and Beyond» VSI 19 May 2020.
* ↑ «HP hands off OpenVMS development to VSI» Tech Times August 1, 2014.
* 1 2 «VSI Products - Clusters» VSI.
* 1 2 Cluster Uptime. 2003-11-28.
* ↑ Commerzbank Survives 9/11 with OpenVMS Clusters. July 2009.
* ↑ February 2018 Business & Technical Update. VSI February 2018.
* ↑ Stephen Hoffman. (September 2006). «What is OpenVMS? What is its history?» hoffmanlabs.com.
* 1 2 Software Product Description - VAX/VMS Operating System, Version 1.0. Digital Equipment Corporation September 1978.
* ↑ Software Product Description VAX-11 RSX, Version 1.0. Digital Equipment Corporation October 1984.
* ↑ «Micro VMS operating system» Computerworld: 7. June 18, 1984.
* 1 2 VMS Version 5.0 Release Notes. DEC April 1988.
* ↑ Bob McCormick. (1989-01-11). «DECUServe WORKSTATIONS Conference 8» home.iae.nl.
* ↑ «Office Archaeology» blog.nozell.com 2004-02-24.
* ↑ Software Product Description - Desktop-VMS, Version 1.2. Digital January 1991.
* ↑ «OpenVMS pages of proGIS Germany» vaxarchive.org.
* ↑ Txantiloi:Russian Computer Complexes, Technical Equipment, Software And Support Of The System Of Small Electronic Computer Machines (SM Computer). Soviet Union Research Institute of Information and Economics May 1989.
* ↑ Txantiloi:Russian Prokhorov N.L.; Gorskiy V.E.. «Basic software for 32-bit SM computer models» Software Systems Journal 1988 (3).
* ↑ Txantiloi:Russian Egorov G.A.; Ostapenko G.P.; Stolyar N.G.; Shaposhnikov V.A.. «Multifunctional operating system that supports virtual memory for 32-bit computers» Software Systems Journal 1988 (4).
* ↑ Txantiloi:Russian «Installing OS MOS-32M» pdp-11.ru 2012-06-16.
* ↑ VMS Version 5.0 Release Notes. Digital Equipment Corporation April 1988.
* ↑ Digital Introduces First Generation of OpenVMS Alpha-Ready Systems. Digital Equipment Corporation 1992-07-15.
* ↑ OpenVMS Definition from PC Magazine Encyclopedia. .
* ↑ Arne Vajhøj. (1999-11-29). «OpenVMS FAQ - What is the difference between VMS and OpenVMS?» vaxmacro.de.
* ↑ «History of the Vernon the VMS shark» vaxination.ca.
* ↑ Dave Cutler. (1988-05-30). «DECwest/SDT Agenda» bitsavers.org.
* ↑ EV-4 (1992). 2008-02-24.
* 1 2 Comerford, R.. (July 1992). «How DEC developed Alpha» IEEE Spectrum 29 (7): 26–31. doi:10.1109/6.144508..
* ↑ Managing Technological Leaps: A study of DEC's Alpha Design Team. April 1993.
* ↑ Supnik, Robert M.. (1993). «Digital's Alpha project» Communications of the ACM 36 (2): 30–32. doi:10.1145/151220.151223. ISSN 0001-0782..
* 1 2 Clair Grant. (June 2005). «Porting OpenVMS to HP Integrity Servers» OpenVMS Technical Journal 6.
* 1 2 Nancy P. Kronenberg; Thomas R. Benson; Wayne M. Cardoza; Ravindran Jagannathan; Benjamin J. Thomas III. (1992). «Porting OpenVMS from VAX to Alpha AXP» Digital Technical Journal 4 (4).
* ↑ «Access to OpenVMS Source Code?» HP OpenVMS Systems ask the wizard September 2, 1999.
* 1 2 OpenVMS Compatibility Between VAX and Alpha. Digital Equipment Corporation May 1995.
* ↑ «Extending OpenVMS for 64-bit Addressable Virtual Memory» Digital Technical Journal 8 (2): 57–71. 1996.
* ↑ «The OpenVMS Mixed Pointer Size Environment» Digital Technical Journal 8 (2): 72–82. 1996.
* ↑ VSI OpenVMS Programming Concepts Manual, Vol. 1. VSI April 2020.
* ↑ HP OpenVMS Alpha Partitioning and Galaxy Guide. HP September 2003.
* ↑ James Niccolai. (1998-10-14). Compaq details strategy for OpenVMS. Australian Reseller News.
* ↑ «Wayback Machine» web.archive.org (Noiz kontsultatua: 2022-07-29).
* ↑ (Ingelesez) Andrew Orlowski. «Farewell then, Alpha – Hello, Compaq the Box Shifter» www.theregister.com (Noiz kontsultatua: 2022-07-29).
* ↑ «OpenVMS Boots on Itanium on Friday Jan 31» groups.google.com (Noiz kontsultatua: 2022-07-29).
* ↑ Software Product Description and QuickSpecs, PRODUCT NAME: VSI OpenVMS Version 8.4-2L1 for Integrity servers
* ↑ Porting OpenVMS to HP Integrity Servers, OpenVMS Technical Journal V6 (2005), http://www.decus.de/events/alphamigration/vortraege/porting_openvms_to_integrity.pdf
* ↑ Thomas Siebold (2005). "OpenVMS Integrity Boot Environment" (PDF). decus.de. http://www.decus.de/slides/sy2005/06_04/2g04.pdf
* ↑ Camiel Vanderhoeven (8 October 2017). Re-architecting SWIS for X86-64. YouTube. Archived from the original on 2021-12-11. https://www.youtube.com/watch?v=U8kcfvJ1Iec
* ↑ Gaitan D’Antoni (2005). "Porting OpenVMS Applications to Itanium" (PDF). hp-user-society.de. http://www.hp-user-society.de/events/alphamigration/vortraege/porting_openvms_applications_to_itanium.pdf
* ↑ "OpenVMS floating-point arithmetic on the Intel Itanium architecture" (PDF). decus.de. 2003. http://www.decus.de/events/alphamigration/vortraege/i64-floating-pt-wp.pdf
* ↑ Thomas Siebold (2005). "OpenVMS Moving Custom Code" (PDF). decus.de. http://www.decus.de/slides/sy2005/06_04/2g05.pdf
* ↑ «VMS Software, Inc. Named Exclusive Developer of Future Versions of OpenVMS Operating System. | Business Wire» web.archive.org 2014-08-10 (Noiz kontsultatua: 2022-07-29).
* ↑ «"OpenVMS Rolling Roadmap" (PDF)» web.archive.org (Noiz kontsultatua: 2022-07-29).
* ↑ «X86 FAQ — VMS Software, Inc.» vmssoftware.com (Noiz kontsultatua: 2022-07-29).
* ↑ OpenVMS x64 Atom Project. (Noiz kontsultatua: 2022-07-29).
* ↑ 2017 LLVM Developers’ Meeting: J. Reagan “Porting OpenVMS using LLVM”. (Noiz kontsultatua: 2022-07-29).
* ↑ «"State of the Port to x86_64 January 2017" (PDF).» web.archive.org (VMS Software) (Noiz kontsultatua: 2022-07-29).
* 1 2 Re-architecting SWIS for X86-64 (OpenVMS Boot Camp 2017). (Noiz kontsultatua: 2022-07-29).
* ↑ «VMS Software, Inc. Announces First Boot on x86 Architecture — VMS Software, Inc.» vmssoftware.com (Noiz kontsultatua: 2022-07-29).
* ↑ "Rollout of V9.0 and Beyond" (PDF). VSI. 19 May 2020. https://vmssoftware.com/docs/may-19-2020-v9.0-rollout-and-beyond.pdf
* ↑ «State of the Port — VMS Software, Inc.» web.archive.org 2021-04-18 (Noiz kontsultatua: 2022-07-29).
* ↑ VSI OpenVMS x86-64 V9.1 Field Test, Release Notes, VMS Software (June 2021) https://vmssoftware.com/docs/VSI-X86V91-RN.pdf
* ↑ «VMS Software Releases OpenVMS V9.1-A — VMS Software, Inc.» vmssoftware.com (Noiz kontsultatua: 2022-07-29).
* ↑ «OpenVMS V9.2 for x86 is Available — VMS Software, Inc.» vmssoftware.com (Noiz kontsultatua: 2022-07-29).
* ↑ Catherine Richardson; Terry Morris; Rockie Morgan; Reid Brown; Donna Meikle (March 1987). "MICA Software Business Plan" (PDF). Bitsavers. http://www.bitsavers.org/pdf/dec/prism/mica/Mica_Software_Business_Plan_Mar87.pdf
* ↑ (Ingelesez) «Windows NT and VMS: The Rest of the Story» ITPro Today: IT News, How-Tos, Trends, Case Studies, Career Tips, More 1998-12-01 (Noiz kontsultatua: 2022-07-29).
* ↑ «FreeVMS 0.1.0 Released – OSnews» www.osnews.com (Noiz kontsultatua: 2022-07-29).
* ↑ «FreeVMS® official web page» web.archive.org 2018-09-08 (Noiz kontsultatua: 2022-07-29).
* ↑ USENIX Association. (1992-04-27). Micro-kernels and Other Kernel Architectures Workshop Proceedings. USENIX Association (Noiz kontsultatua: 2022-07-29).
* 1 2 3 4 5 6 Goldenberg, Ruth E.. (1991). VAX/VMS internals and data structures : version 5.2. Digital Press ISBN 1-55558-059-9. PMC 22704103. (Noiz kontsultatua: 2022-07-29).
* ↑ «Writing VMS Privileged Code: Part 1» hunter.goatley.com (Noiz kontsultatua: 2022-07-29).
* 1 2 3 4 «Writing VMS Privileged Code: Part 1» hunter.goatley.com (Noiz kontsultatua: 2022-07-30).
* ↑ Paul A. Karger; Mary Ellen Zurko; Douglas W. Benin; Andrew H. Mason; Clifford E. Kahnh (7–9 May 1990). A VMM security kernel for the VAX architecture (PDF). Proceedings. 1990 IEEE Computer Society Symposium on Research in Security and Privacy. IEEE. https://www.scs.stanford.edu/nyu/04fa/sched/readings/vmm.pdf
* ↑ Goldenberg, Ruth E.. (1991). VAX/VMS internals and data structures : version 5.2. Digital Press ISBN 1-55558-059-9. PMC 22704103. (Noiz kontsultatua: 2022-07-30).
* ↑ "VSI OpenVMS System Services Reference Manual: A–GETUAI" (PDF). VSI. June 2020. https://vmssoftware.com/docs/VSI_SYS_SERVICES_REF_VOL_I.PDF
* ↑ Sewell, Wayne. (1992). Inside VMS : the system manager's and system programmer's guide to VMS internals. Van Nostrand Reinhold ISBN 0-442-00474-5. PMC 24379756. (Noiz kontsultatua: 2022-07-30).
* ↑ "VSI OpenVMS I/O User's Reference Manual" (PDF). VSI. August 2019. https://vmssoftware.com/docs/VSI_IO_REF.pdf
* ↑ "VSI OpenVMS Guide to OpenVMS File Applications" (PDF). VSI. 2019-07-23. https://vmssoftware.com/docs/VSI_Gd_to_File_Apps_23Jul19.pdf
* ↑ Boyd, Robert. (2006). «Why was Spiralog retired? (Community)» community.hpe.com (Noiz kontsultatua: 2022-07-30).
* ↑ «"VSI OpenVMS Software Roadmap 2020" (PDF).» web.archive.org (Noiz kontsultatua: 2022-07-30).
* ↑ "OpenVMS User's Manual" (PDF). VSI. VSI. July 2020. Chapter 14, Advanced Programming with DCL. https://vmssoftware.com/docs/VSI_USERS_MANUAL.pdf
* ↑ VSI OpenVMS Cluster Systems. VSI August 2019.
* ↑ Building Dependable Systems: The OpenVMS Approach. DEC May 1994.
* ↑ DECnet for OpenVMS Guide to Networking. VSI August 2020.
* ↑ VSI Products - DECnet. VSI.
* ↑ VMS/ULTRIX System Manager's Guide. Digital Equipment Corporation September 1990.
* ↑ VSI OpenVMS TCP/IP User's Guide. VSI August 2019.
* ↑ Robert Rappaport; Yanick Pouffary; Steve Lieman; Mary J. Marotta. (2004). «Parallelism and Performance in the OpenVMS TCP/IP Kernel» OpenVMS Technical Journal 4.
* ↑ Alan Abrahams; David A. Low. (1992). «An Overview of the PATHWORKS Product Family» Digital Technical Journal 4 (1).
* ↑ Andy Goldstein. (2005). «Samba and OpenVMS» de.openvms.org.
* ↑ Local Area Transport Network Concepts. DEC June 1988.
* 1 2 3 4 «VAX/VMS Software Language and Tools Handbook» bitsavers.org 1985.
* ↑ «VSI List of Products» VSI.
* ↑ VSI OpenVMS Calling Standard. January 2021.
* ↑ VSI OpenVMS Programming Concepts Manual, Volume II. VSI April 2020.
* ↑ «SDL, LANGUAGE, Data Structure/Interface Definition Language» digiater.nl November 1996.
* ↑ «DECset» VSI.
* ↑ VSI OpenVMS DCL Dictionary: A-M. VSI April 2020.
* ↑ VSI OpenVMS Debugger Manual. VSI June 2020.
* ↑ VSI OpenVMS Delta/XDelta Debugger Manual. VSI August 2019.
* ↑ OpenVMS Rolling Roadmap. VSI December 2019.
* ↑ «VMS IDE» marketplace.visualstudio.com.
* ↑ VAX/VMS Software Information Management Handbook. Digital Equipment Corporation 1985.
* ↑ Ian Smith. (2004). Rdb's First 20 Years: Memories and Highlights. .
* ↑ Compaq ACMS for OpenVMS Getting Started. Compaq December 1999.
* ↑ Building Dependable Systems: The OpenVMS Approach. Digital Equipment Corporation March 1994.
* ↑ Cover Letter for DECADMIRE V2.1 MUP Kit - DECADMIRE V2.1A. Digital Equipment Corporation 1995.
* ↑ Kevin Duffy; Philippe Vigier. (2004). Oracle Rdb Status and Direction. .
* ↑ Larry Goelz; John Paladino. (1999-05-31). Cover Letter re DSM. Compaq.
* ↑ Neil Rieck. (2020-06-29). OpenVMS Notes MySQL and MariaDB. .
* ↑ Bengt Gunne. (2017). Mimer SQL on OpenVMS Present and Future. .
* ↑ Rocket Software System 1032. Rocket Software.
* ↑ «Software Product Description HP DECforms for OpenVMS, Version 4.0» Hewlett Packard Enterprise August 2006.
* ↑ «Software Product Description HP FMS for OpenVMS, Version 2.5» Hewlett Packard Enterprise January 2005.
* ↑ «Compaq TDMS for OpenVMS VAX, Version 1.9B» Hewlett Packard Enterprise July 2002.
* ↑ «OpenVMS RTL Screen Management (SMG$) Manual» Hewlett Packard Enterprise 2001.
* ↑ Rick Spitz; Peter George; Stephen Zalewski. (1986). «The Making of a Micro VAX Workstation» Digital Technical Journal 1 (2).
* ↑ MicroVMS Workstation Graphics Programming Guide. Digital Equipment Corporation May 1986.
* ↑ Scott A. McGregor. (1990). «An Overview of the DECwindows Architecture» Digital Technical Journal (Digital Equipment Corporation) 2 (3).
* 1 2 3 «(Open)VMS(/ VAX), Version overview» vaxmacro.de.
* ↑ «Migrating VWS/UIS Applications to DECwindows?» HP OpenVMS ask the wizard November 9, 2004.
* ↑ Janet Dobbs. (August 1989). «Strategies for Writing Graphical UNIX Applications Productively and Portably» AUUG Newsletter 104: 50..
* ↑ «Using DECwindows Motif for OpenVMS» VSI October 2019.
* ↑ Getting Started With the New Desktop. Digital Equipment Corporation May 1996.
* ↑ OpenGL Frequently Asked Questions (FAQ) [1/3]. Faqs.org. Retrieved on 2013-07-17.
* ↑ Software Product Description VSI Graphical Kernel System. VSI 2017.
* ↑ «Software Product Description DEC PHIGS Version 3.1 for OpenVMS VAX» Hewlett Packard Enterprise April 1995.
* ↑ VSI OpenVMS Guide to System Security. VSI December 2019.
* ↑ National Computer Security Center (NCSC) Trusted Product Evaluation List (TPEL)
* ↑ HP OpenVMS Guide to System Security. Hewlett Packard September 2003.
* ↑ Green, James L.; Sisson, Patricia L.. (June 1989). «The "Father Christmas" Worm» 12th National Computer Security Conference Proceedings.
* ↑ Kevin Rich. (November 2004). Security Audit on OpenVMS: An Internal Auditor's Perspective. SANS Institute.
* ↑ Claes Nyberg; Christer Oberg; James Tusini. (2011-01-20). «DEFCON 16: Hacking OpenVMS» YouTube.
* ↑ «cve-website» www.cve.org (Noiz kontsultatua: 2022-07-28).
* ↑ 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.
* ↑ John Leyden. (2018-02-06). «Ghost in the DCL shell: OpenVMS, touted as ultra reliable, had a local root hole for 30 years» theregister.com.
* ↑ «"Compaq and DECUS expand Free License OpenVMS Hobbyist Program"» www.openvmshobbyist.com (Compaq) (Noiz kontsultatua: 2022-07-30).
* ↑ «Process Software: Hobbyist Program» www.process.com (Noiz kontsultatua: 2022-07-30).
* ↑ Bill Pedersen; John Malmberg. «vms-ports / Wiki / VMSHardware» sourceforge.net (Noiz kontsultatua: 2022-07-30).
* ↑ Thom Holwerda. (2020). «HPE sets end date for hobbyist licenses for OpenVMS – OSnews» www.osnews.com (Noiz kontsultatua: 2022-07-30).
* ↑ «VMS Software Announces Community License — VMS Software, Inc.» vmssoftware.com (VMS Software) (Noiz kontsultatua: 2022-07-30).
* ↑ «VMS Software Community License Available — VMS Software, Inc.» vmssoftware.com (Noiz kontsultatua: 2022-07-30).
* ↑ «VSI Announces Community License Updates — VMS Software, Inc.» vmssoftware.com (Noiz kontsultatua: 2022-07-30).

## Ikus, gainera

* OpenSSL
* Sistema eragileen arkitektura

## Kanpo estekak

* Datuak: Q479882
* Multimedia: OpenVMS / Q479882