|This is the talk page for discussing improvements to the OpenVMS article.|
OpenVMS was a good article, but it has been removed from the list. There are suggestions below for improving the article to meet the good article criteria. Once these are addressed, the article can be renominated. Editors may also seek a reassessment of the decision if they believe there was a mistake.
Delisted version: October 24, 2005
|WikiProject Computing / Software||(Rated C-class, Mid-importance)|
- 1 Older comments
- 2 Peter Conklin?
- 3 Missing information
- 4 Delisted GA
- 5 Standards
- 6 Unicode
- 7 OpenVMS support being wound way down
- 8 Security Evaluations
- 9 Logo
- 10 Regarding the use of Digital Command Language
- 11 Worms
- 12 ftp.digital.com
- 13 Process priorities and OS kernel jobs
- 14 Role of VAX and VMS
I will be doing some work on this page in the (near) future... in particular things like RMS need to be split out into their own pages (RMS isn't VMS-specific), and there's quite a bit more that could be said (see glossary list for some examples...). Lady Lysine Ikinsile 03:16, Jun 8, 2004 (UTC)
When you do this edit, please note that Cutler was not a solo designer of VMS, it was a team effort, of which he was a member. I do not have the whole list available, unfortunately. solak 18:21, Jul 16, 2004 (UTC)
IIRC, Peter Conklin was also a member of VAX-A, although I can't remember whether his contribution was on the software, hardware, or overall system-architecture side(s). Perhaps someone who really knows can chime in?
Atlant 03:16, 20 Mar 2005 (UTC)
I don't know anything about computers, but i love browsing wikipedia to learn more. I've heard of VMS, but after reading this article I still don't know what it is or what it's good for or why it existed or if it still exists or who uses it and why - these are important things in an encyclopedia article, and i hope somebody adds them. ZacharyS 17:30, 8 August 2005 (UTC)
Added. -Hoff, 27-Nov-2006
OpenVMS is used by hospitals including the New Orleans Veteran's Administration Hospital and East Jefferson General Hospital. It is also used by the U.S. Navy Reserve for a part of their personnel records management process. Monsanto used it for a long time as a central system for agricultural research, though I must admit I've lost track of my contact at the St. Louis Monsanto facilities. Hubble image processing was managed by an OpenVMS for a while though with the Hubble telescope in its declining years, I don't know what they are using now. Again, I've lost track of my contact at LRL. Some OpenVMS machines were used at the Stennis facility in southern Mississippi to do image processing (using a variant of the Patterson Projection algorithm that computes shapes given reflection data.)
If you visit the OpenVMS support page at HP you will see lots of European and Asian posts to go with USA sites.
The Doc Man 18:10, 8 March 2007 (UTC)
OpenVMS is (or was) used everywhere. It is an operating system similar to Unix with a similar file system but also superior because it is very consistent and extremely well documented. VMS was always a commercial product unlike Unix. The only thing missing from VMS that Unix has is pipes and there are various workarounds using files and DCL. VMS files have version numbers and ACLs. DCL (the scripting language) provides similar functionality to Unix shells (C Shell, Korn Shell, etc.). VMS developers went on to create Windows NT.
- For my sins I am using OpenVMS V7.3-1 and it does have a PIPE command. I'm not sure when this appeared, or even whether it isn't a third-party product. It wasn't available on whichever version I was using in my previous job. Mr Larrington (talk) 14:34, 27 September 2011 (UTC)
- The Pipe command is part of OpenVMS and was added sometime in the last 10 years. The syntax (and I suspect how it works) differs from UNIX, but it's still handy. Still using VMS every day to print property tax bills, payroll, and lots of other tasks around here. ' — Preceding unsigned comment added by 22.214.171.124 (talk) 18:48, 29 August 2013 (UTC)
Could we add in a comparison to Unix? Could we put in information about TDMS? There is stuff about DecForms and FMS. talk 10:41, 20 June 2008 (UTC)
There are no references. slambo 10:30, 24 October 2005 (UTC)
There are plenty of cross-references to other sources of information about VMS. Are you just saying that there's no "section" labeled Sources?
- Solak 17:44, 4 November 2005 (UTC)
I expect this was the "good article" de-listing. As for what "there are no references" means, Slambo might want to elaborate on that detail. -Hoff 27-Nov-2006.
- First, apologies for taking so long to reply; I don't have this page on my watchlist. An anon left a note on my talk today requesting clarification.
- Links to other Wikipedia articles are not considered references. An External links or See also section does not indicate to the reader that the resources mentioned there were used as references in creating the article; the items listed therein are assumed to be places where a user might find more information that isn't necessarily contained in the article. All source material that is used to create an article needs to be listed in a separate References section with appropriate inline citations to correlate the references to specific, verifiable statements in the article text. The relevant guidelines here are Wikipedia:Verifiability and Wikipedia:Citing sources; the templates in Category:Citation templates can also be used to present a uniform appearance to the references that are cited. In general one citation per paragraph has been mentioned when discussing citation requirements for Wikipedia:Good articles (the archives of Wikipedia talk:Good articles and Wikipedia talk:WikiProject Good articles include several discussions about references). Wherever possible, it's best to use resource material that is published in paper form (books and journal articles) versus strictly online form; since the OpenVMS name has been in use since (according to the article) at least 1991, there should be plenty of dead-tree edition titles to make a well resourced reference list.
- Please keep in mind that the Good articles criteria now includes (as of Summer 2006) a requirement for inline citations to verifiable references. If you're working toward Featured quality, this requirement is even more necessary.
- For examples of what I'm thinking of for articles about software, both the GNOME and KDE articles contain what I would consider a good amount of references, and the TeX article is even better with several printed resources by different authors in its references list. Slambo (Speak) 21:21, 30 November 2006 (UTC)
I find it amusing — even verging on the ironic — that a Wikipedian would be seeking “dead-tree” references, particularly for an article on computing technologies. That aside, there are now added numbers of references to these “dead-tree” resources — both in-line and in a new bibliography at the end of the article — though these “dead-tree” references far more difficult to locate than the on-line references. (There are far more books on trains and on train-spotting in your average bookstore than there are on OpenVMS, for instance.) There are now yet more on-line references added, as well. Both in-line references, and at the end of the article. -Hoff 3-Dec-2006
Regarding Solak's comment about "sources" - I started in the computer industry in the mid-1970s using the PDP-11 computer and the RSX-11M operating system. This was a mini-computer environment with a maxi-computer attitude. If any source can be named for the VMS code, it must be pointed out that VAX/VMS owes its existence to the STAR project as an extension of RSX-11. Many of the commands and internal operating system calls from RSX-11 are directly available in OpenVMS. The call formats are similar in many ways, and even the memory pagination controls are recognizable. For instance, the event flag calls are nearly identical in concept. The QIO calls are the same. I/O synchronization with event-flag waits, an I/O status block, and calls to create or delete processes all match up. Though the code is not identical due to instruction size differences, conceptually, RSX-11 is VMS's direct ancestor. But then, people don't always remember that VAX is an acronym for Virtual Address eXtension. The thing that was extended was the PDP-11 architecture. - The Doc Man - 19 May 2013 — Preceding unsigned comment added by The Doc Man (talk • contribs) 04:05, 20 May 2013 (UTC)
It should be worthwhile to link basic VMS technologies like FMS, RMS etc to their ANSI/ISO standards. For example, FMS is based on an older text console handling / layout standard. —The preceding unsigned comment was added by 126.96.36.199 (talk • contribs) 22:27, 5 May 2006 (UTC2)
RMS isn't an ANSI/ISO standard, and has no relationship to same. Several hunks underneath RMS, such as the magtape and CD-ROM processing, do have associated standards. FMS is a layered product, and not part of OpenVMS itself. I've added a list of various of the applicable ISO/ANSI/FIPS/FED standards claimed by the HP OpenVMS folks, and it may or may not be complete or current. -Hoff 27-Nov-2006.
Relatively minimal. See the current C Run-time library reference manual at http://www.hp.com/go/openvms/doc/ for details on the wide character and related character conversion support. The file system on current releases (when ODS-5 is selected) can have Unicode characters within the filenames, though this is only used by a very few select products. Within the file contents, you can store whatever data you want, whether Unicode or otherwise. Most tools that process files do not have Unicode support. (I did not add this discussion into the edit I just did.) -Hoff 27-Nov-2006
OpenVMS support being wound way down
- The Inquirer article does not say that support is being wound down. It does suggest some support is moving to call centres in India which isn't the same thing. My insurance company handles my calls in India but that doesn't mean it's winding down. In any case The Inquirer has reported this news before so we just have to wait and see.Citizensmith 14:10, 18 September 2006 (UTC)
HP has documented software support plans through (at least) 2011, per its published roadmaps. See the current OpenVMS roadmap available at  for current details. -Hoff 27-Nov-2006
I think it's fair to say that VMS's userbase has been declining rapidly for at least a decade, and that HP will drop it as soon as its contractual obligations expire. It'd be useful if the page made some mention of this. Mkcmkc 22:11, 7 March 2007 (UTC)
- You'd need a reliable source and H-P probably isn't talking and Terry Shannon's dead. You'll know support has ended the day that H-P announces it to the remaining customer base.
- Atlant 23:46, 7 March 2007 (UTC)
There has been a lot of talk about OpenVMS support being wound down, but it is still alive and kicking as of this date (19-May-2013). The Doc Man - 19-May-2013
And at 31 July 2014 it has come back to life with VMS Software Inc licensing future development, which will include x86 port — Preceding unsigned comment added by 188.8.131.52 (talk) 20:47, 31 July 2014 (UTC)
"High level of security with versions evaluated at DoD NCSC Class C2 and, with the SEVMS security enhanced services support, at NCSC Class B1, per the NCSC Rainbow Series"
I think some links or references to that statement need to be added, its not that i doubt it.
Allix Davis Thu Sep 21 13:27:00 BST 2006
- Atlant 12:58, 21 September 2006 (UTC)
NCSC and Common Criteria citations added. -Hoff 27-Nov-2006
Whilst there have been shark logos associated with OpenVMS in the past, the one shown currently on the article is a copyvio from a Japanese (?) artist. The image is likely lifted from a Hobbyist site, I'm not sure who originally adapted the image to associate it with VMS, but it does have its afficianados. --Brianmc 22:37, 7 October 2006 (UTC)
There are other logos posted over at . I do not know what copyrights are in effect for those materials, or for the  "official" logo over at the HP OpenVMS web site. AFAIK, the swoosh is the only current HP official logo. The shark logos aren't current or official, per various HP folks. I'll leave it for somebody else to hack out the current shark logo. -Hoff 27-Nov-2006
- I was reminded of this issue because a recent editor pointed out that the logo is not a current HP logo. In fact, I don't believe that particular image it was ever used by DEC, Compaq, or HP. Plus, since that logo is copyrighted by Hajime Sorayama, I don't believe it should be used here at all -- I'm surprised the Wikipedia Copyright Police haven't cracked down on it yet. I've replaced it with the freeware shark image that was originally from . -- CWesling 04:57, 3 November 2007 (UTC)
I don't know and don't care about the current logo, but back in the day of DECUS (Digital Equipment Corporation Users Society), which means 1980s and 1990s, the logo for VAX/VMS was the Cheshire Cat from "Alice in Wonderland," selected because he was a virtual cat. Sometimes you could see the whole cat; other times, all you saw was the smile. At least twice while attending a DECUS convention, I got a pin-on button of said cat. It was a oss-up when you bought the button as to how much of the cat was on each button. The Doc Man - 19-May-2013 — Preceding unsigned comment added by The Doc Man (talk • contribs) 04:14, 20 May 2013 (UTC)
Regarding the use of Digital Command Language
In the main article, someone noted that some system operations can even be performed using the command scripting language, DCL. This is true but doesn't cover the half of what DCL can really do. Because DCL uses the same exact string paradigms as BASIC and is capable of integer math, it is possible to do some very complex parsing and other types of analysis via the scripting language. However, interpretive scripting overhead is ugly. The neat part about DCL is that, since it is so close to BASIC, it is often trivial to whip up a quick-and-dirty script in DCL just to get it working, then convert it to compiled BASIC for efficiency. The common language interface means you could also do the same for other target languages, but it happens that the BASIC string and file operations are so close to DCL that it is almost a "natural" prototyping environment. Further, DCL is capable of manipulating environmental variables, so it is possible to use DCL as a supporting environment for programs, making them much simpler. A feature not described very much in the main article is the LOGICAL NAME concept. Other operating systems might refer to these as aliases. In general, a logical name is a synonym for something else. The logical name can list a single translation or multiple translations for the same name. In the latter case, the name is referred to as a search list. Logical names can be used to generalize programs. For instance, in UNIX environments, you can easily send input or output streams to / from files via various methods. (Think STDIN and STDOUT.) In OpenVMS, you can redirect SYS$OUTPUT to capture output files, or SYS$INPUT for input data streams, and other SYS$xxx logical names exist as well. Thus, it is possible to use a script to redirect the standard input and output rather than having to make the programs smart enough to ask for or otherwise determine where files should be. Because logical names have scoping rules, it is possible to have a system-wide environment for something but then override it with a more localized scope of the same logical name. For instance, a production ORACLE database might be defined at the SYSTEM level, but a given job might define the same exact symbol set to point to a test ORACLE database. Because of scope search rules, the more localized versions "win" when they exist. But if they don't exist, you see the SYSTEM-level names and use the production database instead.
The Doc Man 18:23, 8 March 2007 (UTC) Second edit to clarify - The Doc Man - 19-May-2013
ISTR twenty-mumble years ago the tool requested by more DECUS members than any other was a DCL compiler, but an unrepentant DEC refused to provide one on the grounds that if the user wanted a compiled language for the sort of tasks typically undertaken using DCL procedures, there were already plenty available. In a previous life, when even Alpha CPU power was a bit limited for the task at hand, I spent a good deal of my time rewriting DCL procedures in FORTRAN. No, don't laugh. Mr Larrington (talk) 14:19, 29 September 2009 (UTC)
I'm not an expert in the area, but I feel that there should be a section on computer worms that attacked VMS. At least two I know of are the WANK worm and the Father Christmas worm. ~AFA ʢűčķ¿Ю 11:39, 1 May 2007 (UTC)
It seems that HP has retired the server that runs ftp.digital.com. The announcement can be found here: http://h18002.www1.hp.com/alphaserver/options/asgs1280/asgs1280_options.html
The ftp service is now inaccessible. The ftp.digital.com link at the bottom of this page should be replaced with another link that provides the same information if possible, or removed. Rilak (talk) 08:04, 28 February 2008 (UTC)
Process priorities and OS kernel jobs
This is the fist time I have entered anything anywhere on Wikipedia, so please bear with me if I make a protocol error, or violate a guideline. I am entering this comment in good faith to open for discussion what I believe is an inaccuracy in the OpenVMS article. I am not wanting to make anyone "wrong" - rather, I am pursuing accuracy (see more comments at the end).
In the second paragraph of the article on OpenVMS, this statement is made:
OpenVMS is a multi-user, multiprocessing virtual memory-based operating system (OS) designed for use in time sharing, batch processing, real-time (where process priorities can be set higher than OS kernel jobs), and transaction processing.
Most of this statement is accurate. However, based on my knowledge of the OpenVMS operating system, and depending on precisely what the author of this statement intends to convey, I believe that the following part of this statement is inaccurate as a characterization of how the operating system schedules the CPU resource:
real-time (where process priorities can be set higher than OS kernel jobs)
OpenVMS schedules all processes, which have process priorities of 0 to 31, to execute at Interrupt Priority Level (IPL) 0 (zero), which is the lowest of the thirty-two system-level processing priorities. Then all computable processes compete among themselves for the CPU, all at IPL 0, to execute based on which process currently has the highest process priority. Everything that the OS needs to do to manage hardware interrupt requirements, and to schedule threads of software execution, is done at higher priority than any process-priority thread of execution.
The only thing that even comes close to a process preempting an "OS kernel job" is that Asynchronous System Trap (AST) delivery occurs at IPL "ASTDEL," where ASTDEL is 2, I believe, and processes can trigger an AST delivery (to themselves or to another process). However, the scheduling of process AST execution is done by the OS at that IPL (2), and there is nothing that executes at IPL 1, so the only thread of execution that an AST could preempt would be another process's AST code (or its OWN AST code, probably in another AST), not an OS kernel job. I do not recall for sure, but I think the process either executes the AST at IPL 2 (I doubt it), or the OS, executing at IPL 2, schedules the process to execute the AST at its process's current process priority (interrupting the process's execution thread at the time of AST delivery). I think that all the process code, including the AST, executes at the process's current priority, which runs at IPL 0, below all system-level processing.
Correct me if you believe I am incorrect on any of my points here. My knowledge of the OS is rusty nowadays, but I seriously doubt that process priorities can now preempt "OS kernel jobs," whatever that means, precisely. Believe me, I am NOT out to make anyone "wrong," I just want the information published to be correct. I could well be the one who is incorrect here, based on what the exact intended meaning of the original statement is.
Thank you. I look forward to someone commenting on my comments.
- As far as I know, all user-mode code executes at IPL 0. High IPL (anything higher than level 0) requires CMKRNL priv. Denimadept (talk) 20:37, 20 June 2011 (UTC)
From Burns Fisher, VMS Developer (retired) 18-Dec-2012: I agree with the writer in essence. "Real time" priority jobs have nothing to do with "interrupting the kernel". As the writer suggests, I don't even really know what that means. I would suggest the when this info gets transferred to the actual article, all mention of IPLs be expunged. The writer is correct, but IPLs and process priorities are really quite different. IPLs are, in fact, the priorities within the kernel, while process priorities describe how processes (or kernel threads) relate to each other. As David John points out, without special dispensation, all user code runs at IPL 0, and I would add that this includes user mode ASTs. This article is not about internals, so let's forget IPLs.
To talk about real time priorities, we need to talk a bit about process priorities in general. Each process (or kernel thread within a process) is assigned a priority between 0 and 63 (Alpha and Itanium) or 0-31 (VAX). Priorities above 15 are called real time priorities; a process generally starts out around priority 3 or 4. A process priority has several functions. If a CPU is available, and if multiple processes are ready to run, then the process with the highest priority is the one which the scheduler chooses to run. Further, if a process becomes ready to run but there are no CPUs available AND there is another process with a lower priority running, that lower priority process will be pre-empted (interrupted) to allow the higher priority process to run. Process priorities can change. If a process has been waiting a long time, it's priority is gradually raised to a higher value. If a process completes an I/O under certain conditions, its priority is raised a bit. If it has been running for a long time, its priority is lowered. Ok so far? So what about real-time processes? They are just a process with a priority above 15. It's pretty much the same as described above with a couple of differences: 1) Non-realtime processes can't become realtime by virtue of their priority being raised automatically. 2) Realtime processes can't be pre-empted, even by a higher priority realtime process. In other words, once a realtime process is started, it runs until it voluntarily gives up control. There are a few more things that differ in the priority modification algorithms, but those are the essential differences.
So with all that said, I would edit the line in question to say "...real-time (where processes can not be pre-empted)...". In fact I will do that now.
The comments about setting real-time jobs to a higher priority than O/S kernel jobs is probably someone's misunderstanding of certain VMS functionality that has been split out into a separate process to support O/S functions. If you have something called an ACP (Ancillary Control Processor) you can have a process that is an extension of the O/S but that runs in process context rather than O/S context. You can set a real-time process to have a priority higher than an ACP priority if you wanted to do so. It would be unwise to do that too often, though, because if you ever bumped the priority above 16, you risk interfering with SWAPER which manages memory in various ways. There used to be an old saying about VAX performance - "When the VAX swaps, the world stops" - because when SWAPER had to sweep memory to initiate out-swaps, it did so at a priority higher than almost any other process on the system. Therefore, it was not easy to interrupt SWAPER. With the advent of multi-CPU and multi-core systems (that have multiple CPU threads running simultaneously), it becomes much harder to block SWAPER completely. Also, a lot of things formerly in an ACP (such as the F11ACP for Files-11 support) are now in extended run-time libraries such as XQP (the eXtended QIO Procedures) that simply have become a shared library of code to handle as much as possible of the file system from user context. The Doc Man - 19-May-2013 — Preceding unsigned comment added by The Doc Man (talk • contribs) 04:26, 20 May 2013 (UTC)
Priority and scheduling references
- Ruth Goldenberg and Denise Dumas, Open VMS Alpha Internals and Data Structures : Scheduling and Process Control : Version 7.0 (Difficult to find) Ruth Goldenberg and Saro Saravanan, OpenVMS AXP and Data Structures Version 1.5
Role of VAX and VMS
A reader having no prior VAX or VMS experience might be quite confused in trying to place these products in the larger computing context. The first paragraph alone calls VMS “a computer server operating system”, compares it to other “mainframe-oriented operating systems”, and describes the VAX as a “top-selling workstation line”. So is this about workstations, servers, or mainframes? Or “none of the above”?, as the original 11/780 super-minicomputer didn't fit any of those categories. Perhaps we should just withdraw the excessive adjectives and call it “a computer operating system”, which besides being less confusing, has the advantage of being more accurate. :) 184.108.40.206 (talk) 04:10, 22 October 2012 (UTC)
- Yes, it's about all the above: workstations, servers, and mainframes. The VAX line ran the whole gamut from desktop machines through minicomputers, to large systems like the VAX 9000. And it still does, in the Alpha and Itanium world. - Denimadept (talk) 05:28, 22 October 2012 (UTC)
The VAX 9000 was not a mainframe. It was a large mini. OpenVMS is not a mainframe operating system no matter how badly anybody wants it to be and no matter how much you try to change history. VMS is a server operating system. A mainframe is a server but not all servers are mainframes.220.127.116.11 (talk) 20:45, 27 January 2015 (UTC)