Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!newsfeed.stanford.edu!newsfeed.news.ucla.edu!ihnp4.ucsd.edu!sdd.hp.com!news.compaq.com!news.cpqcorp.net!53ab2750!not-for-mail
Newsgroups: comp.os.vms,comp.sys.dec,comp.answers,news.answers
Followup-To: poster
Distribution: world
X-Newsreader: mxrn 6.18-32C
From:
[email protected] (Hoff Hoffman)
References: <
[email protected]> <
[email protected]>
Approved:
[email protected]
Reply-To:
[email protected]
Organization: HP
Subject: OpenVMS Frequently Asked Questions (FAQ), Part 3/11
Summary: This posting contains answers to frequently asked questions about
the HP OpenVMS operating system, and the computer systems on which
it runs.
Lines: 2303
Message-ID: <
[email protected]>
Date: Sun, 04 Sep 2005 19:55:43 GMT
NNTP-Posting-Host: 16.32.80.251
X-Complaints-To:
[email protected]
X-Trace: news.cpqcorp.net 1125863743 16.32.80.251 (Sun, 04 Sep 2005 12:55:43 PDT)
NNTP-Posting-Date: Sun, 04 Sep 2005 12:55:43 PDT
Xref: senator-bedfellow.mit.edu comp.os.vms:449756 comp.sys.dec:102376 comp.answers:61549 news.answers:296114
Archive-name: dec-faq/vms/part3
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-03.TXT
Documentation
________________________________________________________________
Table 3-2 (Cont.) OpenVMS Tutorial and Documentation Websites
_______________________________________________________
URL_______Sponsor______________________________________
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
o
http://www.bh.com/
are listed in Table 3-3:
________________________________________________________________
Table 3-3 DP Books
________________________________________________________________
Title_and_Author_____________________ISBN_______________________
Getting Started with OpenVMS System 1-55558-243-5
Management, 2nd Edition
David Donald Miller, et al
Introduction to OpenVMS, 5th 1-55558-194-3
Edition
Lesley Ogilvie Rice
3-8
Documentation
________________________________________________________________
Table 3-3 (Cont.) DP Books
________________________________________________________________
Title_and_Author_____________________ISBN_______________________
Introduction to OpenVMS 1-878956-61-2
David W Bynon
OpenVMS Alpha Internals: Scheduling 1-55558-156-0
and Process Control
OpenVMS AXP Internals and Data 1-55558-120-X
Structures: Version 1.5
OpenVMS System Management Guide 1-55558-143-9
Baldwin, et al
The OpenVMS User's Guide, Second 1-55558-203-6
Edition
Patrick Holmay
Using DECwindows Motif for OpenVMS 1-55558-114-5
Margie Sherlock
VAX/VMS Internals and Data 1-55558-059-9
Structures: Version 5.2
Writing Real Programs in DCL, 1-55558-191-9
Second Edition
Hoffman and Anagnostopoulos
Writing OpenVMS Alpha Device 1-55558-133-1
Drivers in C
Sherlock_and_Szubowicz__________________________________________
For various featured OpenVMS books, also please see the
books link at the OpenVMS website:
o
http://www.hp.com/go/openvms
For a bibliography of various OpenVMS books, please
see:
o
http://www.levitte.org/~ava/vms_book.htmlx
3-9
Documentation
__________________________________________________________
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
[email protected]
announcement list
[email protected][1]
Two-way echo of
[email protected]
vmsnet.internals VMSnet-Internals-
[email protected][1]
OpenVMS Alpha Internals
[email protected]
discussions
[email protected][1]
BLISS discussions
[email protected]
[email protected][1]
Process Software MultiNet
[email protected]
mailing list (news gateway) Info-MultiNet-
[email protected][1]
Process Software TCPware
[email protected]
mailing list (news gateway) Info-TCPware-
[email protected][1]
Process Software PMDF mailing
[email protected]
list (news gateway)
[email protected][1]
The Software Resources
[email protected]
International (SRI) CHARON-VAX CHARON-VAX-Users-
VAX emulator package
[email protected][1]
Info-Zip's Zip & UnZip
[email protected]
discussion list
[email protected][1]
RADIUS-VMS, a RADIUS server
[email protected]
for OpenVMS discussion forum
[email protected][1]
Internet Service Providers
[email protected]
(ISPs) running OpenVMS
[email protected][1]
________________________________________________________________
[1]This 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-10
Documentation
________________________________________________________________
Table 3-4 (Cont.) OpenVMS Mailing Lists
________________________________________________________________
Subscription____________________Interest_Area___________________
Users of Mark Daniel's WASD
http://wasd.vsm.com.au/
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.
VMS Forum
http://www.neurophys.wisc.edu/comp/ava/vms_
________________________________forum.htmlx_____________________
__________________________________________________________
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.
o
http://www.hp.com/go/openvms/wizard/
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:
o
http://www.hp.com/go/openvms/wizard/
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.
3-11
Documentation
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:
o
http://www.itrc.hp.com/
__________________________________________________________
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.
o
http://www.hp.com/go/openvms/doc/
3-12
_______________________________________________________
4 Time and Timekeeping
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.
4-1
Time and Timekeeping
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:
o
http://www.openvms.compaq.com/openvms/products/year-
2000/leap.html
o
http://www.eecis.udel.edu/~ntp/
o
http://www.nist.gov/
o
http://www.boulder.nist.gov/timefreq/
o
http://www.tondering.dk/claus/calendar.html
o
http://es.rice.edu/ES/humsoc/Galileo/Things/gregorian_
calendar.html
are all good time-related resources, some general and
some specific to OpenVMS.
_____________________________
4.1.1 Details of the OpenVMS system time-keeping?
4-2
Time and Timekeeping
_____________________________
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-3
Time and Timekeeping
_____________________________
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.
o 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.
o IF the TOY clock is within a day of EXE$GL_TODR
THEN the system time is calculated as follows:
o EXE$GQ_SYSTIME = EXE$GQ_TODCBASE + ((TOY_CLOCK -
EXE$GL_TODR) * 100000)
o 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.
o IF TIMEPROMPTWAIT = 0
THEN the time of year is the value of EXE$GL_TODR
+ 10ms.
o IF TIMEPROMPTWAIT < 0
to proceed until they do so.
o 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.
4-4
Time and Timekeeping
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.)
_____________________________
4.1.1.2__Alpha_hardware_time-keeping details...
4.1.1.2.1 Battery-Backed Watch (BB_WATCH) Chip
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 keeps
track of date and time in 24 hour binary format.
The BB_WATCH time is used to initialize the running
system time during bootstrap, and the BB_WATCH time
is read when the SET TIME command is issued with no
parameters; when the running system time is reset to
the value stored in the BB_WATCH. The running system
time is written into the BB_WATCH when the SET TIME
command is issued with a parameter.
The specification for maximum clock drift in the Alpha
hardware clock is 50 parts per million (ppm), that
is less than �0.000050 seconds of drift per second,
less than �0.000050 days of drift per day, or less
than �0.000050 years of drift per year, etc. (eg: An
error of one second over a day-long interval is roughly
11ppm, or 1000000/(24*60*60).) Put another way, this
is .005%, which is around 130 seconds per month or 26
minutes per year.
The software-maintained system time can drift more than
this, primarily due to other system activity. Typical
causes of drift include extensive high-IPL code (soft
memory errors, heavy activity at device IPLs, etc) that
4-5
Time and Timekeeping
are causing the processing of the clock interrupts to
be blocked.
_____________________________
4.1.1.2.2 EXE$GQ_SYSTIME
This is the OpenVMS Alpha system time cell. This cell
contains the number of 100ns intervals since November
17, 1858 00:00:00.00. This cell is incremented by
_________100000_every_10ms_by an hardware interval timer.
4.1.1.2.3 EXE$GQ_SAVED_HWCLOCK
This cell is used by OpenVMS Alpha to keep track of the
last time and date that EXE$GQ_SYSTIME was adjusted. It
keeps the same time format as EXE$GQ_SYSTIME. The value
in this cell gets updated in memory and on disk, every
time EXE$GQ_SYSTIME gets adjusted.
o The system parameters SETTIME and TIMEPROMPTWAIT
determine how the system time will be set.
o If SETTIME = 0
then EXE$INIT_HWCLOCK reads the hardware clock to
set the system time.
o IF TIMEPROMPTWAIT > 0
THEN the value of TIMEPROMPTWAIT determines how
long the user is prompted to enter the time
and date. If time expires and no time has been
entered the system acts as if TIMEPROMPTWAIT = 0.
o IF TIMEPROMPTWAIT = 0
THEN the system time is calculated from the
contents of EXE$GQ_SAVED_HWCLOCK + 1.
o IF TIMEPROMPTWAIT < 0
THEN the user is prompted for the time and date
and unable to continue until the information is
entered.
Unlike the VAX, the Alpha hardware clock tracks the
full date and time, not just the time of year. This
means it is possible to boot from the CD-ROM media
without entering the time at the CD-ROM bootstrap.
(This provided that the time and date have been
initialized, of course.)
4-6
Time and Timekeeping
IA-64 (Itanium) hardware time-keeping details to be
added...
_____________________________
4.1.1.3 Why does VAX need a SET TIME at least once a year?
Because the VAX Time Of Year (TOY) has a resolution of
497 days, the VAX system time is stored using both the
TOY and the OpenVMS VAX system image SYS.EXE. Because
of the use of the combination of the TOY and SYS.EXE,
you need to issue a SET TIME command (with the time
parameter specified) at least once between January 1st
and about April 11th of each year, and whenever you
change system images (due to booting another OpenVMS
VAX system, booting the standalone BACKUP image, an ECO
that replaces SYS.EXE, etc).
The SET TIME command (with the current time as a
parameter) is automatically issued during various
standard OpenVMS procedures such as SHUTDOWN, and it
can also obviously be issued directly by a suitably
privileged user. Issuing the SET TIME command (with a
parameter) resets the value stored in the TOY, and (if
necessary) also updates the portion of the time (the
current year) saved in the SYS.EXE system image.
This VAX TOY limit is the reason why OpenVMS VAX
installation kits and standalone BACKUP explicitly
prompt for the time during bootstrap, and why the time
value can "get weird" if the system crashes outside the
497 day window (if no SET TIME was issued to update the
saved values), and why the time value can "get weird"
if a different SYS$SYSTEM:SYS.EXE is used (alternate
system disk, standalone BACKUP, etc).
_____________________________
4.1.2 How does OpenVMS VAX maintain system time?
VAX systems maintain an interval clock, and a hardware
clock.
The VAX hardware clock is called the TOY ("Time Of
Year") clock. The register associated with the clock is
called the TODR ("Time Of Day Register").
4-7
Time and Timekeeping
The TOY clock-as used-stores time relative to January
first of the current year, starting at at 00:00:00.00.
It is a 100 Hz, 32-bit counter, incremented every 10ms,
and thus has a capacity of circa 497 days.
OpenVMS (on the VAX platform) stores system date
information-and in particular, the current year-in
the system image, SYS$SYSTEM:SYS.EXE.
The TOY is used, in conjunction with the base date
that is stored and retrieved from the system image, to
initialize the interval clock value that is stored in
EXE$GQ_SYSTIME.
Once the interval clock is loaded into the running
system as part of the system bootstrap, the system
does not typically reference the TOY again, unless a
SET TIME (with no parameters) is issued. The interval
clock value is updated by a periodic IPL22 or IPL24
(depending on the specific implementation) interrupt.
(When these interrupts are blocked as a result of the
activity of higher-IPL code-such as extensive driver
interrupt activity or a hardware error or a correctable
(soft) memory error-the clock will "loose" time, and
the time value reported to the user with appear to have
slowed down.)
When SET TIME is issued with no parameters, the TOY
clock is loaded into the system clock; the running
system clock is set to the time stored in the TOY
clock. This assumes the TOY clock is more accurate
than the system clock, as is normally the case.
On most (all?) VAX systems, the battery that is
associated with the TOY clock can be disconnected and
replaced if (when) it fails-TOY clock failures are
quite commonly caused by a failed nickel-cadmium (NiCd)
or lithium battery, or by a failed Dallas chip.
4-8
Time and Timekeeping
__________________________________________________________
4.2 Keeping the OpenVMS system time synchronized?
To help keep more accurate system time or to keep
your system clocks synchronized, TCP/IP Services NTP,
DECnet-Plus DTSS (sometimes known as DECdtss), DCE
DTS, and other techniques are commonly used. If you do
not or cannot have IP access to one of the available
time-base servers on the Internet, then you could use
dial-up access to NIST or other authoritative site, or
you can use a direct connection to a local authorative
clock.
There exists code around that processes the digital
(ie: binary) format time that is available via a
modem call into the NIST clock (the Automated Computer
Telephone Service (ACTS) service), and code that grabs
the time off a GPS receiver digital link, or a receiver
(effectively a radio and a codec) that processes the
time signals from radio stations WWV, WWVH, WWVB, or
similar.
Processing the serial or hardware time protocols
often involves little more than reading from an EIA232
(RS232) serial line from the receiver, something that
is possible from most any language. Information on
correctly drifting the OpenVMS system clock to match
the time-base time is available within the logic of at
least one OpenVMS Freeware package. (See Section 4.3
for a few potential hardware options.)
One example of acquring a time-base through local
integrated hardware involves the IRIG time format
(IRIG-A, -B, -G), a binary signal containing the
current time in hours, minutes, seconds and days
since the start of the current year. IRIG can also
contain the time of day as the number of seconds since
midnight. HP Custom Systems and third-party vendors
have variously offered IRIG-based reader/generator
modules for OpenVMS systems.
One of the easiest approaches is a network-based
GPS or other similar receiver. Basically, this is a
network server box that provides an NTP server with
the necessary hardware for external synchronization.
In addition to the antenna and the receiver and
4-9
Time and Timekeeping
processing components, these devices provide a network
interface (NIC) and support for an NTP time server,
and applications including the NTP support within
TCP/IP Services and within various third-party IP
stacks can then be used to synchronize with the the NTP
information provided by time-base receivers. No other
host software is required, and no host configuration
steps and no host software beyond NTP are required.
(See Section 4.3 for a few potential hardware options.)
Differing time servers (DECnet-Plus DTSS, DCE DTS, NTP,
etc) do not coexist particularly well, particularly if
you try to use all these together on the same node.
Please pick and use just one. (If needed, you can
sometimes configure one package to acquire its timebase
from another protocol, but one and only one time server
package should have direct control over the management
of and drifting of the local OpenVMS system time. In
the specific case of DECnet-Plus DTSS, older product
versions and versions V7.3 and later provide a provider
module, a module which permits DTSS to acquire its time
from NTP. For details on this, please see the comments
in the module DTSS$NTP_PROVIDER.C.)
Unlike DECnet-Plus, TCP/IP Services NTP is not capable
of connecting to a time-base other than the network
time base or the local system clock. Third-party and
open source NTP implementations are available for
OpenVMS, as well.
Useful URLs:
o
http://www.boulder.nist.gov/timefreq/service/nts.htm
o
http://www.boulder.nist.gov/timefreq/service/acts.htm
o
http://www.boulder.nist.gov/timefreq/
o
http://www.time.gov/
4-10
Time and Timekeeping
__________________________________________________________
4.3 External time-base hardware?
Here are a few possibilities for providers of a GPS-
based receiver with an embedded NTP server, strictly
culled from the first few pages of a Google search.
Availability, pricing, OpenVMS compatibility and other
factors are not known.
o
http://www.galleon.eu.com/
o
http://www.meinberg.de/english/
o
http://www.ntp-servers.com/
For a direct-connected (local, non-IP, non-NTP) link,
there are serial options available. Google finds
Spectracom Corporation has a NetClock that could be
used here, based on a quick look-I do not know if there
is OpenVMS host software, but that would be possible
to write for the ASCII data stream that the device
supports. (Such coding requires knowledge of serial
I/O, character processing, and knowledge of the clock
drift API mechanisms in OpenVMS-there exists Freeware
tools that could be used to learn how to tie into the
clock drifting mechanisms of OpenVMS.)
o
http://www.spectracomcorp.com/
http://www.spectracomcorp.com/
Information on, and experiences or recommendations for
or against these or other similar devices is welcome.
_____________________________
4.3.1 Why do my cluster batch jobs start early?
Your system time is skewed across your cluster members,
and the cluster member performing the queue management
tasks has a system time set later than the system time
of the member running the batch job.
This behaviour is most noticable when using
SUBMIT/AFTER=TOMORROW and similar constructs, and
use of /AFTER="TOMMOROW+00:01:00" or such is often
recommended as a way to avoid this. The combination
time value specified should be larger than the maximum
4-11
Time and Timekeeping
expected time skew. In the example shown, the maximum
cluster clock skew is assumed less than 1:00.
You can also maintain your system times in better
synchronization, with available tools described in
Section 4.2 and elsewhere.
_____________________________
4.3.2 Why does my OpenVMS system time drift?
Memory errors, hardware problems, or most anything
operating at or above IPL 22 or IPL 24 (clock IPL is
system family dependent; code executing at or above
the clock IPL will block the processing of clock
interrupts), can cause the loss of system time. Clock
drift can also be caused by normal (thermal) clock
variations and even by the expected level of clock
drift.
When clock interrupts are blocked as a result of the
activity of high-IPL code-such as extensive driver
interrupt activity or a hardware error or a correctable
(soft) memory error-the clock will "loose" time, and
the time value reported to the user with appear to have
slowed down. Correctable memory errors can be a common
cause of system time loss, in other words. Heavy PCI
bus traffic can also cause lost time.
One bug in this area involved the behaviour of certain
graphics controllers including the ELSA GLoria Synergy
PBXGK-BB; the PowerStorm 3D10T effectively stalling
the PCI bus. See Section 5.16 for details on the ELSA
GLoria Synergy controller, and make certain you have
the current GRAPHICS ECO kit installed.
Clock drift can also be (deliberately) caused by the
activity of the DTSS or NTP packages.
Also see Section 4.1.1.2.1, Section 4.1.1, and
Section 4.3.4.
4-12
Time and Timekeeping
_____________________________
4.3.3 Resetting the system time into the past?
You can resynchronize system time using DCL commands
such as SET TIME and SET TIME/CLUSTER, but these
commands can and obviously will cause the current
system time to be set backwards when the specified time
predates the current system time. This time-resetting
operation can cause application problems, and can
adversely effect applications using absolute timers,
applications that assume time values will always be
unique and ascending values, and applications.
Setting the time backwards by values of even an hour
has caused various run-time problems for applications
and layered products. For this reason, this technique
was not considered supported during the Year 2000 (Y2K)
testing; a system or cluster reboot was strongly
recommended as the correct means to avoid these
problems.
Application programmers are encouraged to use the time-
related and TDF-related events that are available with
the $set_system_event system service, and/or to use
UTC or similar time, as these techniques can permit
the application to better survive retrograde clock
events. (There is an ECO to repair problems seen in
the DECnet-Plus support for generating TDF events from
DTSS, and this applies to V7.3 (expected to be in ECO4
and later) V7.3-1 (expected to be in ECO3 and later)
and V7.3-2 (expected to be in ECO1 and later). Apply
the most current DECnet-Plus ECO kits for these OpenVMS
releases, for best TDF event support from DECnet-Plus.)
See Section 4.3.4 and Section 4.3.1.
_____________________________
4.3.4 How can I drift the OpenVMS system time?
With DECdts and TCP/IP Services NTP, the system time
value is "drifted" (rather than changed), to avoid the
obvious problems that would arise with "negative time
changes". The same basic clock drifting technique is
used by most (all?) time servers operating on OpenVMS,
typically using the support for this provided directly
within OpenVMS.
4-13
Time and Timekeeping
An example of the technique used (on OpenVMS VAX)
to drift the system time is the SETCLOCK tool on the
OpenVMS Freeware.
For information on the use of the EXE$GL_TIMEADJUST and
EXE$GL_TICKLENGTH cells on OpenVMS Alpha, see OpenVMS
AXP Internal and Data Structures, located on page 348.
For those areas which switch between daylight saving
time (DST) and standard time, the time value is not
drifted. The time is adjusted by the entire interval.
This procedure is inherent in the definition of the
switch between DST and standard time. (Do look at
either not switching to daylight time, or (better)
using UTC as your time-base, if this change-over is not
feasible for your environment.)
See Section 4.3.4 and Section 4.3.3.
_____________________________
4.3.5 How can I configure TCP/IP Services NTP as a time
provider?
An NTP time provider provides its idea of the current
time to NTP clients via the NTP protocol. Most systems
are NTP clients, but...
NTP has a heirarchy of layers, called strata. The
further away from the actual NTP time source (Internet
time servers are at stratum 1), the lower the strata
(and the larger the number assigned the statum).
NTP explicity configured at stratum one provides time
to NTP operating at lower strata, and the provided time
is acquired based on the local system time or via some
locally-accessible external time source.
NTP at other (lower) strata both receive time from
higher strata and can provide time to lower strata,
and automatically adjust the local stratum. The highest
stratum is one, and the lowest available stratum is
fifteen.
The TCP/IP Services NTP package can operate at any
stratum, and can be configured as a peer, as a client,
or as a broadcast server. NTP can also provide time to
a DECnet-Plus DTSS network, see Section 4.2.
4-14
Time and Timekeeping
With TCP/IP Services V5.0 and later, the only supported
reference clock is the LCL (local system clock). If
your system has an excellent clock or if the system
time is being controlled by some other time service
or peripheral (such as DTSS services, GPS services,
a cesium clock, a GPIB controller or other similar
time-related peripheral), you can configure NTP to use
the system clock as its reference source. This will
mimic the master-clock functionality, and will configre
NTP as a stratum 1 time server. To do this, enter the
following commands in TCPIP$NTP.CONF:
server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 0
For local-master functionality, the commands are very
similiar. Use:
server 127.127.1.0
fudge 127.127.1.0 stratum 8
The difference between these two is the stratum, and
the omission of the prefer keyword. Specifying a higher
stratum allows the node to act as a backup NTP server,
or potentially as the sole time server on an isolated
network. The server will become active only when all
other normal synchronization sources are unavailable.
The use of "prefer" causes NTP to always use the
specified clock as the time synchronization source.
With the TCP/IP Services versions prior to V5.0,
the NTP management is rather more primitive. To
configure the local OpenVMS system from an NTP
client to an NTP server (on TCP/IP Services versions
prior to V5.0), add the following line to the
sys$specific:[ucx$ntp]ucx$ntp.conf file:
master-clock 1
Also, for TCP/IP Services prior to V5.0, see the NTP
template file:
SYS$SPECIFIC:[UCX$NTP]UCX$NTP.TEMPLATE
4-15
Time and Timekeeping
Note that NTP does not provide for a Daylight Saving
Time (DST) switch-over, that switch must arise from
the timezone rules on the local system and/or from the
SYS$EXAMPLES:DAYLIGHT_SAVINGS procedure. (Further,
there is a known bug in SYS$EXAMPLES:DAYLIGHT_
SAVINGS.COM in V7.3, please obtain the available ECO
kit.)
For current TCP/IP Services and related OpenVMS
documentation, please see:
o
http://www.hp.com/go/openvms/doc/
__________________________________________________________
4.4 Managing Timezones, Timekeeping, UTC, and Daylight Saving
Time?
You will want to use the command procedure:
o SYS$MANAGER:UTC$TIME_SETUP.COM
to configure the OpenVMS Timezone Differential Factor
(TDF) on OpenVMS V6.0 and later. Select the BOTH
option. This configures the OpenVMS TDF settings,
though it may or may not configure the TDF and the
timezone rules needed or used by other software
packages. Please do NOT directly invoke the following
command procedures:
o SYS$MANAGER:UTC$CONFIGURE_TDF.COM ! do not directly
use
o SYS$MANAGER:UTC$TIMEZONE_SETUP.COM ! do not directly
use
TCP/IP Services V5.0 and later use the OpenVMS TDF,
UTC, and timezone support. Earlier versions use a TDF
mechanism and timezone database that is internal to the
TCP/IP Services package. Also on the earlier versions,
the TDF must be manually configured within TCP/IP
Services, in addition to the OpenVMS configuration
of the TDF.
4-16
Time and Timekeeping
DECnet-Plus in V7.3 and later uses the OpenVMS TDF,
UTC, and timezone support, and displays its timezone
prompts using UTC$TIME_SETUP.COM. Earlier versions use
a TDF TDF mechanism, timezone database, and automatic
switch-over that is internal to the DECnet-Plus
package. Also on earlier versions, the TDF must be
configured within the DECnet-Plus DECdtss package, in
addition to the OpenVMS configuration of the TDF.
Application code using HP C (formerly Compaq C,
formerly DEC C) will use the OpenVMS UTC and TDF
mechanisms when the C code is compiled on OpenVMS V7.0
and later (and when the macro _VMS_V6_SOURCE is NOT
defined). HP C does NOT use the OpenVMS UTC and TDF
mechanisms when the C code is compiled on OpenVMS
releases prior to V7.0, or when the preprocessor
declaration _VMS_V6_SOURCE is declared.
DCE DTS TDF management details to be determined.
In OpenVMS Alpha V6 releases (V6.1, V6.2, V6.2-1Hx,
etc), the TDF value is written to SYS$BASE_IMAGE.EXE.
With OpenVMS Alpha V7.0 and later and with OpenVMS VAX
V6.0 and later, SYS$SYSTEM:SYS$TIMEZONE.DAT contains
the TDF. This means that OpenVMS Alpha systems will
need to have the TDF value reset manually-usually
within SYSTARTUP_VMS.COM-on reboots prior to V7.0.
During OpenVMS Bootstrap, the SYSINIT module reads
SYS$TIMEZONE.DAT to acquire the TDF for use in the
system global cell EXE$GQ_TDF. This is done to ensure
that the system boots with a valid TDF (a value which
may be zero). The UTC system services get the TDF
from this cell. These services, as well as the HP C
RTL, must have a valid TDF. (Prior to OpenVMS V7.3,
if either DECnet-Plus or DECnet/VAX Extensions is
configured and run, the image DTSS$SET_TIMEZONE.EXE
is invoked and can override the TDF and timezone rule
settings from SYSINIT or from UTC$TIME_SETUP.COM-
this image runs even if DTSS is disabled. If the
settings do not match (due to inconsistencies in
timezone specification in UTC$TIME_SETUP.COM and
NET$CONFIGURE.COM), DTSS will reset the values to match
its definitions.)
4-17
Time and Timekeeping
Prior to OpenVMS V7.3, daylight saving time (DST)
switchover is handled automatically only when DCE DTS
or DECnet-Plus DTSS is in use. In V7.3, OpenVMS can be
configured to automatically switch over to daylight
time, and also generates an event that interested
applications can use to detect the switch-over between
standard time and daylight time.
The manual switchover between daylight time and
standard time is correctly accomplished via the
SYS$EXAMPLES:DAYLIGHT_SAVINGS.COM command procedure
procedure.
Note
NTP (alone) does NOT provide automatic switch-
over.
Note
The DST switch-over does NOT drift the time
value; the switch-over applies the entire
difference as a unit, as is standard and expected
practice. (Do look at either not switching
to daylight time, or (better) using UTC as
your time-base, if this one-hour change is
not feasible within your environment.) (For
information associated with drifting the systen
time, please see Section 4.3.4.)
If you switch the TDF or DST setting, you will also
want to restart or reconfigure any time-sensitive
applications (those not using the time differential
factor (TDF) change event available in V7.3 and
later). Examples of these applications can include
the need to restart the NFS client and NTP. (In the
case of NTP, will want to try to "drift" the time (see
Section 4.2 and see Section 4.3.4), and will find that
the DST switch-over will exceed the NTP-defined maximum
threshold allowed for drifting. Hence the NTP restart
is presently required.)
4-18
Time and Timekeeping
_____________________________
4.4.1 Creating, Updating and Managing Timezone Definitions?
One issue with the UTC implementation on OpenVMS is
the behaviour of C functions and other programs that
use SYS$TIMEZONE_RULE; the OpenVMS mechanism assumes
all control over the timezone and the daylight time
switchover. This allows calculation of the time by the
C library and various applications.
This can be incompatible with a system or application
that requires manual modifications to the DST or TDF
settings, or that requires a local or customized
timezone definition. For such a site to ensure
the timekeeping is correct, the site must provide
procedure that sets the local time and the TDF when
the SYS$TIMEZONE_RULE says to do it.
If a site requires a non-standard time switch-over, as
in coordinating with a shift change or due to changes
in the local or regional timezone rules, the site
will need to use the zic compiler to create a custom
timezone rule.
Additionally, applications may need to have special
actions taken or actions queued just before the time
change takes effect. If the application source code is
available, one of the best ways to handle this is via
the TDF and time-change notification events available
via the OpenVMS sys$set_system_event system service.
For information on zic and related tools used to manage
the OpenVMS Timezone database, please see the HP C
Run-time Library Utilities Reference Manual-though the
title would imply otherwise, this particular manual
is part of the OpenVMS documentation set, and not
part of the HP C (formerly Compaq C, formerly DEC C)
documentation set.
For related information, see Section 4.4.1.1.
4-19
Time and Timekeeping
_____________________________
4.4.1.1 Customizing or Updating your TDF (Timezone) Setting?
Individual, local, and regional differences on the
use (or the lack of use) of Daylight Saving Time (DST)
are quite common, as are occasional regulatory changes
to the particular applicable regional DST settings.
(eg: The United States Government is expecting to
change its DST rules starting 1-Mar-2007; please see
Section 4.4.1.2 for details.)
If you need to add, modify or remove DST rules for
your area, or otherwise alter the rules for your local
area, you will probably end up creating a variation
to an existing timezone rule, or potentially simply
downloading a new set of DST rules. This requirement
can arise, for instance, if your local region changes
its timezone rules.
The necessary zone line to add for support of the
hypothetical new WhereEverLand timezone will probably
look something like this:
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone WhereEver 2:00 - WhereEver
The OpenVMS source files for the timezone rules are
stored here:
SYS$COMMON:[SYS$ZONEINFO.SYSTEM.SOURCES]
You'll then want to use the zic compiler to compile
your own new timezone definition, or to compile a new
set of timezone definitions that have been freshly
downloaded from a published source.
The zic compiler is documented in the OpenVMS
Documentation Set, and specifically in the HP C Run-
Time Library Reference Manual. (Despite the name of
this manual, it is part of the OpenVMS documentation
set and not of the C manuals.)
Once you have created and compiled a new timezone
rule (or have downloaded and have compiled a whole new
set of timezone rules), use the SYS$MANAGER:UTC$TIME_
SETUP.COM to select the new timezone if necessary-with
V7.3 and later, this tool will automically notice the
new timezone and will offer it, on earlier releases,
4-20
Time and Timekeeping
you may/will have to hack the code of the tool somewhat
to allow it to present the new timezone rule. (If an
existing timezone rule is simply changing, you don't
need this re-selection step.)
Note
As mentioned in Section 4.4.2, please don't
modify or redefine the TZ logical name (found on
older configurations), or the SYS$TIMEZONE_NAME
logical name, or any other time- or timezone-
related logical names directly yourself. Rather,
please use the zic compiler and/or the UTC$TIME_
SETUP.COM procedure.
For various published timezone rules or updated to
same, see the tar.gz files (these are gzipped tar
archives) available at:
o
ftp://elsie.nci.nih.gov/pub/
These are gzipped tar archives, and are the pubished
source used for the OpenVMS timezone rules on OpenVMS
V7.3 and later, and within the predecessor C run-time
environment timezone support used on older OpenVMS
releases. You'll need to first gunzip and then use
vmstar to unpack and access the contents of the
archives.
The published timezone rules include the effective date
ranges for the individual rules, so you can reload your
rules prior to a particular set of new rules becoming
effective. The effective dates for the particular
timezone rules are additionally necessary to allow the
appropriate translation of older dates and times within
the appropriate historical context of the particular
date and time value.
For related information, see Section 4.4.1.
4-21
Time and Timekeeping
_____________________________
4.4.1.2 US Daylight Time Changes Starting 1-Mar-2007?
The United States Federal Government is presently
expecting to change its DST rules starting with 1-
Mar-2007.
As amended, US daylight time will be increased to
run from the second Sunday in March through the first
Sunday of October, inclusive. Other countries, US local
political geographies and businesses may or may not
follow suite and implement these changes, obviously.
For further regulatory details, see the US Uniform
Time Act of 1966 (15 U.S.C 260a(a)), as amended by the
Energy Policy Act of 2005.
For details on how to create, customize or to download
new rules and to update your local timezone rules,
please see Section 4.4.1.1.
_____________________________
4.4.2 Timezones and Time-related Logical Names?
Various logical names are used to manage time and
timezones, and you should avoid direct modification
of these logical names as the implementations are
subtle and quick to change. As discussed in section
Section 4.4.3, you will want to use the following
command procedure to maintain the time and the
timezone:
o SYS$MANAGER:UTC$TIME_SETUP.COM
If you want to venture into uncharted territories and
modify the TDF used within older releases of TCP/IP
Services-within releases prior V5.0-you can attempt to
use the following undocumented commands:
SET TIME/DIFF=[positive or negative TDF integer]
GENERATE TIME
to reset the value of the logical name UCX$TDF.
Prior to OpenVMS V7.3, the command:
$ SETTZ :== $SYS$SYSTEM:DTSS$SET_TIMEZONE
$ SETTZ MODIFY
4-22
Time and Timekeeping
can be used to modify the settings of the SYS$TIMEZONE_
DAYLIGHT_SAVING, SYS$TIMEZONE_DIFFERENTIAL, and
SYS$TIMEZONE_NAME system logical names based on the
SYS$TIMEZONE_RULE.
The following are other TDF-related logical names
used/available on OpenVMS systems, with typical
daylight time and standard time settings for the US
Eastern Time (ET) timezone.
$daylight_time:
$ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE EDT
$ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0400 EDT"
$ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P true ! Not 'EDT'
$ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05 ! Constant
$
$standard_time:
$ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE EST
$ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0500 EST"
$ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P false ! Not 'EST'
$ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05 ! Constant
$
$ DEFINE/SYSTEM/EXECUTIVE UCX$NFS_TIME_DIFFERENTIAL -
'f$integer(f$element(0," ",f$logical("notes$timezone"))/-100)'
For information on modifying these timezone logical
names and on managing the timezone rules, see
Section 4.4.1.
_____________________________
4.4.3 How to troubleshoot TDF problems on OpenVMS?
This is an OpenVMS Alpha system prior to V7.0 and the
startup is not invoking the procedure:
SYS$MANAGER:UTC$TIME_SETUP.COM
This is an OpenVMS system prior to V6.0, where there is
no OpenVMS TDF nor UTC available.
The version of the application does not use the
OpenVMS TDF. This includes TCP/IP Services prior to
V5.0, applications using HP C built on or targeting
OpenVMS prior to V7.0, and systems using the DECnet-
Plus DTSS mechanisms prior to the release associated
4-23
Time and Timekeeping
with OpenVMS V7.3. (DCE DTS TDF management details to
be determined.)
If you should find either of the following two
timezone-related database files located in
SYS$SPECIFIC:[SYSEXE]:
o SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE.DAT
o SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE_SRC.DAT
These two files are in an erroneous location and must
be recreated in the correct directory:
SYS$COMMON:[SYSEXE]
If the DCL command:
$ DIRECTORY SYS$SYSTEM:SYS$TIMEZONE*.DAT
shows these files in SYS$SPECIFIC:[SYSEXE], then delete
them and use SYS$MANAGER:UTC$TIME_SETUP.COM to recreate
them.
On OpenVMS versions prior to V7.3, if the file:
$ SYS$STARTUP:DTSS$UTC_STARTUP.COM
is present on your system, then you may need to invoke:
$ @SYS$UPDATE:DTSS$INSTALL_TIMEZONE_RULE.COM
to recreate the timezone files correctly. Invoke
this command immediately after [re]executing
SYS$MANAGER:UTC$TIME_SETUP.COM.)
If SYS$UPDATE:DTSS$INSTALL_TIMEZONE_RULE.COM is not
present on your system, then you may need to execute
the following commands:
$ DELETE SYS$STARTUP:DTSS$UTC_STARTUP.COM
$ DEASSIGN/SYSTEM/EXEC SYS$TIMEZONE_RULE.
If your system time is being reported as being off by
one hour (or whatever the local DST change), please see
sections Section 4.7, Section 4.4 and Section 10.22.1.
4-24
Time and Timekeeping
__________________________________________________________
4.5 Why does the SET TIME command fail? Help managing DTSS?
If you try to set the system time with the SET TIME
command, and see one of the following messages:
%SET-E-NOTSET, error modifying time
-SYSTEM-F-IVSSRQ, invalid system service request
%SET-E-NOTSET, error modifying time
-SYSTEM-E-TIMENOTSET, time service enabled;
enter a time service command to update the time
This occurs if the time on the local system is
controlled by a time service software, for example
the distributed time service software (DTSS) provided
as part of the DECnet-Plus installation. The DTSS
software communicates with one or more time servers
to obtain the current time. It entirely controls the
local system time (for DECnet-Plus, there is a process
named DTSS$CLERK for this); therefore, the usage of
the SET TIME command (and the underlying $SETTIM system
service) is disabled.
The first message is displayed on systems running
DECnet-Plus V6.1 and earlier. On systems with newer
DECnet-Plus software, the second (and more informative)
message is given.
You shouldn't have to change the time manually - you
should be doing this through the time server - but if
you insist... you'll have to shutdown DTSS:
$ RUN SYS$SYSTEM:NCL
DISABLE DTSS
DELETE DTSS
This will shutdown DTSS$CLERK. You may then change the
system time as usual. To restart the DTSS software,
type
$ @SYS$STARTUP:DTSS$STARTUP
You will need a number of privileges to ussue this
command, and you must also be granted the NET$MANAGE
identifer to shutdown and to restart DTSS.
4-25
Time and Timekeeping
If you wish to "permanently" disable DTSS on a system
running DECnet-Plus, the above NCL sequence must be
performed each time the system is bootstrapped. (On
DECnet-Plus V7.3 and later, you can define the logical
name NET$DISABLE_DTSS to disable the DTSS startup. This
logical name must be defined in the command procedure
SYLOGICALS.COM, as this logical name must be present
and defined sufficiently early in the OpenVMS system
bootstrap sequence for it to function.)
If DTSS is running and no time servers are configured,
you can (and will) see the following messages at
regular intervals:
%%%%%%%%%%% OPCOM 2-SEP-1999 19:41:20.29 %%%%%%%%%%%
Message from user SYSTEM on UNHEDI
Event: Too Few Servers Detected from: Node LOCAL:.mynode DTSS,
at: 1999-09-02-19:41:20.296-04:00Iinf
Number Detected=0,
Number Required=1
eventUid 5FA70F4F-616E-11D3-A80E-08002BBEDB0F
entityUid DE9E97DE-6135-11D3-8004-AA000400BD1B
streamUid D6513A46-6135-11D3-8003-AA000400BD1B
You can either configure the appropriate number of time
servers, or you can disable DTSS, or you can ignore it
and (if OPCOM is set to write to the log via via the
logical names in SYLOGICALS.COM/SYLOGICALS.TEMPLATE)
clean out OPERATOR.LOG regularly.
You can also simply disable the display of these
messages:
$ run sys$system:ncl
block event dispatcher outbound stream local_stream -
global filter -
((Node, DTSS), Too Few Servers Detected)
If you wish to disable the automatic TDF adjustment
for the daylight time switch-over (on OpenVMS versions
prior to V7.3), you can use the command:
$ run sys$system:ncl
set dtss automatic TDF change = false
4-26
Time and Timekeeping
or alternatively, you can set the local timezone to
one that does not include the automatic daylight time
change-over.
OpenVMS V7.3 and later simplify time and timezone
management.
__________________________________________________________
4.6 Setting time on AlphaServer ES47, ES80, GS1280 console?
To set the base system time on an member of the
AlphaServer ES47, AlphaServer ES80 or AlphaServer
GS1280 series system family, you must access the
Platform Management Utility (PMU). The PMU is
implemented within this family of related AlphaServer
systems, and is part of a layer providing services
beyond those of the traditional Alpha SRM console
layer, and within a layer architecturally implemented
beneath the SRM console. In particular, the PMU and
related management components are used to provide
services across multiple vPars or nPars partitions.
In particular, the SRM obtains and manages the local
system time on these systems as a delta time offset
from the underlying base system time. Neither the
SRM console nor OpenVMS directly accesses nor alters
the underlying base system time nor other information
maintained within the PMU layer.
The PMU uses the System Management components,
centrally including the Backplane Manager (MBM) module
found in each drawer, user interface, PCI and CPU
management components, and the interconnections among
these provided by the private system management LAN.
When the system has power applied and the main breakers
are on, the MBMs are active.
The PMU offers a command line interface for a serial
communications or telnet connection and allows command
and control of the MBM, and of the server. The PMU and
the MBM system management components are responsible
for the following tasks:
o Show the system configuration and provide the basic
debugging capability
4-27
Time and Timekeeping
o Initiate the firmware update or load the test
firmware version
o Power on or off, halt, or reset the system or
partition
o The system partitioning and cabling functions
o Displays of the health of hardware environment,
including such constructs as fans, power supplies
and environmental and temperature values.
o Remote server management tasks
o The connection to the virtual SRM console
o Set and show the base system time.
You can use the MBM commands SHOW TIME and SET TIME to
view and to manipulate the base system time. The delta
time value for the primary MBM will be indicated, and
it is this value in conjunction with the base time that
is used to generate the time available to OpenVMS via
the SRM console. If you issue a SET TIME=time command
from OpenVMS, the delta time will change, but not the
MBM base system time. If you change the MBM base system
time, the calculated time available to OpenVMS via the
SRM console(s) will change. (Resetting the base time
thus involves changing the base system time, and then
issuing SET TIME=time command(s) to each of the OpenVMS
vPars or nPars environments to adjust the respective
delta time values.) Rebooting, resetting or issuing an
MBM SET TIME will reset the system time.
Typically, you will want to establish the MBM time
value once, and probably setting it to UTC or
such, and you will then want to boot each partition
conversationally, setting the SETTIME system parameter
to force the entry of the time within each booting
system environment. Once the MBM time value has been
set once, you will typically not want to alter it
again. You will typically want to manage and modify
only the time values within each partition.
The time and data values stored in the primary MBM
and replicated in the zero or more secondary MBMs that
might be present within the system are coordinated.
4-28
Time and Timekeeping
To enter the PMU from the SRM console, and to exit back
to SRM:
MBM - (PMU, Platform Management Utility)
From SRM P00> enter {Esc} {Esc} MBM
CTRL/[ CTRL/[ MBM (MBM must be uppercase)
MBM> connect (to exit to SRM)
The <CTRL/[> is the escape character. Use the cited
key sequences to enter the PMU. You can also access
the PMU through a modem, or from a terminal or terminal
emulator or terminal server connected to the server
management LAN. Having the server management LAN
bridged to an untrusted LAN can be unwise, however,
and with risks analogous to those of configuring a
traditional VAX or Alpha console serial line to an open
terminal server or to a dial-in modem.
See the AlphaServer GS1280 documentation for additional
information.
__________________________________________________________
4.7 UTC vs GMT vs vs UT1/UT1/UT2 TDF? What are these acronyms?
The results of an international compromise-though
some would say an international attempt to increase
confusion-UTC is refered to as "Coordinated Universal
Time" (though not as CUT) in English and as "Temps
Universel Coordinn�" (though not as TUC) in French.
(No particular information exists to explain why UTC
was chosen over the equally nonsensical TCU, according
to Ulysses T. Clockmeister, one of the diplomats that
helped establish the international compromise.)
Universal Time UT0 is solar time, UT1 is solar time
corrected for a wobble in the Earth's orbit, and UT2
is UT1 corrected for seasonal rotational variations in
rotation due to the Earth's solar orbit.
GMT-Greenwich Mean Time-is UT1. GMT is the time
at the classic site of the since-disbanded Royal
Greenwich Observatory; at the most widely-known tourist
attraction of Greenwich, England.
4-29
Time and Timekeeping
UTC is based on an average across multiple atomic
clocks, and is kept within 0.9 seconds of GMT, through
the insertion (or removal) of seconds. In other words,
UTC matches GMT plus or minus up to 0.9 seconds, but
UTC is not GMT.
TDF is the Timezone Differential Factor, the interval
of time between the local time and UTC. Areas that
celebrate daylight saving time (DST) will see periodic
changes to the TDF value, when the switch-over between
daylight time and standard time occurs. The switch-
over itself is entirely left to local governmental
folks, and can and has varied by political entity and
politics, and the switch-over has varied over the years
even at the same location.
If your local OpenVMS system time is off by one
hour (or whatever the local DST change) for some or
all applications, you probably need to reset your
local TDF. (For related details, please see sections
Section 4.4 and Section 10.22.1.)
Further discussions of history and politics, the Royal
Observers' outbuildings, and the compromise that left
the English with the Time Standard (the Prime Meridian)
and the French with the standards for Distance and
Weight (the Metric System) are left to other sources.
Some of these other sources include the following URLs:
o
ftp://elsie.nci.nih.gov/pub/
o
http://physics.nist.gov/GenInt/Time/time.html
o
http://nist.time.gov/
__________________________________________________________
4.8 Using w32time or an SNTP as a time provider?
No standards-compliant NTP or SNTP server is reportedly
capable of synchronizing with the Microsoft Windows
w32time services.
Further, NTP clients are not generally capable of
synchronizing with an SNTP server.
4-30
Time and Timekeeping
Open Source (Free) NTP servers (qv: OpenNTP) are
available for Microsoft Windows platforms, and TCP/IP
Services and third-party packages all provide NTP
servers for OpenVMS, and NTP and SNTP clients can
synchronize with these srvers.
4-31
_______________________________________________________
5 System Management Information
__________________________________________________________
5.1 What is an installed image?
The term "install" has two distinct meanings in
OpenVMS. The first relates to "installing a product",
which is done with either the SYS$UPDATE:VMSINSTAL.COM
command procedure or the POLYCENTER Software
Installation (PCSI) utility (PRODUCT command). The
second meaning relates to the use of the INSTALL
utility, which is what concerns us here.
The INSTALL utility is used to identify to OpenVMS
a specific copy of an image, either executable or
shareable, which is to be given some set of enhanced
properties. For example, when you issue the SET
PASSWORD command, the image SYS$SYSTEM:SETP0.EXE is
run. That image needs to have elevated privileges to
perform its function.
The other important attribute is /SHARED. This means
that shareable parts of the image (typically read-only
code and data) are loaded into memory only once and are
shared among all users on a system. Executable images
can be installed /SHARED as well as shareable library
images. (The term "shareable" has dual meanings here,
too. See the OpenVMS Programming Concepts Manual for
further details.)
It's important to note that there is no such thing as
"installing a shareable image with privileges". The
INSTALL utility will let you do it, but the privileges
you specify will be ignored. To have a callable routine
run with enhanced privileges that are not available
to its caller, you must construct your routines as
"user-written system services" (UWSS) and install
the shareable image with the /PROTECT qualifier.
See the OpenVMS Programming Concepts Manual for more
information on user-written system services. Note also
that in many cases the need to grant privileges to an
5-1
System Management Information
image can be replaced with the use of the "Protected
Subsystems" feature that grants a rights identifier to
an image. See the OpenVMS Guide to System Security for
information on Protected Subsystems.
__________________________________________________________
5.2 Are there any known viruses for OpenVMS?
Viruses and worms are common on personal computers
because the operating systems involved, such as
the Microsoft MS-DOS, Windows 95, Windows 98 and
Windows ME variants, do not particularly protect
the operating system or the file system against
hostile action by programs. Microsoft Windows NT,
Windows 2000 and Windows XP do implement protections
for specific configurations and do implement memory
protection models, but many users of these systems
choose to operate with full adminstrator access and
thus the available protections are entirely defeated
and entirely not relevent, and any program that can
activate itself or can cause the user to activate the
code can subvert the operating system and take over the
hardware, at which point the malicious code can do most
anything it wishes, including hiding copies of itself
in other programs or in the file system, redistributing
itself via mail, IM, or network connections, or can be
used as a zombie in staging attacks on other systems.
This is less likely with multi-user systems such as
OpenVMS, Unix, Linux, MVS and other platforms for
various reasons. First, the operating system runs in a
privileged mode in memory that is protected against
modification by normal user programs. Any program
cannot simply take over the hardware as it can on
operating systems without security and particularly
without memory page protections. Secondly, multi-
user systems can be set up so that non-privileged
programs cannot modify system programs and files on
disk, and this is normal for most installations. Both
of these protection schemes mean that traditional viral
infections don't work on these OSes. Third, typical
applications and configurations tend to prevent the
uncontrolled execution of untrusted code as part
of received mail messages or web access; one of the
5-2
System Management Information
central vulnerabilities of the Microsoft Windows
platform involves its intentionally easy ability to
dynamically (and transparently) activate code and
macros that are embedded within mail messages and
within data files.
It is possible for OpenVMS and other multi-user systems
to become infected by viruses or worms, but to do so,
the program containing the virus must be run from a
user account that has amplified privileges. So long as
the system administrator is careful that only trusted
applications are run from such accounts (and this
is generally the case) and so long as there are no
OpenVMS system security breaches (due to malicious
operator activity, OpenVMS errors, or errors within
trusted and privileged product packages) there is
no of modifications to the operating system or other
protected files from the virus or the worm.
The FAQ maintainer is aware of a few (and very old)
DECnet worms that have affected OpenVMS systems on
DECnet networks ("WANK" was one), but is aware of no
OpenVMS viruses that are loose in the field.
To protect against viruses and other attempts at
system interference or misuse, please follow the
security recommendations in the OpenVMS Guide to System
Security. Additionally, you will want to keep your
OpenVMS ECOs current and you will want to apply all
mandatory ECO kits and any security MUPs for OpenVMS
and OpenVMS products, and you will want to keep to
OpenVMS releases with Prior Version Support (PVS) or
with Current Version Support. (This is obviously a
general system maintenance recommendation, in addition
to being a good system security recommendation-new
security features and capabilities are implemented in
more recent OpenVMS releases, for instance. Details on
PVS releases are available over in Section 5.10.6.)
You may also want to consider optional software
products which can monitor your system for intrusion
or infection attempts. Computer Associates (CA) offers
various products in this area, as to other vendors.
5-3
---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com