HP OpenVMS Systems Documentation

Content starts here

The OpenVMS Frequently Asked Questions (FAQ)


Previous Contents Index

3.3 How do I extract the contents of a HELP topic to a text file?

To extract all the text of a HELP topic (and its subtopics) to a text file for perusal with a text editor, printing out, etc., use the following command:


$ HELP/OUT=filename.txt help-topic [help-subtopic]

If the help text you want is not in the standard help library (for example, it's help for a utility such as MAIL that has its own help library), add /LIBRARY=libname after the HELP verb. To see the names of help library files, do a directory of SYS$HELP:*.HLB.

3.4 Does OpenVMS Marketing have an e-mail address?

Yes - if you can't get the answers to marketing questions elsewhere, if you have comments or complaints about OpenVMS, send mail to openvms-info{atsign}hp.com. This address is not a support channel, and is solely intended to provide informal method to communicate directly with members of OpenVMS Marketing.

3.5 Where can I learn about OpenVMS executive internals?

The OpenVMS Internals and Data Structure manual (IDSM) explains how the OpenVMS executive works. The book covers the operating system kernel: process management; memory management; the I/O subsystem; and the mechanisms that transfer control to, from, and among these. It gives an overview of a particular area of the system, followed by descriptions of the data structures related to that area and details of the code that implements the area.

The first edition of the OpenVMS Alpha internals book describes Version 1.5. Although there have been several releases of OpenVMS Alpha since Version 1.5 (V6.1, V6.2, V7.0, V7.1, etc) and many details in the book are no longer accurate, it continues to provide a strong conceptual description of OpenVMS internals.

This book has been split into five pieces, each to be updated separately. The first such volume, published in early 1997, was "OpenVMS Alpha Internals and Data Structures: Scheduling and Process Control," which covers the Version 7.0 implementation of true multithreading and the changed scheduling model it implies.

The internals books are available through Digital Press, see Section 3.6

3.6 Where can new users find tutorial information about OpenVMS?

First, see if your local site has information on this topic. Each site can have site-specific features and configuration. Some sites will have site-specific new user's documentation, covering various site-specific things that are difficult or impossible for the general OpenVMS documentation to cover.

3.6.1 Tutorial Websites?

Various websites with OpenVMS information are available; Table 3-2 contains some suggested URLs.

Table 3-2 OpenVMS Tutorial and Documentation Websites
URL Sponsor
Introductory
http://www.levitte.org/~ava/vms_faq.htmlx
http://saf.bio.caltech.edu/vms_sheet.html
http://seqaxp.bio.caltech.edu/www/vms_beginners_faq.html
  Various introductory materials
http://www.montagar.com/openvms_class/
  Members of the Encompass DFWCUG maintain a website with many materials available, including an Overview of OpenVMS, an Introduction to DCL and the TPU Editor, Advanced DCL Command Procedures, OpenVMS Operations: Batch, Print, Tape, an Introduction to OpenVMS Management, to OpenVMS User Management, to OpenVMS Network Management, and to OpenVMS Cluster Management. These training materials have been presented at various DECUS symposia.
http://www.mcsr.olemiss.edu/unixhelp/VMStoUNIX.html
  A comparison table of various command-level tasks, with information on the UNIX and Linux shell command(s), and on the OpenVMS DCL command(s).
HP OpenVMS Documentation
http://www.hp.com/go/openvms/doc/
  Various introductory guides as well as more advanced manuals are available in the OpenVMS and layered product documentation set.
HP OpenVMS Training
http://h18000.www1.hp.com/training/home.html
  HP offers training information and Technical Resource Kits (TRKs) and other Training for OpenVMS. An OpenVMS certification (testing) program is also available.
http://www.jcameron.com/vms/
  An OpenVMS Quiz
http://www.CCSScorp.com/
  CCSS Interactive Learning has OpenVMS training materials
http://www.acersoft.com/
  AcerSoft Training information, and Shannon Knows Punditry
http://www.mindiq.com/
  MindIQ training information
http://www.quadratrix.be/
  Quadratrix; OpenVMS training, products and services; affiliated with Global Knowledge and KeyJob

3.6.2 Books and Tutorials?

Some of the OpenVMS books that are or have been available from the Digital Press imprint

are listed in Table 3-3:

Table 3-3 DP Books
Title and Author ISBN
Getting Started with OpenVMS System Management, 2nd Edition
David Donald Miller, et al
1-55558-243-5
Introduction to OpenVMS, 5th Edition
Lesley Ogilvie Rice
1-55558-194-3
Introduction to OpenVMS
David W Bynon
1-878956-61-2
OpenVMS Alpha Internals: Scheduling and Process Control 1-55558-156-0
OpenVMS AXP Internals and Data Structures: Version 1.5 1-55558-120-X
OpenVMS System Management Guide
Baldwin, et al
1-55558-143-9
The OpenVMS User's Guide, Second Edition
Patrick Holmay
1-55558-203-6
Using DECwindows Motif for OpenVMS
Margie Sherlock
1-55558-114-5
VAX/VMS Internals and Data Structures: Version 5.2 1-55558-059-9
Writing Real Programs in DCL, Second Edition
Hoffman and Anagnostopoulos
1-55558-191-9
Writing OpenVMS Alpha Device Drivers in C
Sherlock and Szubowicz
1-55558-133-1

For various featured OpenVMS books, also please see the books link at the OpenVMS website:

For a bibliography of various OpenVMS books, please see:

3.7 What OpenVMS mailing lists are available?

Various OpenVMS mailing lists are available, with some of the available lists detailed in Table 3-4.

Table 3-4 OpenVMS Mailing Lists
Subscription Interest Area
OpenVMS Freeware archive announcement list FSupdate@goatley.com
FSupdate-request@goatley.com 1
Two-way echo of vmsnet.internals VMSnet-Internals@goatley.com
VMSnet-Internals-request@goatley.com 1
OpenVMS Alpha Internals discussions Alpha-IDS@goatley.com
Alpha-IDS-request@goatley.com 1
BLISS discussions BLISSters@goatley.com
BLISSters-request@goatley.com 1
Process Software MultiNet mailing list (news gateway) Info-MultiNet@process.com
Info-MultiNet-request@process.com 1
Process Software TCPware mailing list (news gateway) Info-TCPware@process.com
Info-TCPware-request@process.com 1
Process Software PMDF mailing list (news gateway) Info-PMDF@process.com
Info-PMDF-request@process.com 1
The Software Resources International (SRI) CHARON-VAX VAX emulator package CHARON-VAX-Users@process.com
CHARON-VAX-Users-request@process.com 1
Info-Zip's Zip & UnZip discussion list Info-Zip@wku.edu
Info-Zip-Request@wku.edu 1
RADIUS-VMS, a RADIUS server for OpenVMS discussion forum radius-vms@dls.net
radius-vms-request@dls.net 1
Internet Service Providers (ISPs) running OpenVMS vms-isps@dls.net
vms-isps-request@dls.net 1
Users of Mark Daniel's WASD web server for OpenVMS VAX and Alpha exists. Information about this list server and details on how to subscribe to the list are available at the referenced website. http://wasd.vsm.com.au/
VMS Forum http://www.neurophys.wisc.edu/comp/ava/vms_forum.htmlx

1This is the subscription address. Usually, you will want to send a mail message with no subject line, and a SUBSCRIBE or HELP command in the body of the mail message.

3.8 What is this Ask The Wizard website I've heard about?

The HP OpenVMS Ask The Wizard (ATW) website was an informal area discussing OpenVMS, containing questions and answers on a wide variety of topics.

For additional information on the OpenVMS Ask The Wizard (ATW) area and for a pointer to the available ATW Wizard.zip archive, please see Section 3.8.

To access a cited topic directly, use the URL filename WIZ_topic-number.HTML, or use the topic search engine. Cited topics are shown in parentheses, and act as unique topic addresses. These should not be confused with the relative topic numbers shown at the site. For example, the topic (1020) can be accessed directly using the URL filename wiz_1020.html, at the web site that the following URL resolves into:

A zip archive (named wizard.zip) containing all of the available topics and questions can be downloaded from the above URL. The wizard.zip zip archive is completely regenerated when/if existing topics posted out to the ATW website are updated. Copies of this wizard.zip archive also generally ship out on the OpenVMS Freeware, as well.

New (informal) questions and discussions are now being directed away from the ATW area to the ITRC area, and specifically to the ITRC discussion forums:

3.9 Where can I find the latest C run-time library manuals?

The C run-time library (RTL) reference documentation has been moved from the C language documentation set to the OpenVMS documentation set. For the most recent version of the C RTL documentation and the OpenVMS standard C library, please see the OpenVMS manuals.

In addition to the user-mode C RTL, there is a second kernel-mode RTL accessable to drivers on OpenVMS Alpha and OpenVMS I64. For details on this second library and on the duplicate symbol errors that can be triggered when this library is referenced during an incorrectly-specified LINK command, please see Section 10.22.1. For general information on this kernel RTL, see the Digital Press book Writing OpenVMS Device Drivers in C. For details, please see the associated OpenVMS source listings distribution.


Chapter 4
Time and Timekeeping

If you are searching for something here, please consider using the text-format FAQ.

This chapter discusses time, timekeeping, system time synchronization, clock skew and clock drift, implications of using SUBMIT/AFTER=TOMORROW, and other time-related topics.

4.1 A brief history of OpenVMS Timekeeping, please?

Why does OpenVMS regards November 17, 1858 as the beginning of time...

The modified Julian date adopted by the Smithsonian Astrophysical Observatory (SAO) for satellite tracking is Julian Day 2400000.5, which turns out to be midnight on November 17, 1858.

SAO started tracking satellites with an 8K (nonvirtual) 36-bit IBM 704 in 1957 when Sputnik went into orbit. The Julian day was 2435839 on January 1, 1957. This is 11225377 octal, which was too big to fit into an 18-bit field. With only 8K of memory, the 14 bits left over by keeping the Julian date in its own 36-bit word would have been wasted. SAO also needed the fraction of the current day (for which 18 bits gave enough accuracy), so it was decided to keep the number of days in the left 18 bits and the fraction of a day in the right 18 bits of one word.

Eighteen bits allows the truncated Julian Day (the SAO day) to grow as large as 262143, which from November 17, 1858, allowed for 7 centuries. Possibly, the date could only grow as large as 131071 (using 17 bits), but this still covers 3 centuries and leaves the possibility of representing negative time. The 1858 date preceded the oldest star catalogue in use at SAO, which also avoided having to use negative time in any of the satellite tracking calculations.

The original Julian Day (JD) is used by astronomers and expressed in days since noon January 1, 4713 B.C. This measure of time was introduced by Joseph Scaliger in the 16th century. It is named in honor of his father, Julius Caesar Scaliger (note that this Julian Day is different from the Julian calendar that is named for the Roman Emperor Julius Caesar!).

Why 4713 BC? Scaliger traced three time cycles and found that they were all in the first year of their cyle in 4713 B.C. The three cycles are 15, 19, and 28 years long. By multiplying these three numbers (15 * 19 * 28 = 7980), he was able to represent any date from 4713 B.C. through 3267 A.D.

The starting year was before any historical event known to him. In fact, the Jewish calendar marks the start of the world as 3761 B.C. Today his numbering scheme is still used by astronomers to avoid the difficulties of converting the months of different calendars in use during different eras.

The following web sites:

are all good time-related resources, some general and some specific to OpenVMS.

4.1.1 Details of the OpenVMS system time-keeping?

4.1.1.1 VAX hardware time-keeping details...

4.1.1.1.1 TOY clock

This is battery backed up hardware timing circuitry used to keep the correct time of year during rebooting, power failures, and system shutdown. This clock only keeps track of months, days, and time. The time is kept relative to January 1st, at 00:00:00.00 of the year the clock was initiailized.

The VAX Time-Of-Year (TOY) clock (used to save the time over a reboot or power failure) is specified as having an accuracy of 0.0025%. This is a drift of roughly 65 seconds per month.

The VAX Interval Time is used to keep the running time, and this has a specified accuracy of .01%. This is a drift of approximately 8.64 seconds per day.

Any high-IPL activity can interfere with the IPL 22 or IPL 24 (this depends on the VAX implementation) clock interrupts---activities such as extensive device driver interrupts or memory errors are known to slow the clock.

4.1.1.1.2 EXE$GQ_SYSTIME

This is the OpenVMS VAX system time cell. This cell contains the number of 100ns intervals since a known reference. This cell is incremented by 100000 every 10ms by an hardware interval timer.

4.1.1.1.3 EXE$GQ_TODCBASE

This cell contains the time and date the system time was last adjusted by EXE$SETTIME. It uses the same format as EXE$GQ_SYSTIME. On adjustment of the system time a copy of EXE$GQ_SYSTIME is stored in this cell in both memory and on disk. This cell is used to get the year for the system time.

4.1.1.1.4 EXE$GL_TODR

This cell contains the time and date the system time was last adjusted by EXE$SETTIME. It uses the same format as the time of year clock. On adjustment of the system time this cell gets saved back to both memory and disk. The contents of this cell are used to test the validity of the TOY clock.

The system parameters SETTIME and TIMEPROMPTWAIT determine how the system time will be set.

  • IF SETTIME = 0 and the TOY clock is valid
    THEN the contents of the TOY clock are compared to those of EXE$GL_TODR. IF the TOY clock is more than a day behind EXE$GL_TODR
    THEN the TOY clock is presumed invalid.
    • IF the TOY clock is within a day of EXE$GL_TODR
      THEN the system time is calculated as follows:
    • EXE$GQ_SYSTIME = EXE$GQ_TODCBASE + ((TOY_CLOCK - EXE$GL_TODR) * 100000)
  • IF SETTIME = 1 or the TOY clock is invalid
    THEN the value of TIMEPROMPTWAIT determines how to reset the time of year. IF TIMEPROMPTWAIT > 0
    THEN the user is prompted for the time and date, for a length of time equal to TIMEPROMPTWAIT microfortnights.
    • IF TIMEPROMPTWAIT = 0
      THEN the time of year is the value of EXE$GL_TODR + 10ms.
    • IF TIMEPROMPTWAIT < 0
      to proceed until they do so.
    • THEN the user is prompted for the time and date and unable

When booting a CD-ROM containing an OpenVMS VAX system, the system will typically be deliberately configured prompt the user to input the time -- this is necessary in order to boot with the correct time.

If either TIMEPROMPTWAIT or SETTIME are set to zero, OpenVMS VAX will use the TOY clock to get the time of year, and the year will be fetched from the distribution medium. The value of the year on the distribution medium (saved within the SYS.EXE image) will most likely be that of when the kit was mastered, and cannot be changed. Unless the current year happens to be the same year as that on the distribution, most likely the year will be incorrect. (Further, with the calculation of Leap Year also being dependent on the current year, there is a possibility that the date could be incorrect, as well.)


Previous Next Contents Index