OpenVMS

**OpenVMS**, alkujaan **VMS** (**Virtual Memory System**) on Digital Equipment Corporationin (DEC) käyttöjärjestelmä, joka julkaistiin lokakuussa 1977 VAX-minitietokoneen kanssa nimellä **VAX/VMS**.

VMS on moniajoa tukeva monen käyttäjän käyttöjärjestelmä, joka oli suosittu varsinkin 1980-luvulla. Alun perin se oli tarkoitettu vain VAXille, mutta siirrettiin myöhemmin myös DEC:in Alpha-suorittimille ja Intelin IA-64-suoritinarkkitehtuureille. Sitä pidetään yleensä suhteellisen vakaana ja luotettavana järjestelmänä, ja sitä on käytetty muun muassa pankeissa, teollisuudessa ja yliopistoissa, yleensä erilaisissa palvelintehtävissä.

OpenVMS:n oikeudet omistaa Hewlett-Packard (HP), joka osti DEC:in ostaneen Compaqin. HP on arvioinut lopettavansa tuen käyttöjärjestelmälle vuonna 2020.
HP:ta on arvosteltu siitä, ettei se markkinoi järjestelmää aktiivisesti.
HP on lisensoinut käyttöjärjestelmän VMS Softwarelle (VSI), joka vastaa sen ylläpidosta ja jatkokehityksestä.

*Roadmap*-suunnitelman mukaan käyttöjärjestelmän oli tarkoitus tulla x86-64 alustalle vuonna 2018. Käyttöjärjestelmä on käynnistynyt alustalla vuonna 2019 ja lopulta julkaistu vuonna 2022 versiossa 9.2.

## Ominaisuudet

OpenVMS on perinteisesti kilpaillut Unixin kanssa, ja siinä on käytetty myös joitakin samoja teknisiä ratkaisuja, mutta se on yleiseltä toteutukseltaan melko erilainen.

Ikkunointijärjestelmänä ja työpöytäympäristönä toimii X Window Systemiin perustuva DECwindows. Ennen versiota V5.1 (1989) graafinen käyttöliittymä oli VWS/UIS. 
DECwindows yhtenäisti ikkunointijärjestelmien tuen DEC:llä: Ultrix käytti jo aiemmin X Window Systemiä.
DECwindows lisää rajapintoja, lisäyksiä Xlib-kirjastoon (XUI-kirjaston) ja tuen Fortran, Ada ja Pascal-kielille. DECwindows sisälsi myös Display PostScript -laajennuksen.
Myöhemmin XUI:n rinnalle tuli Motif-kirjasto ja ikkunointijärjestelmää kutsuttiin nimellä DECwindows Motif.
Common Desktop Environment tuli käyttöön OpenVMS:ssa nimellä New Desktop.

Käyttöjärjestelmän komentokielenä toimii DCL (DIGITAL Command Language). Tiedostojärjestelmänä on ODS-2 tai ODS-5. Tiedostojen ja tietueiden hallintaan käytetään järjestelmää nimeltään RMS (Record Management Services). Tiedonsiirrossa käytettyjä tietoliikenneprotokollia ovat muun muassa DECnet ja TCP/IP. Yleisiä tekstieditoreita ovat EVE (Extensible Versatile Editor) sekä vanhempi EDT.

Käyttöjärjestelmä tukee moniprosessointia 32 suorittimeen asti. OpenVMS-klusterissa voi olla tarvittaessa 96 solmua () ja etäisyydet ovat enintään noin 800 km.

Käyttöjärjestelmälle on saatavissa melko kattava valikoima erilaisia ohjelmointi- ja kehitystyökaluja sekä aiheeseen liittyvää muuta materiaalia. Yleisiä ajonaikaisia kirjastoja on saatavilla muun muassa merkkijonojen käsittelyyn, pääteriippumattomaan näytönkäsittelyyn sekä päivämäärän ja ajan esittämiseen. Näiden kirjastojen rutiineja voidaan kutsua eri kielistä, kuten symbolisesta MACRO-konekielestä, C++:sta tai Cobolista. Käyttöjärjestelmän ohjelmointikielten funktiokutsut on pyritty standardoimaan siten, että jollakin tietyllä kielellä kirjoitetut rutiinit voivat helposti kutsua jonkun toisen kielen rutiineja (), mikä helpottaa monikielisten ohjelmien kehittämistä.

OpenVMS on tarvittaessa pitkälti POSIX-yhteensopiva. Sisäiseltä rakenteeltaan se perustuu perinteiseen monoliittiseen ytimeen (joskin DEC:llä kokeiltiin aikoinaan toteutusta myös Mach-mikroytimen päälle). Järjestelmä on suunniteltu sekä ositus- että myös jossain määrin reaaliaikakäyttöön.

### Tiedostojärjestelmä
OpenVMS käyttää hakemistopolun erotinmerkkinä pistettä, jonka lisäksi tiettyjä merkkejä ei sallita nimissä. Kiellettyjä merkkejä ovat muun muassa lainausmerkit, asteriski, kenoviiva ja kauttaviiva, kaksoispiste, kulmasulut, kysymysmerkki, pystymerkki ja kontrollimerkit. Perinteisessä ODS-2-tiedostojärjestelmässä sallittuja merkkejä ovat alfanumeeriset merkit (A–Z, a–z, 0–9), dollarimerkki, alaviiva ja väliviiva.
ODS-5-tiedostojärjestelmässä nimen pituus voi olla 236 8-bittistä (ISO Latin-1) tai 118 16-bittistä (UCS-2) merkkiä.
Vanhoissa OpenVMS, DCL ja RMS versioissa tiedostojärjestelmä muutti nimet isoille kirjaimille. ODS-5 säilyttää merkin lajin.
ODS-2:ssa hakemistot erotellaan pisteillä, tiedostotyypit erotetaan pisteellä ja tiedostoversio erotetaan puolipisteellä tai pisteellä ja hakemistot merkitään hakasulkujen tai kulmasulkujen sisään.

## Historiaa

Käyttöjärjestelmän kehittäminen aloitettiin vuonna 1975 koodinimellä Starlet (VAXin koodinimi oli Star). Hanketta johti Roger Gourd, ja järjestelmän teknisestä suunnittelusta vastasivat pääasiassa David Cutler ja Dick Hustvedt. Monet alkuperäisen kehittäjätiimin jäsenistä olivat aikaisemmin osallistuneet PDP-11-minitietokoneen RSX-11M-käyttöjärjestelmän kehittämiseen, mikä näkyi myös siinä, miten VMS suunniteltiin.

Alkuvaiheessa suurin osa VMS:ää toteutettiin MACRO-kielellä ja loput pitkälti korkeamman tason BLISS-kielellä. Käyttöjärjestelmän ensimmäinen virallinen versio julkaistiin vuonna 1978. Klusterituen järjestelmä sai versiossa 4.0 vuonna 1984. Ikkunointijärjestelmä ilmestyi versiossa 5.1 vuonna 1989. 
Nimi OpenVMS tuli käyttöön kun DEC lisäsi käyttöjärjestelmään POSIX-tuen. Nimeä OpenVMS alettiin käyttää vuonna 1991, versiosta 5.5 lähtien. Vuotta myöhemmin ilmestyi ensimmäinen Alpha-arkkitehtuurille tarkoitettu versio. Ensimmäinen yleisesti saatavilla oleva IA-64-versio ilmestyi puolestaan vuonna 2005.

## Katso myös

* FreeVMS
* VAXELN

## Lähteet
* OSdata.com: OpenVMS
* OpenVMS at 20 - Nothing Stops it  (pdf)
* OpenVMS Release History 

### Viitteet

## Aiheesta muualla

* HP OpenVMS Systems   – järjestelmän viralliset sivut
* OpenVMS.org   – OpenVMS-yhteisön portaali
* OpenVMS Hobbyist Program  – tarjoaa järjestelmää maksutta harrastelijakäyttöön
* Bitsavers-sivuston VMS-hakemisto – vanhoja teknisiä dokumentteja 
* Deathrow  – avoin OpenVMS-klusteri
* OpenVMS kehitysympäristö VAX, Alpha ja IA-64 palvelimet 
* Comp.os.vms  – VMS-uutisryhmä, edelleen melko aktiivinen
* Sfnet.atk.vms – suomalainen VMS-uutisryhmä, hiljentynyt
* OpenVMS ohjesivut 
* Nathan's Toasty Technology Page: DECWindows
* DECwindows User's Guide 
* Using DECwindows Motif for OpenVMS