OpenVMS | |
![]() | |
![]() | |
Fejlesztő | VSI, DEC |
Forráskód | zárt |
Stabil verzió | V9.2-1 (2023. június 15.)[1] |
Kernel | monolitikus |
Licenc | saját |
Státusz | aktuális |
Weboldal | www.vmssoftware.com |
Az OpenVMS – Open Virtual Memory System, 1991-től OpenVMS – a Digital Equipment Corporation eredetileg VAX architektúrára írt operációs rendszere[2][3][4] (a Programmed Data Processor – PDP – architektúrán futó RSX utóda), mely nem hasonlít sem a Unixra sem más rendszerekre az RSX-en kívül. Később portolták DEC Alphára is, és elérhető ma már Intel Itanium platformon is.[5] Az OpenVMS portját x86-64 architektúrára 2020 május 18-án adták ki.[6][7]
Többfelhasználós, többprocesszoros, virtuális memóriát használó rendszer. A folyamatok prioritásának megfelelő beállítása esetén megközelíti a valós idejű rendszereket. Klaszterezéssel jó elérhetőséget ér el, egy rendszer képes egyidejűleg több fizikai számítógépen futni. Ez lehetővé teszi, hogy a rendszer képes legyen eltűrni egyes adatfeldolgozó egységek kiesését.[2]
Régebbi neve VMS Operating System (VAX-11/VMS, VAX/VMS), és a Digital Equipment Corporation fejlesztette.[2][3][4] A Digital Equipment Corporation utódja, a Hewlett-Packard 2014 közepén a VMS Software Inc. (VSI)-re bízta a rendszer további fejlesztését,[8][9] és ehhez átengedte a korábbi gárdát is.[10]
A forráskód szabadon elérhető, de a licence megtiltja például a weben történő elhelyezést. Külön telepíthető rá TCP/IP hálózat (6.0 alatti VMS-ek esetén a neve UCX, afölött TCP/IP), de a rendszer a legtökéletesebben a DECnet protokollt integrálja. Kaphatók rá egyéb TCP/IP stack-ek is, mint például a Cisco MultiNet.
Elérhető rá egy X Window System implementáció, amely a DECWindows névre hallgat. A régebbi VAX-11/VMS rendszereken nem volt grafikus felület. A DEC VAXstation 1980-as évekbeli megjelenése előtt szövegesen kezelték a bemenetet terminálokon, mint a VT100-on. A DEC Alpha munkaállomásokon futó VMS verziók az 1990-es években támogatták az OpenGL-t[11] és az Accelerated Graphics Port (AGP) grafikus adaptereket.
Vállalatok, intézmények különböző célokra használják, mint e-mailszerver, hálózati kiszolgáló, nyomon követés és megfigyelés, kritikus alkalmazások és adatbázisok, és olyan környezetek, ahol fontos az állandó rendelkezésre állás és az adatok hozzáférhetősége. A klaszterezés és a gördülő frissítések lehetővé teszik, hogy a rendszer futás közben frissüljön, és új verziót telepítsen, miközben az adatokhoz bármikor hozzá lehet férni, és az alkalmazásokat sem kell leállítani. Az egyik adatközpont kiesése sem okoz nagy problémákat. Így a rendszer megállás nélkül futhat több, mint 10 évig.[12]
Dátum | Verzió | Megjegyzés |
---|---|---|
1977. október 25. | V1.0 | VAX-11/780, Eredeti kereskedelmi kiadás |
1980. április | V2.0 | VAX-11/750 |
1982. április | V3.0 | VAX-11/730 |
1984. szeptember | V4.0 | VAX 8600 és MicroVMS (MicroVAX-ra) |
1988. április | V5.0 | VAX 6000 |
1992. november | V1.5 | első OpenVMS AXP (Alpha) specifikus verzió |
1993. június | V6.0 | VAX 7000 and 10000 |
1994. április/május | V6.1 | VAX és Alpha AXP verzió számok összeolvadása |
1996. január | V7.0 | teljes 64 bites virtuális címzés az Alpha-kon |
1997. | V7.1 | |
2003. június | V8.0 | limitált elérhetőségű kipróbálási verzió az Integrity-hez |
2005. február | V8.2 | Common Alpha és Itanium kiadás |
2006. szeptember | V8.3 | Alpha, Itanium dual-core támogatás |
2007. október | V8.3-1H1 | c-Class Integrity blade szerver támogatás |
2010. június | V8.4 | HPVM virtuális gépen futtatható, klaszterek TCP/IP fölött |
Az OpenVMS sok olyan képességgel bír, melyek most szabvány követelmények minden magas szintű szerver operációs rendszerrel szemben. Ezek közé tartozik:
Az OpenVMS a DECwindows Motif felhasználói interfészt használja, ami a CDE-n alapul, és az OpenVMS X11 felületén fut.[29][30] A régebbi verziókon egy saját grafikus felhasználói felület működött, a VWS/UIS.[31] Az Ultrix operációs rendszer is a DECwindows-t használta.
Az OpenVMS támogatja a klaszterezést, melyet először a VAXcluster, majd VMScluster valósított meg. A klaszterezés lényege, hogy több rendszer működik együtt, közösek az adattárak, a feldolgozás, a feladatsor és a nyomtatási sor. Az összekapcsolt egyes rendszerek, számítógépek a klaszter nódusai. Ezeket vagy a saját Cluster Interconnect vagy a szabvány LAN kapcsolja össze, ami többnyire Ethernet. Egy LAN alapú klaszter neve gyakran LAVc, ami az angol Local Area Network VMScluster rövidítése, és lehetővé teszi többek között egy esetlegesen lemez nélküli szatellit nódus indítását hálózaton keresztül a klaszter egy másik nódusának rendszerlemezével.
A VAXcluster támogatását a 4. verzióban vezették be, ami 1984-ben jelent meg. Ekkor még csak CI fölött lehetett klaszterezni. Később még a 4. verzióban bővítették a képességet a LAN (LAVC) klaszterezéssel, amit tovább javítottak az 1988-ban kiadott 5. verzióban.
A különböző technológiák és kapcsolódások keveredhetnek is, így használhatók Gigabit Ethernet (GbE), SCSI, FDDI, DSSI, CI és Memory Channel adapterek. Nemcsak a technológiák keveredhetnek, hanem architektúrák is, egy klaszter tartalmazhat VAX és Alpha, vagy Alpha és Itanium gépeket. Egy klaszterben legfeljebb 96 gép lehet. Egyes helyeken találhatók mindhárom architektúrát és akár 150 nódust tartalmazó klaszterek is, de ezek nem élvezik a HP támogatását.
Sok más klaszterezési megoldástól eltérően a VMScluster átlátható és teljesen elosztott írás-olvasást tesz lehetővé rekord szintű zárolással. Ez azt jelenti, hogy egy lemez, sőt egy fájl is elérhető egyszerre több nódusról írásra. A zárolás egyszerre csak egy rekordot zárol, ami adatbázisban egy rekord, szövegfájlban egy sor. Ez lehetővé teszi többszörös redundanciájú, nagy elérhetőségű adatbázisszerverek létrehozását.
Egy klaszter 500 mérföldes távolságot hidalhat át, ami lehetővé teszi, hogy egy városban több telephely, sőt több városban levő telephelyek is ugyanahhoz a klaszterhez tartozzanak.
A host alapú tükrözés megengedi, hogy több controller és host között tükrözzenek köteteket, amivel a környezet katasztrófák ellen is ellenállhat.
Az elosztott zárkezelés (DLM) elérhető az alkalmazások programozói számára, így az alkalmazások a teljes klaszteren koordinálhatják erőforrásaikat és aktivitásukat. Ide tartozik a fájlszintű koordináció is, de az erőforrások és aktivitások tetszőlegesek lehetnek.
A 2010-ben kiadott OpenVMS V8.4 továbbfejlesztett klaszterezést használ, például megvalósítja az ipari szabvány TCP/IP hálózatot a klaszterekben a hatékonyság növelésére.
A gördülő frissítések és a több rendszerlemez támogatott képességével a klaszterek működés közben lépésenként frissíthetők. Ennek köszönhetően a klaszter folytathatja a kiszolgálást, miközben egyes nódusokon a programok, vagy a rendszer új verziója települ.[15][32]
Az OpenVMS egy képességekben gazdag fájlrendszerrel bír, ami támogatja az adatfolyam és a rekord alapú I/O-t, az ACL-eket (ellenőrzött hozzáférési listák), és a fájlok verziószámozását. A fájlkezeléssel a felhasználónak az Record Management Services-sel, röviden RMS-sel kell kapcsolatba lépnie.[17][18][33]
Az OpenVMS a rendszeridőt 64 bites számként tartja nyilván, ami 100 nanoszekundumokat mér; ez az időegység az angolban a clunk nevet viseli,[34][35] és amiből egy másodpercben tízmillió van. Az időszámítás kezdete 1858. november 17. nappalát megelőző éjfél, ami a módosított Julián-naptár kezdete. Az óra nem minden gépen frissül 100 ns-onként; például a 100 Hz-es időzítőjű rendszerek a másodperc századrészenként adnak 100000-t az aktuális időhöz. Az operációs rendszer az időmérés hibáit korrigálja azzal, hogy néha külső szabványidőhöz igazítja a rendszeridőt.
Leállításkor az aktuális időt a Time-of-Year ("TOY") hardveróra menti el. Ez kisebb felbontásban emlékszik az időre, talán másodperc pontossággal, és kisebb pontossággal 0,025% a 0,01% helyett. Újraindításkor a VMS 64 bites rendszeridejét a hardveróra és az utolsó feljegyzett év alapján állítja be. A 64 bites rendszeridő előjeles szám. Ez pozitív, ha az időt pontosan lehet tudni, és negatív, ha nem. Ez elég lenne, hogy az óra elszámoljon egészen a 31-JUL-31086 02:48:05.47 időpontig. Ekkor a számláló tólcsodrulna, és a számítás nulláról indulna újra, azaz az óra visszaállna az 1858. november 17. nappalát megelőző éjfélre. Azonban például a C programkönyvtár órája már 2038. január 19-én lejár, ez a 2038-probléma. Egyes mezőhosszhoz kötődő komponensek és alkalmazások 10000-ben fognak meghibásodni, ez a 10000-probléma.
Az OpenVMS legfontosabb adottságai közé tartozik a Common Language Environment, ami egy pontosan definiált szabvány. Ez meghatározza a függvények és rutinok hívásának konvencióit, a vermeket, regisztereket és hasonlókat, függetlenül a nyelvtől. Emiatt az egyik nyelven írt rutin egyszerűen hívhat egy másik nyelven írt rutint, a megvalósítás részleteinek ismerete nélkül. Az OpenVMS rendszert is több nyelv felhasználásával készítik, főként Bliss, VAX Macro és C nyelven.[36] A szabvány azonban más nyelveket is támogat, mint például Ada, PL/I, Fortran és BASIC.[37] Ez szembeállítható a UNIX rendszerekkel, melyek majdnem egészen C-ben készültek.
Ezt a környezetet az OpenVMS Calling Standard[22] és az OpenVMS Programming Concept[38] kézikönyv írja le. Ezek kevert nyelvű hívásokat, továbbá nyelvspecifikus futás idejű könyvtárakat (RTL), és rendszerszolgáltatás rutinokat. A nyelvspecifikus futás idejű könyvtárakat felhasználói módú megosztott képekkel valósították meg, a rendszerszolgáltatás rutinok pedig az operációs rendszer részei, egy részükhöz többletjogok szükségesek. A különbségtétel a nyelvek, nyelvspecifikus futás idejű könyvtárak és rendszerszolgáltatások között eredetileg tiszta volt, de ez a programerózió áldozatává vált, azaz összemosódott.
A Macro32 assembler az OpenVMS VAX-on, a többi architektúrán fordító. Elérhető az OpenVMS-ben a rendszer részeként. BLISS fordítók letölthetők,[39] ahogy Perl, PHP, Ruby és más nyelvek is. Az OpenVMS nyújt Java SE környezetet.[40] C, Fortran és további nyelvek fizetősek.
Különböző eszközök és segédletek elérhetők, és léteznek add-on nyelvek és eszközök.[41]
Az OpenVMS FAQ sok programozási példát tartalmaz.[42]
Habár az OpenVMS kereskedelmi operációs rendszer, 1997-től kezdve számos terméket ingyenesen bocsátottak nem kereskedelmi célú használatra a felhasználók rendelkezésére az OpenVMS Hobbyist Program keretében.[43][44] Azóta több vállalat is kiadott hasonló feltételekkel használható termékeket, mint a Process Software[45] és az MVP Systems.[46]
2011-től kezdve a HP elkezdte felügyelni ezt a licenszet, a regisztrációt egyszerűsítették, és megőrizték ingyenességét. A regisztrációtól a Product Authorisation Keys megkapásáig többnyire egy munkanap telik el. A termékek FTP-vel tölthetők le; korábban CD-ken lehetett őket megkapni, amit akár el is lehetett adni. A folyamat nem automatikus, a HP Hobbyist Program csapatának közreműködése szükséges.
A VMS-hez hasonló, nyílt forrású FreeVMS fejlesztése folyamatban van,[47] ami L4 mikrokernellel támogatja az x86-64 architektúrát is. 2010-ig nem jelent meg.[48]
A Living Computer Museumban más történelmi számítógépes rendszerek mellett fenntart egy VAX 11/785 számítógépet is, ami OpenVMS 7.3-mal működik.[49]
A VMS Debugger támogat minden DEC fordítót és sok más nyelvet. Breakpointok, watchpointok és interaktív futás idejű program debuggolás végezhető parancssorból vagy grafikus felhasználói interfészen keresztül.[50]
A UNIX rendszerekhez hasonlóan a VMS is definiál szabványos be- és kimeneteket.[51] Logikai nevük és szerepük a következő:
Az OpenVMS különböző biztonsági képességeket és mechanizmusokat nyújt, köztük biztonsági azonosítókat, forrás azonosítókat, alrendszer azonosítókat, ACL-eket, részletes biztonsági vizsgálatokat és figyelmeztetéseket. A specifikus verziókat a DoD NCSC Class C2 értékeli ki, és a SEVMS biztonság bővített szolgáltatástámogatás az NCSC Class B1-nél az NCSC Rainbow Series által. Az OpenVMS betartja az ITSEC E3 értékelést, lásd NCSC és Common Criteria.[25]/[52] A jelszavakat Purdy polinommal hasheli.
A VAX/VMS és az Alpha VMS-ben 2017-ben egy 33 éves sebezhetőséget találtak. Ez lehetővé tette, hogy bárki, aki hozzáfér a DCL parancssorhoz egy alapértelmezetten beállított rendszerben megkerülheti a biztonsági eszközöket és teljes ellenőrzése alá vonhatja a rendszert. A CVE-szám CVE-2017-17482.[53]
Az OpenVMS támogatja a következő ipari szabványokat, illetve nyílt forrású eszközöket és alkalmazásokat:[7]
Az OpenVMS Software Product Description szerint a rendszer következő szabványoknak felel meg:[56]
A Digital Equipment Corporation OpenVMS operációs rendszerének dokumentációja dokumentálja az Orange Binders, Large and Small-t is.[57][58][59][60][61] A dokumentáció foglalkozik a különböző kiadásokkal, és különféle alapvető OpenVMS rétegzett termékekkel, a HPE oldalán Interneten is elérhető: https://www.hpe.com/us/en/servers/openvms/documents.html
A Software Product Descriptions (SPD) bevezető és jogi leírás különböző termékekhez, leírja a támogatott képességeket is. Az OpenVMS és sok OpenVMS alapú program SPD-je: http://h41379.www4.hpe.com/doc/spd.html#SPD/
Az OpenVMS Frequently Asked Questions (FAQ) az OpenVMS-sel kapcsolatban tartalmaz információkat: http://www.hoffmanlabs.org/vmsfaq/ Archiválva 2020. január 12-i dátummal a Wayback Machine-ben
Az aktuális kiadás az OpenVMS 8.4-2L1 (Hudson), a korábbi OpenVMS V8.4-1H1 Integrity szerverek számára, OpenVMS V8.4 az Alpha számára és OpenVMS V7.3 a VAX szerverek számára.
A HP Current Version Support (CVS) és Prior Version Support (PVS) támogatást nyújt különböző verziók számára. Az OpenVMS Roadmap PVS státust garantált 2012-ig speciális kiadásoknak (V5.5-2, V5.5-2H4, V6.2, V6.2-1H3, V7.3-2), azzal, hogy a támogatás megszűnését 24 hónappal előre jelzi.[62] CVS támogatást az aktuális és az eggyel korábbi verzió kap.
2014 július 31-én a VMS Software, Inc. (VSI) bejelentette, hogy a HP a VSI-t nevezte meg, mint az OpenVMS és a rárétegzett termékkomponensek egyedüli fejlesztőjét.[9] Az első VSI verzió a VSI OpenVMS Version 8.4-1H1 (Bolton) lett, ami 2015 június 1-jén jelent meg. Ettől kezdve a legújabb Itanium hardvereket is támogatni fogja a rendszer, és a VSI ígérete szerint ez minden kiadásra teljesülni fog az aktuális legújabb rendszerrel. Az x86 architektúrájú szerverek támogatásának kezdetét 2018-ra tervezték.[7][63][64] A VSI amellett, hogy megkapta a fejlesztőcsapatot, az OpenVMS fejlesztésében jártas régi fejlesztők közül is toborzott tagokat. A központot Massachusettsben rendezték be.[65]
Az OpenVMS-sel kapcsolatban leggyakrabban előkerülő szavak és kifejezések:[66]
A VMS bizonyos tekintetben a Windows NT, az RSX-11 és a Dave Cutler által fejlesztett DEC Prism operációs rendszer elődje. Erről maga Cutler írt a Helen Custer által írt Inside Windows NT előszavában.[68]
Ez a szócikk részben vagy egészben az OpenVMS című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.