                                  Documentation        H                    The first edition of the OpenVMS Alpha internals bookJ                    describes Version 1.5. Although there have been severalE                    releases of OpenVMS Alpha since Version 1.5 (V6.1, J                    V6.2, V7.0, V7.1, etc) and many details in the book areG                    no longer accurate, it continues to provide a strong ?                    conceptual description of OpenVMS internals.   H                    This book has been split into five pieces, each to beG                    updated separately. The first such volume, published B                    in early 1997, was "OpenVMS Alpha Internals andD                    Data Structures: Scheduling and Process Control,"F                    which covers the Version 7.0 implementation of trueE                    multithreading and the changed scheduling model ito                    implies.   D                    The internals books are available through Digital)                    Press, see Section 3.6   D           __________________________________________________________B           3.6  Where can new users find tutorial information about                OpenVMS?   H                    First, see if your local site has information on thisG                    topic. Each site can have site-specific features andmH                    configuration. Some sites will have site-specific newG                    user's documentation, covering various site-specificgJ                    things that are difficult or impossible for the general2                    OpenVMS documentation to cover.  '           _____________________________i#           3.6.1  Tutorial Websites?V  @                    Various websites with OpenVMS information areE                    available; Table 3-2 contains some suggested URLs.c  J           ________________________________________________________________@           Table 3-2  OpenVMS Tutorial and Documentation Websites  J                    _______________________________________________________J                    URL_______Sponsor______________________________________                      Introductoryi  <                    http://www.levitte.org/~ava/vms_faq.htmlx  <                    http://saf.bio.caltech.edu/vms_sheet.html                      3-6 s                                  Documentation      J           ________________________________________________________________H           Table 3-2 (Cont.)  OpenVMS Tutorial and Documentation Websites  J                    _______________________________________________________J                    URL_______Sponsor______________________________________  C                    http://seqaxp.bio.caltech.edu/www/vms_beginners_                     faq.htmlt  ;                              Various introductory materials   9                    http://www.montagar.com/openvms_class/_  E                              Members of the Encompass DFWCUG maintain E                              a website with many materials available, A                              including an Overview of OpenVMS, an D                              Introduction to DCL and the TPU Editor,E                              Advanced DCL Command Procedures, OpenVMS ?                              Operations: Batch, Print, Tape, anrC                              Introduction to OpenVMS Management, tor@                              OpenVMS User Management, to OpenVMSG                              Network Management, and to OpenVMS Cluster F                              Management. These training materials haveF                              been presented at various DECUS symposia.  F                    http://www.mcsr.olemiss.edu/unixhelp/VMStoUNIX.html  H                              A comparison table of various command-levelJ                              tasks, with information on the UNIX and LinuxE                              shell command(s), and on the OpenVMS DCL (                              command(s).  +                    HP OpenVMS Documentation   4                    http://www.hp.com/go/openvms/doc/  H                              Various introductory guides as well as moreJ                              advanced manuals are available in the OpenVMSC                              and layered product documentation set.   &                    HP OpenVMS Training  ;                    http://www.compaq.com/training/home.htmle?                    http://www.openvms.compaq.com/wbt/index.html   I                              HP offers training information and Technical H                              Resource Kits (TRKs) and other Training forH                              OpenVMS. An OpenVMS certification (testing)7                              program is also available.   /                    http://www.jcameron.com/vms/s  J                                                                        3-7 o  q                               Documentation      J           ________________________________________________________________H           Table 3-2 (Cont.)  OpenVMS Tutorial and Documentation Websites  J                    _______________________________________________________J                    URL_______Sponsor______________________________________  ,                              An OpenVMS Quiz  +                    http://www.CCSScorp.com/   B                              CCSS Interactive Learning has OpenVMS/                              training materials   +                    http://www.acersoft.com/_  G                              AcerSoft Training information, and Shannonu+                              Knows Punditry_  )                    http://www.mindiq.com/_  8                              MindIQ training information  ,                    http://www.quadratrix.be/  G                              Quadratrix; OpenVMS training, products and G                              services; affiliated with Global Knowledge J           ___________________and_KeyJob___________________________________  '           _____________________________A%           3.6.2  Books and Tutorials?o  F                    Some of the OpenVMS books that are now or that haveI                    been available from the Elsevier Digital Press imprinta  7                    o  http://www.digitalpressbooks.com/   +                    are listed in Table 3-3:a  J           ________________________________________________________________           Table 3-3  DP Books_  J           ________________________________________________________________J           Title_and_Author_____________________ISBN_______________________  <           Getting Started with OpenVMS         1-55558-279-6           Michael D. Duffy  <           Getting Started with OpenVMS System  1-55558-243-5!           Management, 2nd Editiono$           David Donald Miller, et al                      3-8    _                               Documentation      J           ________________________________________________________________%           Table 3-3 (Cont.)  DP Books_  J           ________________________________________________________________J           Title_and_Author_____________________ISBN_______________________  <           Introduction to OpenVMS, 5th         1-55558-194-3           Edition5           Lesley Ogilvie Ricet  <           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           Edition3           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 CJ           Sherlock_and_Szubowicz__________________________________________  F                    Within the above table, no attempt is made to trackG                    which books are currently in print, or are currentlyl                     out of print.  J                    For various featured OpenVMS books, also please see the5                    books link at the OpenVMS website:   2                    o  http://www.hp.com/go/openvms  J                                                                        3-9 r  k                               Documentation        F                    For a bibliography of various OpenVMS books, please                    see:   @                    o  http://www.levitte.org/~ava/vms_book.htmlx  D           __________________________________________________________C           3.7  What OpenVMS mailing lists and forums are available?V  I                    Various OpenVMS mailing lists are available, with some G                    of the available lists detailed in Table 3-4, as arek>                    the various discussion forums in Table 3-5.  J           ________________________________________________________________*           Table 3-4  OpenVMS Mailing Lists  J           ________________________________________________________________J           Subscription____________________Interest_Area___________________  >           OpenVMS Freeware archive        FSupdate@goatley.comI           announcement list               FSupdate-request@goatley.com[1]   F           Two-way echo of                 VMSnet-Internals@goatley.com;           vmsnet.internals                VMSnet-Internals-_@                                           request@goatley.com[1]  ?           OpenVMS Alpha Internals         Alpha-IDS@goatley.com_J           discussions                     Alpha-IDS-request@goatley.com[1]  ?           BLISS discussions               BLISSters@goatley.com J                                           BLISSters-request@goatley.com[1]  C           Process Software MultiNet       Info-MultiNet@process.comn8           mailing list (news gateway)     Info-MultiNet-@                                           request@process.com[1]  B           Process Software TCPware        Info-TCPware@process.com7           mailing list (news gateway)     Info-TCPware- @                                           request@process.com[1]  ?           Process Software PMDF mailing   Info-PMDF@process.com J           list (news gateway)             Info-PMDF-request@process.com[1]  F           The Software Resources          CHARON-VAX-Users@process.com;           International (SRI) CHARON-VAX  CHARON-VAX-Users- @           VAX emulator package            request@process.com[1]  J           ________________________________________________________________H           [1]This is the subscription address. Usually, you will want toF           send a mail message with no subject line, and a SUBSCRIBE or7           HELP command in the body of the mail message.o                      3-10]                                    Documentation      J           ________________________________________________________________2           Table 3-4 (Cont.)  OpenVMS Mailing Lists  J           ________________________________________________________________J           Subscription____________________Interest_Area___________________  :           Info-Zip's Zip & UnZip          Info-Zip@wku.eduE           discussion list                 Info-Zip-Request@wku.edu[1]l  <           RADIUS-VMS, a RADIUS server     radius-vms@dls.netG           for OpenVMS discussion forum    radius-vms-request@dls.net[1]_  :           Internet Service Providers      vms-isps@dls.netE           (ISPs) running OpenVMS          vms-isps-request@dls.net[1]_  A           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 theI           referenced website.t  U           VMS Forum                       http://www.neurophys.wisc.edu/comp/ava/vms_n5                                           forum.htmlx J           ________________________________________________________________H           [1]This is the subscription address. Usually, you will want toF           send a mail message with no subject line, and a SUBSCRIBE or7           HELP command in the body of the mail message. J           ________________________________________________________________  H                    Various OpenVMS discussion forums are available, withE                    some of the available lists detailed in Table 3-5.u  J           ________________________________________________________________.           Table 3-5  OpenVMS Discussion Forums  J           ________________________________________________________________J           DescriptioForum_Location________________________________________  #           The comp.os.vms newsgroup_  $                     news:comp.os.vms             HP ITRC Forums  W                     http://forums.itrc.hp.com/service/forums/familyhome.do?familyId=288b  6           Hunter Goatley: The HG OpenVMS Message Board  D                     http://www.goatley.com/scripts/vmsboard/view.com  -           Computing.Net: OpenVMS Message Area_  J                                                                       3-11 u  o                               Documentation      J           ________________________________________________________________6           Table 3-5 (Cont.)  OpenVMS Discussion Forums  J           ________________________________________________________________J           DescriptioForum_Location________________________________________  K                     http://www.computing.net/openvms/wwwboard/wwwboard.htmls  2           Tek-Tips: DEC (HP/Compaq): OpenVMS Forum  #                     http://www.tek- E                     tips.com/gthreadminder.cfm/lev2/3/lev3/19/pid/951_             OpenVMS.Org forums  +                     http://www.openvms.org/C  $           OpenVMSHobbyist.Org forums  3                     http://www.openvmshobbyist.org/_  6           Encompasserve (DECUSserve) Notes Conferences  J           __________telnet://www.encompasserve.org/_______________________  D           __________________________________________________________D           3.8  What is this Ask The Wizard website I've heard about?  E                    The HP OpenVMS Ask The Wizard (ATW) website was anpI                    informal area discussing OpenVMS, containing questions ;                    and answers on a wide variety of topics.w  H                    o  http://www.hp.com/go/openvms/wizard/ (retired; use"                       ITRC forums)  D                    For additional information on the OpenVMS Ask TheG                    Wizard (ATW) area and for a pointer to the availableiF                    ATW Wizard.zip archive, please see Section 3.8. ATWF                    has been superceded (for new questions) by the ITRCD                    discussion forums; the area remains available for                    reference.   I                    To access a cited topic directly, use the URL filenameeI                    WIZ_topic-number.HTML, or use the topic search engine.oD                    Cited topics are shown in parentheses, and act asG                    unique topic addresses. These should not be confused.E                    with the relative topic numbers shown at the site.uI                    For example, the topic (1020) can be accessed directlyuH                    using the URL filename wiz_1020.html, at the web site8                    that the following URL resolves into:  :                    o  http://www.hp.com/go/openvms/wizard/                      3-12                                     Documentation        E                    A zip archive (named wizard.zip) containing all ofeG                    the available topics and questions can be downloadedhD                    from the above URL. The wizard.zip zip archive isH                    completely regenerated when/if existing topics postedE                    out to the ATW website are updated. Copies of this:D                    wizard.zip archive also generally ship out on the-                    OpenVMS Freeware, as well.   I                    New (informal) questions and discussions are now beingaH                    directed away from the ATW area to the ITRC area, and>                    specifically to the ITRC discussion forums:  -                    o  http://www.itrc.hp.com/   D           __________________________________________________________F           3.9  Where can I find the latest C run-time library manuals?  G                    The C run-time library (RTL) reference documentationOG                    has been moved from the C language documentation set H                    to the OpenVMS documentation set. For the most recentE                    version of the C RTL documentation and the OpenVMSIF                    standard C library, please see the OpenVMS manuals.  H                    In addition to the user-mode C RTL, there is a secondI                    kernel-mode RTL accessable to drivers on OpenVMS Alpha J                    and OpenVMS I64. For details on this second library andG                    on the duplicate symbol errors that can be triggered I                    when this library is referenced during an incorrectly- F                    specified LINK command, please see Section 10.22.1.F                    For general information on this kernel RTL, see theJ                    Digital Press book Writing OpenVMS Device Drivers in C.H                    For details, please see the associated OpenVMS source)                    listings distribution.n  7                    o  http://www.hp.com/go/openvms/doc/t                  J                                                                       3-13    i                    J                    _______________________________________________________  '           4        Time and Timekeepingr      C                    This chapter discusses time, timekeeping, systemiD                    time synchronization, clock skew and clock drift,I                    implications of using SUBMIT/AFTER=TOMORROW, and other '                    time-related topics.s  D           __________________________________________________________>           4.1  A brief history of OpenVMS Timekeeping, please?  D                    Why does OpenVMS regards November 17, 1858 as the'                    beginning of time...   F                    The modified Julian date adopted by the SmithsonianI                    Astrophysical Observatory (SAO) for satellite tracking J                    is Julian Day 2400000.5, which turns out to be midnight(                    on November 17, 1858.  J                    SAO started tracking satellites with an 8K (nonvirtual)G                    36-bit IBM 704 in 1957 when Sputnik went into orbit. I                    The Julian day was 2435839 on January 1, 1957. This isnJ                    11225377 octal, which was too big to fit into an 18-bitJ                    field. With only 8K of memory, the 14 bits left over byG                    keeping the Julian date in its own 36-bit word woulduH                    have been wasted. SAO also needed the fraction of theH                    current day (for which 18 bits gave enough accuracy),F                    so it was decided to keep the number of days in theI                    left 18 bits and the fraction of a day in the right 18 $                    bits of one word.  I                    Eighteen bits allows the truncated Julian Day (the SAOyG                    day) to grow as large as 262143, which from November H                    17, 1858, allowed for 7 centuries. Possibly, the dateF                    could only grow as large as 131071 (using 17 bits),C                    but this still covers 3 centuries and leaves the F                    possibility of representing negative time. The 1858I                    date preceded the oldest star catalogue in use at SAO, H                    which also avoided having to use negative time in any:                    of the satellite tracking calculations.  J                                                                        4-1 h  a          '                    Time and Timekeeping1        J                    The original Julian Day (JD) is used by astronomers andI                    expressed in days since noon January 1, 4713 B.C. This G                    measure of time was introduced by Joseph Scaliger intH                    the 16th century. It is named in honor of his father,G                    Julius Caesar Scaliger (note that this Julian Day is G                    different from the Julian calendar that is named forh5                    the Roman Emperor Julius Caesar!).1  E                    Why 4713 BC? Scaliger traced three time cycles andoF                    found that they were all in the first year of theirH                    cyle in 4713 B.C. The three cycles are 15, 19, and 28J                    years long. By multiplying these three numbers (15 * 19G                    * 28 = 7980), he was able to represent any date fromu.                    4713 B.C. through 3267 A.D.  J                    The starting year was before any historical event knownG                    to him. In fact, the Jewish calendar marks the start G                    of the world as 3761 B.C. Today his numbering schemetI                    is still used by astronomers to avoid the difficulties5I                    of converting the months of different calendars in useb)                    during different eras.0  +                    The following web sites:   J                    o  http://www.openvms.compaq.com/openvms/products/year-$                       2000/leap.html  5                    o  http://www.eecis.udel.edu/~ntp/n  *                    o  http://www.nist.gov/  ;                    o  http://www.boulder.nist.gov/timefreq/   A                    o  http://www.tondering.dk/claus/calendar.html   L                    o  http://es.rice.edu/ES/humsoc/Galileo/Things/gregorian_#                       calendar.html   0                    o  http://www.timeanddate.com  I                    are all good time-related resources, with some general 0                    and some specific to OpenVMS.                        4-2 p             '                    Time and Timekeeping       '           _____________________________i<           4.1.1__Details_of_the_OpenVMS system time-keeping?  7           4.1.1.1__VAX_hardware_time-keeping details...u             4.1.1.1.1  TOY clock  F                    This is battery backed up hardware timing circuitryJ                    used to keep the correct time of year during rebooting,G                    power failures, and system shutdown. This clock only J                    keeps track of months, days, and time. The time is keptJ                    relative to January 1st, at 00:00:00.00 of the year the*                    clock was initiailized.J                    The VAX Time-Of-Year (TOY) clock (used to save the timeI                    over a reboot or power failure) is specified as havingiH                    an accuracy of 0.0025%. This is a drift of roughly 65%                    seconds per month.w  J                    The VAX Interval Time is used to keep the running time,G                    and this has a specified accuracy of .01%. This is at?                    drift of approximately 8.64 seconds per day.   F                    Any high-IPL activity can interfere with the IPL 22E                    or IPL 24 (this depends on the VAX implementation)eG                    clock interrupts-activities such as extensive device0G                    driver interrupts or memory errors are known to sloww                    the clock.I  '           _____________________________m#           4.1.1.1.2  EXE$GQ_SYSTIME   F                    This is the OpenVMS VAX system time cell. This cellG                    contains the number of 100ns intervals since a knownyF                    reference. This cell is incremented by 100000 every6           _________10ms_by_an_hardware_interval timer.  $           4.1.1.1.3  EXE$GQ_TODCBASE  G                    This cell contains the time and date the system timeoE                    was last adjusted by EXE$SETTIME. It uses the same_H                    format as EXE$GQ_SYSTIME. On adjustment of the systemJ                    time a copy of EXE$GQ_SYSTIME is stored in this cell inH                    both memory and on disk. This cell is used to get the,                    year for the system time.  J                                                                        4-3 E  _          '                    Time and Timekeepingh      '           _____________________________             4.1.1.1.4  EXE$GL_TODR  G                    This cell contains the time and date the system timeuE                    was last adjusted by EXE$SETTIME. It uses the sameiI                    format as the time of year clock. On adjustment of thecG                    system time this cell gets saved back to both memory G                    and disk. The contents of this cell are used to test 1                    the validity of the TOY clock.eC                    The system parameters SETTIME and TIMEPROMPTWAIT.=                    determine how the system time will be set.   ?                    o  IF SETTIME = 0 and the TOY clock is validdH                       THEN the contents of the TOY clock are compared toJ                       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.   G                      o  IF the TOY clock is within a day of EXE$GL_TODReF                         THEN the system time is calculated as follows:  H                      o  EXE$GQ_SYSTIME = EXE$GQ_TODCBASE + ((TOY_CLOCK -.                         EXE$GL_TODR) * 100000)  @                    o  IF SETTIME = 1 or the TOY clock is invalidH                       THEN the value of TIMEPROMPTWAIT determines how toD                       reset the time of year.  IF TIMEPROMPTWAIT > 0H                         THEN the user is prompted for the time and date,D                         for a length of time equal to TIMEPROMPTWAIT(                         microfortnights.  -                      o  IF TIMEPROMPTWAIT = 0EI                         THEN the time of year is the value of EXE$GL_TODR                          + 10ms.h  -                      o  IF TIMEPROMPTWAIT < 0N4                         to proceed until they do so.  G                      o  THEN the user is prompted for the time and date "                         and unable  J                    When booting a CD-ROM containing an OpenVMS VAX system,G                    the system will typically be deliberately configured H                    prompt the user to input the time - this is necessary:                    in order to boot with the correct time.                      4-4               '                    Time and Timekeeping         G                    If either TIMEPROMPTWAIT or SETTIME are set to zero, E                    OpenVMS VAX will use the TOY clock to get the time A                    of year, and the year will be fetched from the D                    distribution medium. The value of the year on theG                    distribution medium (saved within the SYS.EXE image)yI                    will most likely be that of when the kit was mastered, I                    and cannot be changed. Unless the current year happens H                    to be the same year as that on the distribution, mostH                    likely the year will be incorrect. (Further, with theG                    calculation of Leap Year also being dependent on the E                    current year, there is a possibility that the date 0                    could be incorrect, as well.)  '           _____________________________o9           4.1.1.2__Alpha_hardware_time-keeping details...   9           4.1.1.2.1  Battery-Backed Watch (BB_WATCH) Chipn  F                    This is battery backed up hardware timing circuitryJ                    used to keep the correct time of year during rebooting,H                    power failures, and system shutdown. This clock keepsC                    track of date and time in 24 hour binary format.tF                    The BB_WATCH time is used to initialize the runningF                    system time during bootstrap, and the BB_WATCH timeF                    is read when the SET TIME command is issued with noG                    parameters; when the running system time is reset totG                    the value stored in the BB_WATCH. The running systemtF                    time is written into the BB_WATCH when the SET TIME6                    command is issued with a parameter.  I                    The specification for maximum clock drift in the AlphaiE                    hardware clock is 50 parts per million (ppm), thateF                    is less than 0.000050 seconds of drift per second,E                    less than 0.000050 days of drift per day, or lesstG                    than 0.000050 years of drift per year, etc. (eg: AneJ                    error of one second over a day-long interval is roughlyG                    11ppm, or 1000000/(24*60*60).) Put another way, this H                    is .005%, which is around 130 seconds per month or 26$                    minutes per year.  J                    The software-maintained system time can drift more thanH                    this, primarily due to other system activity. TypicalH                    causes of drift include extensive high-IPL code (softJ                    memory errors, heavy activity at device IPLs, etc) that  J                                                                        4-5 n  e          '                    Time and Timekeeping         H                    are causing the processing of the clock interrupts to                    be blocked.  '           _____________________________ #           4.1.1.2.2  EXE$GQ_SYSTIMEt  H                    This is the OpenVMS Alpha system time cell. This cellH                    contains the number of 100ns intervals since NovemberD                    17, 1858 00:00:00.00. This cell is incremented byC           _________100000_every_10ms_by an hardware interval timer.   )           4.1.1.2.3  EXE$GQ_SAVED_HWCLOCK   J                    This cell is used by OpenVMS Alpha to keep track of theJ                    last time and date that EXE$GQ_SYSTIME was adjusted. ItJ                    keeps the same time format as EXE$GQ_SYSTIME. The valueI                    in this cell gets updated in memory and on disk, everye5                    time EXE$GQ_SYSTIME gets adjusted.:  F                    o  The system parameters SETTIME and TIMEPROMPTWAIT@                       determine how the system time will be set.  $                    o  If SETTIME = 0G                       then EXE$INIT_HWCLOCK reads the hardware clock to *                       set the system time.  -                      o  IF TIMEPROMPTWAIT > 0rG                         THEN the value of TIMEPROMPTWAIT determines howdC                         long the user is prompted to enter the timeSF                         and date. If time expires and no time has beenI                         entered the system acts as if TIMEPROMPTWAIT = 0.   -                      o  IF TIMEPROMPTWAIT = 0=C                         THEN the system time is calculated from theo=                         contents of EXE$GQ_SAVED_HWCLOCK + 1.   -                      o  IF TIMEPROMPTWAIT < 0 G                         THEN the user is prompted for the time and date G                         and unable to continue until the information is                           entered.  F                    Unlike the VAX, the Alpha hardware clock tracks theF                    full date and time, not just the time of year. ThisE                    means it is possible to boot from the CD-ROM media E                    without entering the time at the CD-ROM bootstrap. B                    (This provided that the time and date have been+                    initialized, of course.)                       4-6    b          '                    Time and Timekeeping         F                    IA-64 (Itanium) hardware time-keeping details to be                    added...   '           _____________________________eE           4.1.1.3  Why does VAX need a SET TIME at least once a year?e  I                    Because the VAX Time Of Year (TOY) has a resolution ofoI                    497 days, the VAX system time is stored using both thenH                    TOY and the OpenVMS VAX system image SYS.EXE. BecauseH                    of the use of the combination of the TOY and SYS.EXE,F                    you need to issue a SET TIME command (with the timeI                    parameter specified) at least once between January 1st F                    and about April 11th of each year, and whenever youG                    change system images (due to booting another OpenVMS J                    VAX system, booting the standalone BACKUP image, an ECO/                    that replaces SYS.EXE, etc).g  C                    The SET TIME command (with the current time as a D                    parameter) is automatically issued during variousG                    standard OpenVMS procedures such as SHUTDOWN, and itoF                    can also obviously be issued directly by a suitablyH                    privileged user. Issuing the SET TIME command (with aI                    parameter) resets the value stored in the TOY, and (iflG                    necessary) also updates the portion of the time (thegC                    current year) saved in the SYS.EXE system image.   C                    This VAX TOY limit is the reason why OpenVMS VAXsE                    installation kits and standalone BACKUP explicitlyiI                    prompt for the time during bootstrap, and why the time J                    value can "get weird" if the system crashes outside theJ                    497 day window (if no SET TIME was issued to update theH                    saved values), and why the time value can "get weird"G                    if a different SYS$SYSTEM:SYS.EXE is used (alternate 8                    system disk, standalone BACKUP, etc).  '           _____________________________s;           4.1.2  How does OpenVMS VAX maintain system time?   I                    VAX systems maintain an interval clock, and a hardwaren                    clock.c  E                    The VAX hardware clock is called the TOY ("Time Of J                    Year") clock. The register associated with the clock is<                    called the TODR ("Time Of Day Register").  J                                                                        4-7 ,  c          '                    Time and Timekeeping         H                    The TOY clock-as used-stores time relative to JanuaryI                    first of the current year, starting at at 00:00:00.00.oJ                    It is a 100 Hz, 32-bit counter, incremented every 10ms,=                    and thus has a capacity of circa 497 days.t  C                    OpenVMS (on the VAX platform) stores system dateeE                    information-and in particular, the current year-in 8                    the system image, SYS$SYSTEM:SYS.EXE.  E                    The TOY is used, in conjunction with the base dateeI                    that is stored and retrieved from the system image, togH                    initialize the interval clock value that is stored in"                    EXE$GQ_SYSTIME.  E                    Once the interval clock is loaded into the runningOE                    system as part of the system bootstrap, the systemfG                    does not typically reference the TOY again, unless asH                    SET TIME (with no parameters) is issued. The intervalF                    clock value is updated by a periodic IPL22 or IPL24H                    (depending on the specific implementation) interrupt.H                    (When these interrupts are blocked as a result of theG                    activity of higher-IPL code-such as extensive driver J                    interrupt activity or a hardware error or a correctableG                    (soft) memory error-the clock will "loose" time, and J                    the time value reported to the user with appear to have                     slowed down.)  F                    When SET TIME is issued with no parameters, the TOYE                    clock is loaded into the system clock; the runningtD                    system clock is set to the time stored in the TOYE                    clock. This assumes the TOY clock is more accuratevB                    than the system clock, as is normally the case.  B                    On most (all?) VAX systems, the battery that isH                    associated with the TOY clock can be disconnected andE                    replaced if (when) it fails-TOY clock failures aremJ                    quite commonly caused by a failed nickel-cadmium (NiCd)B                    or lithium battery, or by a failed Dallas chip.                                4-8    s          '                    Time and Timekeeping       D           __________________________________________________________<           4.2  Keeping the OpenVMS system time synchronized?  D                    To help keep more accurate system time or to keepH                    your system clocks synchronized, TCP/IP Services NTP,E                    DECnet-Plus DTSS (sometimes known as DECdtss), DCE I                    DTS, and other techniques are commonly used. If you do G                    not or cannot have IP access to one of the availableeH                    time-base servers on the Internet, then you could useI                    dial-up access to NIST or other authoritative site, or I                    you can use a direct connection to a local authorative                     clock.k  F                    There exists code around that processes the digitalC                    (ie: binary) format time that is available via a I                    modem call into the NIST clock (the Automated ComputerhI                    Telephone Service (ACTS) service), and code that grabssJ                    the time off a GPS receiver digital link, or a receiverG                    (effectively a radio and a codec) that processes therG                    time signals from radio stations WWV, WWVH, WWVB, or                     similar.o  C                    Processing the serial or hardware time protocolsoI                    often involves little more than reading from an EIA232NH                    (RS232) serial line from the receiver, something thatE                    is possible from most any language. Information on G                    correctly drifting the OpenVMS system clock to match I                    the time-base time is available within the logic of atrG                    least one OpenVMS Freeware package. (See Section 4.3 9                    for a few potential hardware options.)t  D                    One example of acquring a time-base through localD                    integrated hardware involves the IRIG time formatC                    (IRIG-A, -B, -G), a binary signal containing the.C                    current time in hours, minutes, seconds and daysyE                    since the start of the current year. IRIG can alsoeI                    contain the time of day as the number of seconds sincekF                    midnight. HP Custom Systems and third-party vendorsE                    have variously offered IRIG-based reader/generatorr/                    modules for OpenVMS systems.e  C                    One of the easiest approaches is a network-basedbF                    GPS or other similar receiver. Basically, this is aF                    network server box that provides an NTP server withG                    the necessary hardware for external synchronization. B                    In addition to the antenna and the receiver and  J                                                                        4-9 b  d          '                    Time and TimekeepingO        I                    processing components, these devices provide a networkaF                    interface (NIC) and support for an NTP time server,D                    and applications including the NTP support withinD                    TCP/IP Services and within various third-party IPJ                    stacks can then be used to synchronize with the the NTPH                    information provided by time-base receivers. No otherG                    host software is required, and no host configuration F                    steps and no host software beyond NTP are required.J                    (See Section 4.3 for a few potential hardware options.)  J                    Differing time servers (DECnet-Plus DTSS, DCE DTS, NTP,I                    etc) do not coexist particularly well, particularly if F                    you try to use all these together on the same node.D                    Please pick and use just one. (If needed, you canJ                    sometimes configure one package to acquire its timebaseJ                    from another protocol, but one and only one time serverI                    package should have direct control over the management G                    of and drifting of the local OpenVMS system time. In G                    the specific case of DECnet-Plus DTSS, older product J                    versions and versions V7.3 and later provide a providerJ                    module, a module which permits DTSS to acquire its timeI                    from NTP. For details on this, please see the comments 6                    in the module DTSS$NTP_PROVIDER.C.)  I                    Unlike DECnet-Plus, TCP/IP Services NTP is not capablenF                    of connecting to a time-base other than the networkG                    time base or the local system clock. Third-party anddD                    open source NTP implementations are available for$                    OpenVMS, as well.                      Useful URLs:u  J                    o  http://www.boulder.nist.gov/timefreq/service/nts.htm  K                    o  http://www.boulder.nist.gov/timefreq/service/acts.htm   ;                    o  http://www.boulder.nist.gov/timefreq/n  *                    o  http://www.time.gov/                              4-10                '                    Time and Timekeeping       D           __________________________________________________________+           4.3  External time-base hardware?   G                    Here are a few possibilities for providers of a GPS-.G                    based receiver with an embedded NTP server, strictlynF                    culled from the first few pages of a Google search.I                    Availability, pricing, OpenVMS compatibility and other )                    factors are not known.   0                    o  http://www.galleon.eu.com/  5                    o  http://www.meinberg.de/english/_  1                    o  http://www.ntp-servers.com/d  H                    For a direct-connected (local, non-IP, non-NTP) link,C                    there are serial options available. Google finds,F                    Spectracom Corporation has a NetClock that could beJ                    used here, based on a quick look-I do not know if thereG                    is OpenVMS host software, but that would be possible E                    to write for the ASCII data stream that the deviceiF                    supports. (Such coding requires knowledge of serialH                    I/O, character processing, and knowledge of the clockH                    drift API mechanisms in OpenVMS-there exists FreewareH                    tools that could be used to learn how to tie into the9                    clock drifting mechanisms of OpenVMS.)k  4                    o  http://www.spectracomcorp.com/  (           http://www.spectracomcorp.com/  I                    Information on, and experiences or recommendations for H                    or against these or other similar devices is welcome.  '           _____________________________t:           4.3.1  Why do my cluster batch jobs start early?  J                    Your system time is skewed across your cluster members,I                    and the cluster member performing the queue management.I                    tasks has a system time set later than the system timep7                    of the member running the batch job.i  >                    This behaviour is most noticable when usingD                    SUBMIT/AFTER=TOMORROW and similar constructs, andE                    use of /AFTER="TOMMOROW+00:01:00" or such is oftenjF                    recommended as a way to avoid this. The combinationI                    time value specified should be larger than the maximumg  J                                                                       4-11               '                    Time and Timekeepingi        H                    expected time skew. In the example shown, the maximum@                    cluster clock skew is assumed less than 1:00.  D                    You can also maintain your system times in betterE                    synchronization, with available tools described ini-                    Section 4.2 and elsewhere.   '           _____________________________ 7           4.3.2  Why does my OpenVMS system time drift?   E                    Memory errors, hardware problems, or most anything G                    operating at or above IPL 22 or IPL 24 (clock IPL isxF                    system family dependent; code executing at or aboveC                    the clock IPL will block the processing of clockrH                    interrupts), can cause the loss of system time. ClockE                    drift can also be caused by normal (thermal) clock_E                    variations and even by the expected level of clocki                    drift.M  G                    When clock interrupts are blocked as a result of theaE                    activity of high-IPL code-such as extensive driversJ                    interrupt activity or a hardware error or a correctableG                    (soft) memory error-the clock will "loose" time, and)J                    the time value reported to the user with appear to haveI                    slowed down. Correctable memory errors can be a commonvG                    cause of system time loss, in other words. Heavy PCI 8                    bus traffic can also cause lost time.  I                    One bug in this area involved the behaviour of certainsI                    graphics controllers including the ELSA GLoria SynergyeF                    PBXGK-BB; the PowerStorm 3D10T effectively stallingH                    the PCI bus. See Section 5.16 for details on the ELSAG                    GLoria Synergy controller, and make certain you havec:                    the current GRAPHICS ECO kit installed.  G                    Clock drift can also be (deliberately) caused by them8                    activity of the DTSS or NTP packages.  A                    Also see Section 4.1.1.2.1, Section 4.1.1, andd!                    Section 4.3.4.                             4-12t    0          '                    Time and Timekeepingb      '           _____________________________ 9           4.3.3  Resetting the system time into the past?n  G                    You can resynchronize system time using DCL commands C                    such as SET TIME and SET TIME/CLUSTER, but thesemD                    commands can and obviously will cause the currentJ                    system time to be set backwards when the specified timeH                    predates the current system time. This time-resettingD                    operation can cause application problems, and canG                    adversely effect applications using absolute timers,tF                    applications that assume time values will always beA                    unique and ascending values, and applications.u  G                    Setting the time backwards by values of even an houreH                    has caused various run-time problems for applicationsH                    and layered products. For this reason, this techniqueJ                    was not considered supported during the Year 2000 (Y2K)C                    testing; a system or cluster reboot was stronglysB                    recommended as the correct means to avoid these                    problems.  J                    Application programmers are encouraged to use the time-I                    related and TDF-related events that are available withaF                    the $set_system_event system service, and/or to useF                    UTC or similar time, as these techniques can permitE                    the application to better survive retrograde clockiF                    events. (There is an ECO to repair problems seen inI                    the DECnet-Plus support for generating TDF events from I                    DTSS, and this applies to V7.3 (expected to be in ECO4 G                    and later) V7.3-1 (expected to be in ECO3 and later) G                    and V7.3-2 (expected to be in ECO1 and later). Apply J                    the most current DECnet-Plus ECO kits for these OpenVMSJ                    releases, for best TDF event support from DECnet-Plus.)  7                    See Section 4.3.4 and Section 4.3.1.n  '           _____________________________t9           4.3.4  How can I drift the OpenVMS system time?a  G                    With DECdts and TCP/IP Services NTP, the system timetI                    value is "drifted" (rather than changed), to avoid the-H                    obvious problems that would arise with "negative timeG                    changes". The same basic clock drifting technique iseI                    used by most (all?) time servers operating on OpenVMS,SI                    typically using the support for this provided directlyt"                    within OpenVMS.  J                                                                       4-13 P  h          '                    Time and Timekeepingd        D                    An example of the technique used (on OpenVMS VAX)G                    to drift the system time is the SETCLOCK tool on the $                    OpenVMS Freeware.  J                    For information on the use of the EXE$GL_TIMEADJUST andH                    EXE$GL_TICKLENGTH cells on OpenVMS Alpha, see OpenVMSI                    AXP Internal and Data Structures, located on page 348.   G                    For those areas which switch between daylight savingmF                    time (DST) and standard time, the time value is notH                    drifted. The time is adjusted by the entire interval.F                    This procedure is inherent in the definition of theD                    switch between DST and standard time. (Do look atE                    either not switching to daylight time, or (better)SJ                    using UTC as your time-base, if this change-over is not2                    feasible for your environment.)  7                    See Section 4.3.4 and Section 4.3.3.   '           _____________________________ B           4.3.5  How can I configure TCP/IP Services NTP as a time                  provider?  H                    An NTP time provider provides its idea of the currentI                    time to NTP clients via the NTP protocol. Most systemsn*                    are NTP clients, but...  D                    NTP has a heirarchy of layers, called strata. TheI                    further away from the actual NTP time source (InternetiG                    time servers are at stratum 1), the lower the strata C                    (and the larger the number assigned the statum).   H                    NTP explicity configured at stratum one provides timeJ                    to NTP operating at lower strata, and the provided timeI                    is acquired based on the local system time or via some ;                    locally-accessible external time source.T  E                    NTP at other (lower) strata both receive time fromrF                    higher strata and can provide time to lower strata,J                    and automatically adjust the local stratum. The highestF                    stratum is one, and the lowest available stratum is                    fifteen.T  E                    The TCP/IP Services NTP package can operate at any I                    stratum, and can be configured as a peer, as a client,cI                    or as a broadcast server. NTP can also provide time tol?                    a DECnet-Plus DTSS network, see Section 4.2.t                      4-14o w  s          '                    Time and Timekeeping         J                    With TCP/IP Services V5.0 and later, the only supportedF                    reference clock is the LCL (local system clock). IfF                    your system has an excellent clock or if the systemF                    time is being controlled by some other time serviceF                    or peripheral (such as DTSS services, GPS services,E                    a cesium clock, a GPIB controller or other similar I                    time-related peripheral), you can configure NTP to use F                    the system clock as its reference source. This willJ                    mimic the master-clock functionality, and will configreH                    NTP as a stratum 1 time server. To do this, enter the8                    following commands in TCPIP$NTP.CONF:  ,                    server 127.127.1.0 prefer.                    fudge 127.127.1.0 stratum 0  H                    For local-master functionality, the commands are very!                    similiar. Use:c  %                    server 127.127.1.0 .                    fudge 127.127.1.0 stratum 8  G                    The difference between these two is the stratum, andoJ                    the omission of the prefer keyword. Specifying a higherI                    stratum allows the node to act as a backup NTP server, H                    or potentially as the sole time server on an isolatedG                    network. The server will become active only when alldH                    other normal synchronization sources are unavailable.C                    The use of "prefer" causes NTP to always use the F                    specified clock as the time synchronization source.  C                    With the TCP/IP Services versions prior to V5.0,rB                    the NTP management is rather more primitive. ToA                    configure the local OpenVMS system from an NTP G                    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   G                    Also, for TCP/IP Services prior to V5.0, see the NTP !                    template file:   9                    SYS$SPECIFIC:[UCX$NTP]UCX$NTP.TEMPLATEn  J                                                                       4-15 s             '                    Time and Timekeepinge        G                    Note that NTP does not provide for a Daylight SavinglF                    Time (DST) switch-over, that switch must arise fromI                    the timezone rules on the local system and/or from thefE                    SYS$EXAMPLES:DAYLIGHT_SAVINGS procedure. (Further,lA                    there is a known bug in SYS$EXAMPLES:DAYLIGHT_LG                    SAVINGS.COM in V7.3, please obtain the available ECO                     kit.)  B                    For current TCP/IP Services and related OpenVMS-                    documentation, please see:S  7                    o  http://www.hp.com/go/openvms/doc/t  D           __________________________________________________________H           4.4  Managing Timezones, Timekeeping, UTC, and Daylight Saving                Time?  >                    You will want to use the command procedure:  4                    o  SYS$MANAGER:UTC$TIME_SETUP.COM  H                    to configure the OpenVMS Timezone Differential FactorC                    (TDF) on OpenVMS V6.0 and later. Select the BOTHiD                    option. This configures the OpenVMS TDF settings,E                    though it may or may not configure the TDF and the_B                    timezone rules needed or used by other softwareH                    packages. Please do NOT directly invoke the following&                    command procedures:  I                    o  SYS$MANAGER:UTC$CONFIGURE_TDF.COM ! do not directly                        usee  J                    o  SYS$MANAGER:UTC$TIMEZONE_SETUP.COM ! do not directly                       uset  F                    TCP/IP Services V5.0 and later use the OpenVMS TDF,H                    UTC, and timezone support. Earlier versions use a TDFJ                    mechanism and timezone database that is internal to theI                    TCP/IP Services package. Also on the earlier versions,:D                    the TDF must be manually configured within TCP/IPE                    Services, in addition to the OpenVMS configurationE                    of the TDF.                        4-16     t          '                    Time and Timekeepinge        F                    DECnet-Plus in V7.3 and later uses the OpenVMS TDF,G                    UTC, and timezone support, and displays its timezone I                    prompts using UTC$TIME_SETUP.COM. Earlier versions use H                    a TDF TDF mechanism, timezone database, and automaticB                    switch-over that is internal to the DECnet-PlusE                    package. Also on earlier versions, the TDF must be H                    configured within the DECnet-Plus DECdtss package, inD                    addition to the OpenVMS configuration of the TDF.  B                    Application code using HP C (formerly Compaq C,C                    formerly DEC C) will use the OpenVMS UTC and TDFrI                    mechanisms when the C code is compiled on OpenVMS V7.0aF                    and later (and when the macro _VMS_V6_SOURCE is NOTF                    defined). HP C does NOT use the OpenVMS UTC and TDFD                    mechanisms when the C code is compiled on OpenVMSC                    releases prior to V7.0, or when the preprocessorn:                    declaration _VMS_V6_SOURCE is declared.  C                    DCE DTS TDF management details to be determined.   F                    In OpenVMS Alpha V6 releases (V6.1, V6.2, V6.2-1Hx,H                    etc), the TDF value is written to SYS$BASE_IMAGE.EXE.I                    With OpenVMS Alpha V7.0 and later and with OpenVMS VAXeG                    V6.0 and later, SYS$SYSTEM:SYS$TIMEZONE.DAT containseF                    the TDF. This means that OpenVMS Alpha systems willD                    need to have the TDF value reset manually-usuallyE                    within SYSTARTUP_VMS.COM-on reboots prior to V7.0.   E                    During OpenVMS Bootstrap, the SYSINIT module reads,E                    SYS$TIMEZONE.DAT to acquire the TDF for use in theXH                    system global cell EXE$GQ_TDF. This is done to ensureH                    that the system boots with a valid TDF (a value whichD                    may be zero). The UTC system services get the TDFF                    from this cell. These services, as well as the HP CF                    RTL, must have a valid TDF. (Prior to OpenVMS V7.3,D                    if either DECnet-Plus or DECnet/VAX Extensions isF                    configured and run, the image DTSS$SET_TIMEZONE.EXEH                    is invoked and can override the TDF and timezone ruleD                    settings from SYSINIT or from UTC$TIME_SETUP.COM-C                    this image runs even if DTSS is disabled. If thesC                    settings do not match (due to inconsistencies ineC                    timezone specification in UTC$TIME_SETUP.COM and J                    NET$CONFIGURE.COM), DTSS will reset the values to match$                    its definitions.)  J                                                                       4-17 a  v          '                    Time and Timekeeping         D                    Prior to OpenVMS V7.3, daylight saving time (DST)H                    switchover is handled automatically only when DCE DTSI                    or DECnet-Plus DTSS is in use. In V7.3, OpenVMS can becF                    configured to automatically switch over to daylightD                    time, and also generates an event that interestedI                    applications can use to detect the switch-over between 3                    standard time and daylight time.   B                    The manual switchover between daylight time andB                    standard time is correctly accomplished via theF                    SYS$EXAMPLES:DAYLIGHT_SAVINGS.COM command procedure                    procedure.   1                                              Note   D                       NTP (alone) does NOT provide automatic switch-                       over.   1                                              Notee  A                       The DST switch-over does NOT drift the time ?                       value; the switch-over applies the entire G                       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 isA                       not feasible within your environment.) (For E                       information associated with drifting the systenw6                       time, please see Section 4.3.4.)  F                    If you switch the TDF or DST setting, you will alsoD                    want to restart or reconfigure any time-sensitiveF                    applications (those not using the time differentialB                    factor (TDF) change event available in V7.3 andE                    later). Examples of these applications can includetF                    the need to restart the NFS client and NTP. (In theI                    case of NTP, will want to try to "drift" the time (seenI                    Section 4.2 and see Section 4.3.4), and will find thatlJ                    the DST switch-over will exceed the NTP-defined maximumH                    threshold allowed for drifting. Hence the NTP restart*                    is presently required.)                          4-18                '                    Time and Timekeepingd      '           _____________________________NF           4.4.1  Creating, Updating and Managing Timezone Definitions?  F                    One issue with the UTC implementation on OpenVMS isG                    the behaviour of C functions and other programs thatwG                    use SYS$TIMEZONE_RULE; the OpenVMS mechanism assumesfF                    all control over the timezone and the daylight timeI                    switchover. This allows calculation of the time by the 6                    C library and various applications.  H                    This can be incompatible with a system or applicationG                    that requires manual modifications to the DST or TDF C                    settings, or that requires a local or customized A                    timezone definition. For such a site to ensureMD                    the timekeeping is correct, the site must provideF                    procedure that sets the local time and the TDF when7                    the SYS$TIMEZONE_RULE says to do it.a  I                    If a site requires a non-standard time switch-over, asaH                    in coordinating with a shift change or due to changesD                    in the local or regional timezone rules, the siteG                    will need to use the zic compiler to create a customa!                    timezone rule.   F                    Additionally, applications may need to have specialG                    actions taken or actions queued just before the timeSI                    change takes effect. If the application source code is H                    available, one of the best ways to handle this is viaH                    the TDF and time-change notification events availableG                    via the OpenVMS sys$set_system_event system service.i  J                    For information on zic and related tools used to manageE                    the OpenVMS Timezone database, please see the HP C I                    Run-time Library Utilities Reference Manual-though the F                    title would imply otherwise, this particular manualD                    is part of the OpenVMS documentation set, and notG                    part of the HP C (formerly Compaq C, formerly DEC C) %                    documentation set.t  @                    For related information, see Section 4.4.1.1.          J                                                                       4-19 e  l          '                    Time and Timekeepingr      '           _____________________________ G           4.4.1.1  Customizing or Updating your TDF (Timezone) Setting?   I                    Individual, local, and regional differences on the use I                    (or the lack of use) of Daylight Saving Time (DST) are H                    quite common, as are occasional regulatory changes toH                    the particular applicable regional DST settings. (eg:F                    The United States Government is expecting to changeF                    its DST rules starting in March of 2007; please see0                    Section 4.4.1.2 for details.)  H                    DST-related ECO kits are now available for various ofJ                    the supported releases, please see the ECO FTP site for                    details.   C                    If you need or wish to add, modify or remove DST H                    rules for your area, or otherwise alter the rules forG                    your local area, you will probably end up creating a I                    variation to an existing timezone rule, or potentially B                    simply downloading a new set of DST rules. ThisE                    requirement can arise, for instance, if your localoI                    region changes its timezone rules, or if you are using G                    an OpenVMS release that does not have an ECO kit for /                    the US DST rules available.)i  D                    The necessary zone line to add for support of theH                    hypothetical new WhereEverLand timezone will probably,                    look something like this:  R                    # Zone  NAME            GMTOFF  RULES/SAVE      FORMAT  [UNTIL]L                    Zone    WhereEver       2:00    -               WhereEver  F                    The OpenVMS source files for the timezone rules are                    stored here:   ;                    SYS$COMMON:[SYS$ZONEINFO.SYSTEM.SOURCES]   F                    You'll then want to use the zic compiler to compileH                    your own new timezone definition, or to compile a newE                    set of timezone definitions that have been freshly 6                    downloaded from a published source.  @                    The zic compiler is documented in the OpenVMSG                    Documentation Set, and specifically in the HP C Run- F                    Time Library Reference Manual. (Despite the name ofG                    this manual, it is part of the OpenVMS documentationz1                    set and not of the C manuals.)                       4-20  c  i          '                    Time and Timekeepingt        D                    Once you have created and compiled a new timezoneI                    rule (or have downloaded and have compiled a whole new H                    set of timezone rules), use the SYS$MANAGER:UTC$TIME_I                    SETUP.COM to select the new timezone if necessary-with H                    V7.3 and later, this tool will automically notice theG                    new timezone and will offer it, on earlier releases, J                    you may/will have to hack the code of the tool somewhatG                    to allow it to present the new timezone rule. (If an G                    existing timezone rule is simply changing, you don't 0                    need this re-selection step.)  1                                              Notet  A                       As mentioned in Section 4.4.2, please don'teF                       modify or redefine the TZ logical name (found onE                       older configurations), or the SYS$TIMEZONE_NAMEwC                       logical name, or any other time- or timezone- F                       related logical names directly yourself. Rather,F                       please use the zic compiler and/or the UTC$TIME_*                       SETUP.COM procedure.  E                    For various published timezone rules or updated toiD                    same, see the tar.gz files (these are gzipped tar*                    archives) available at:  2                    o  ftp://elsie.nci.nih.gov/pub/  G                    These are gzipped tar archives, and are the pubishedeH                    source used for the OpenVMS timezone rules on OpenVMSH                    V7.3 and later, and within the predecessor C run-timeE                    environment timezone support used on older OpenVMSrE                    releases. You'll need to first gunzip and then usemB                    vmstar to unpack and access the contents of the                    archives.  J                    The published timezone rules include the effective dateJ                    ranges for the individual rules, so you can reload yourH                    rules prior to a particular set of new rules becomingD                    effective. The effective dates for the particularI                    timezone rules are additionally necessary to allow theYJ                    appropriate translation of older dates and times withinG                    the appropriate historical context of the particular '                    date and time value.n  >                    For related information, see Section 4.4.1.  J                                                                       4-21 r  t          '                    Time and Timekeepinge      '           _____________________________ @           4.4.1.2  US Daylight Time Changes Starting 1-Mar-2007?  D                    The United States Federal Government is presentlyG                    expecting to change its DST rules starting in March,iE                    2007. (The change-over date and the planned changeFH                    itself has not come to pass as of this writing, hence&                    the phrasing used.)  G                    As amended, US daylight time will be increased to be H                    effective from the second Sunday in March through theF                    first Sunday of November. Other countries, US localF                    political geographies and businesses may or may notG                    follow suite and implement these changes, obviously.e  E                    For further regulatory details, see the US Uniform I                    Time Act of 1966 (15 U.S.C 260a(a)), as amended by the -                    Energy Policy Act of 2005.i  I                    For details on how to create, customize or to downloadnE                    new rules and to update your local timezone rules,c.                    please see Section 4.4.1.1.  '           _____________________________ :           4.4.2  Timezones and Time-related Logical Names?  D                    Various logical names are used to manage time andF                    timezones, and you should avoid direct modificationD                    of these logical names as the implementations areF                    subtle and quick to change. As discussed in sectionD                    Section 4.4.3, you will want to use the followingA                    command procedure to maintain the time and the_                    timezone:  4                    o  SYS$MANAGER:UTC$TIME_SETUP.COM  H                    If you want to venture into uncharted territories andF                    modify the TDF used within older releases of TCP/IPI                    Services-within releases prior V5.0-you can attempt to ;                    use the following undocumented commands:i  C                    SET TIME/DIFF=[positive or negative TDF integer]g                     GENERATE TIME  B                    to reset the value of the logical name UCX$TDF.                      4-22A :  $          '                    Time and Timekeeping         6                    Prior to OpenVMS V7.3, the command:  <                    $ SETTZ :== $SYS$SYSTEM:DTSS$SET_TIMEZONE!                    $ SETTZ MODIFY5  J                    can be used to modify the settings of the SYS$TIMEZONE_B                    DAYLIGHT_SAVING, SYS$TIMEZONE_DIFFERENTIAL, andF                    SYS$TIMEZONE_NAME system logical names based on the%                    SYS$TIMEZONE_RULE.D  D                    The following are other TDF-related logical namesB                    used/available on OpenVMS systems, with typicalF                    daylight time and standard time settings for the US.                    Eastern Time (ET) timezone.  "                    $daylight_time:>                    $ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE EDTG                    $ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0400 EDT"AZ                    $ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P true  ! Not 'EDT'K                    $ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05   ! Constantu                    $"                    $standard_time:>                    $ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE ESTG                    $ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0500 EST"gZ                    $ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P false ! Not 'EST'K                    $ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05   ! ConstantD                    $H                    $ DEFINE/SYSTEM/EXECUTIVE UCX$NFS_TIME_DIFFERENTIAL -U                        'f$integer(f$element(0," ",f$logical("notes$timezone"))/-100)'   F                    For information on modifying these timezone logical@                    names and on managing the timezone rules, see!                    Section 4.4.1.   '           _____________________________S=           4.4.3  How to troubleshoot TDF problems on OpenVMS?T  H                    This is an OpenVMS Alpha system prior to V7.0 and the9                    startup is not invoking the procedure:I  1                    SYS$MANAGER:UTC$TIME_SETUP.COM   J                    This is an OpenVMS system prior to V6.0, where there is4                    no OpenVMS TDF nor UTC available.  J                                                                       4-23               '                    Time and Timekeeping         B                    The version of the application does not use theF                    OpenVMS TDF. This includes TCP/IP Services prior toF                    V5.0, applications using HP C built on or targetingG                    OpenVMS prior to V7.0, and systems using the DECnet-iG                    Plus DTSS mechanisms prior to the release associatediH                    with OpenVMS V7.3. (DCE DTS TDF management details to"                    be determined.)  A                    If you should find either of the following twor=                    timezone-related database files located ine)                    SYS$SPECIFIC:[SYSEXE]:o  ;                    o  SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE.DAT   ?                    o  SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE_SRC.DAT   H                    These two files are in an erroneous location and must9                    be recreated in the correct directory:E  &                    SYS$COMMON:[SYSEXE]  &                    If the DCL command:  ;                    $ DIRECTORY SYS$SYSTEM:SYS$TIMEZONE*.DAT   J                    shows these files in SYS$SPECIFIC:[SYSEXE], then deleteJ                    them and use SYS$MANAGER:UTC$TIME_SETUP.COM to recreate                    them.  B                    On OpenVMS versions prior to V7.3, if the file:  5                    $ SYS$STARTUP:DTSS$UTC_STARTUP.COM   J                    is present on your system, then you may need to invoke:  ?                    $ @SYS$UPDATE:DTSS$INSTALL_TIMEZONE_RULE.COM   C                    to recreate the timezone files correctly. Invoke ?                    this command immediately after [re]executing 3                    SYS$MANAGER:UTC$TIME_SETUP.COM.)S  F                    If SYS$UPDATE:DTSS$INSTALL_TIMEZONE_RULE.COM is notG                    present on your system, then you may need to executeA*                    the following commands:  <                    $ DELETE SYS$STARTUP:DTSS$UTC_STARTUP.COM<                    $ DEASSIGN/SYSTEM/EXEC SYS$TIMEZONE_RULE.                      4-24  r  e          '                    Time and Timekeeping         H                    If your system time is being reported as being off byJ                    one hour (or whatever the local DST change), please seeI                    sections Section 4.7, Section 4.4 and Section 10.22.1.   D           __________________________________________________________F           4.5  Why does the SET TIME command fail? Help managing DTSS?  F                    If you try to set the system time with the SET TIMEB                    command, and see one of the following messages:  6                    %SET-E-NOTSET, error modifying timeC                    -SYSTEM-F-IVSSRQ, invalid system service requestD  6                    %SET-E-NOTSET, error modifying time>                    -SYSTEM-E-TIMENOTSET, time service enabled;D                      enter a time service command to update the time  A                    This occurs if the time on the local system is E                    controlled by a time service software, for example H                    the distributed time service software (DTSS) providedD                    as part of the DECnet-Plus installation. The DTSSF                    software communicates with one or more time serversG                    to obtain the current time. It entirely controls thecI                    local system time (for DECnet-Plus, there is a process F                    named DTSS$CLERK for this); therefore, the usage ofJ                    the SET TIME command (and the underlying $SETTIM system(                    service) is disabled.  D                    The first message is displayed on systems runningF                    DECnet-Plus V6.1 and earlier. On systems with newerJ                    DECnet-Plus software, the second (and more informative)$                    message is given.  G                    You shouldn't have to change the time manually - you H                    should be doing this through the time server - but if>                    you insist... you'll have to shutdown DTSS:  '                    $ RUN SYS$SYSTEM:NCL                     DISABLE DTSSa                    DELETE DTSS  I                    This will shutdown DTSS$CLERK. You may then change the F                    system time as usual. To restart the DTSS software,                    typea  .                    $ @SYS$STARTUP:DTSS$STARTUP  J                                                                       4-25 h  g          '                    Time and Timekeepingi        E                    You will need a number of privileges to issue thisCG                    command, and you must also be granted the NET$MANAGE =                    identifer to shutdown and to restart DTSS.a  H                    If you wish to "permanently" disable DTSS on a systemF                    running DECnet-Plus, the above NCL sequence must beF                    performed each time the system is bootstrapped. (OnI                    DECnet-Plus V7.3 and later, you can define the logical J                    name NET$DISABLE_DTSS to disable the DTSS startup. ThisH                    logical name must be defined in the command procedureG                    SYLOGICALS.COM, as this logical name must be present G                    and defined sufficiently early in the OpenVMS system :                    bootstrap sequence for it to function.)  I                    If DTSS is running and no time servers are configured,nC                    you can (and will) see the following messages ato%                    regular intervals:A  K                    %%%%%%%%%%%  OPCOM   2-SEP-1999 19:41:20.29  %%%%%%%%%%%t5                    Message from user SYSTEM on UNHEDI Q                    Event: Too Few Servers Detected from: Node LOCAL:.mynode DTSS,n@                            at: 1999-09-02-19:41:20.296-04:00Iinf-                            Number Detected=0, ,                            Number Required=1J                            eventUid   5FA70F4F-616E-11D3-A80E-08002BBEDB0FJ                            entityUid  DE9E97DE-6135-11D3-8004-AA000400BD1BJ                            streamUid  D6513A46-6135-11D3-8003-AA000400BD1B  J                    You can either configure the appropriate number of timeI                    servers, or you can disable DTSS, or you can ignore itaG                    and (if OPCOM is set to write to the log via via theeG                    logical names in SYLOGICALS.COM/SYLOGICALS.TEMPLATE) 4                    clean out OPERATOR.LOG regularly.  C                    You can also simply disable the display of these0                    messages:  '                    $ run sys$system:nclAH                    block event dispatcher outbound stream local_stream -&                        global filter -?                        ((Node, DTSS), Too Few Servers Detected)                           4-26i t  h          '                    Time and Timekeepings        F                    If you wish to disable the automatic TDF adjustmentI                    for the daylight time switch-over (on OpenVMS versionsy;                    prior to V7.3), you can use the command:   '                    $ run sys$system:nclb8                    set dtss automatic TDF change = false  F                    or alternatively, you can set the local timezone toH                    one that does not include the automatic daylight time                    change-over.i  D                    OpenVMS V7.3 and later simplify time and timezone                    management.  D           __________________________________________________________F           4.6  Setting time on AlphaServer ES47, ES80, GS1280 console?  B                    To set the base system time on an member of theD                    AlphaServer ES47, AlphaServer ES80 or AlphaServerC                    GS1280 series system family, you must access thet@                    Platform Management Utility (PMU). The PMU isH                    implemented within this family of related AlphaServerE                    systems, and is part of a layer providing services_D                    beyond those of the traditional Alpha SRM consoleH                    layer, and within a layer architecturally implementedF                    beneath the SRM console. In particular, the PMU andD                    related management components are used to provideF                    services across multiple vPars or nPars partitions.G                    In particular, the SRM obtains and manages the localpF                    system time on these systems as a delta time offsetD                    from the underlying base system time. Neither theG                    SRM console nor OpenVMS directly accesses nor alterspH                    the underlying base system time nor other information3                    maintained within the PMU layer.n  A                    The PMU uses the System Management components,PI                    centrally including the Backplane Manager (MBM) module D                    found in each drawer, user interface, PCI and CPUH                    management components, and the interconnections amongG                    these provided by the private system management LAN. J                    When the system has power applied and the main breakers/                    are on, the MBMs are active.     J                                                                       4-27 p  n          '                    Time and Timekeepingc        G                    The PMU offers a command line interface for a serialfI                    communications or telnet connection and allows commandnI                    and control of the MBM, and of the server. The PMU andaG                    the MBM system management components are responsiblee+                    for the following tasks:e  I                    o  Show the system configuration and provide the basic *                       debugging capability  C                    o  Initiate the firmware update or load the testU&                       firmware version  C                    o  Power on or off, halt, or reset the system orw                       partitiond  C                    o  The system partitioning and cabling functions   E                    o  Displays of the health of hardware environment, G                       including such constructs as fans, power suppliesg?                       and environmental and temperature values.a  4                    o  Remote server management tasks  ?                    o  The connection to the virtual SRM console   8                    o  Set and show the base system time.  I                    You can use the MBM commands SHOW TIME and SET TIME tomI                    view and to manipulate the base system time. The deltahH                    time value for the primary MBM will be indicated, andJ                    it is this value in conjunction with the base time thatH                    is used to generate the time available to OpenVMS viaH                    the SRM console. If you issue a SET TIME=time commandH                    from OpenVMS, the delta time will change, but not theJ                    MBM base system time. If you change the MBM base systemI                    time, the calculated time available to OpenVMS via the G                    SRM console(s) will change. (Resetting the base time H                    thus involves changing the base system time, and thenJ                    issuing SET TIME=time command(s) to each of the OpenVMSG                    vPars or nPars environments to adjust the respective I                    delta time values.) Rebooting, resetting or issuing an ;                    MBM SET TIME will reset the system time.m  E                    Typically, you will want to establish the MBM timeh@                    value once, and probably setting it to UTC orF                    such, and you will then want to boot each partitionI                    conversationally, setting the SETTIME system parameterf                      4-28     a          '                    Time and Timekeeping         E                    to force the entry of the time within each booting G                    system environment. Once the MBM time value has been D                    set once, you will typically not want to alter itF                    again. You will typically want to manage and modify>                    only the time values within each partition.  E                    The time and data values stored in the primary MBM I                    and replicated in the zero or more secondary MBMs thatnF                    might be present within the system are coordinated.  J                    To enter the PMU from the SRM console, and to exit back                    to SRM:  ;                    MBM - (PMU, Platform Management Utility)   8                      From SRM P00> enter {Esc} {Esc} MBMH                      CTRL/[ CTRL/[ MBM           (MBM must be uppercase)A                      MBM> connect                (to exit to SRM)   F                    The <CTRL/[> is the escape character. Use the citedF                    key sequences to enter the PMU. You can also accessJ                    the PMU through a modem, or from a terminal or terminalF                    emulator or terminal server connected to the serverC                    management LAN. Having the server management LANsF                    bridged to an untrusted LAN can be unwise, however,E                    and with risks analogous to those of configuring aSJ                    traditional VAX or Alpha console serial line to an open9                    terminal server or to a dial-in modem.c  J                    See the AlphaServer GS1280 documentation for additional                    information.e  D           __________________________________________________________I           4.7  UTC vs GMT vs vs UT1/UT1/UT2 TDF? What are these acronyms?d  D                    The results of an international compromise-thoughF                    some would say an international attempt to increaseH                    confusion-UTC is refered to as "Coordinated UniversalE                    Time" (though not as CUT) in English and as "TempseF                    Universel Coordinn" (though not as TUC) in French.G                    (No particular information exists to explain why UTC_I                    was chosen over the equally nonsensical TCU, accordingdH                    to Ulysses T. Clockmeister, one of the diplomats thatB                    helped establish the international compromise.)  J                                                                       4-29               '                    Time and Timekeeping         F                    Universal Time UT0 is solar time, UT1 is solar timeG                    corrected for a wobble in the Earth's orbit, and UT2TI                    is UT1 corrected for seasonal rotational variations inn;                    rotation due to the Earth's solar orbit.   B                    GMT-Greenwich Mean Time-is UT1. GMT is the timeC                    at the classic site of the since-disbanded Royal J                    Greenwich Observatory; at the most widely-known tourist4                    attraction of Greenwich, England.  D                    UTC is based on an average across multiple atomicI                    clocks, and is kept within 0.9 seconds of GMT, througheI                    the insertion (or removal) of seconds. In other words,rG                    UTC matches GMT plus or minus up to 0.9 seconds, butG"                    UTC is not GMT.  H                    TDF is the Timezone Differential Factor, the intervalE                    of time between the local time and UTC. Areas thattI                    celebrate daylight saving time (DST) will see periodicrI                    changes to the TDF value, when the switch-over between.F                    daylight time and standard time occurs. The switch-E                    over itself is entirely left to local governmental H                    folks, and can and has varied by political entity andJ                    politics, and the switch-over has varied over the years-                    even at the same location.n  B                    If your local OpenVMS system time is off by oneF                    hour (or whatever the local DST change) for some orD                    all applications, you probably need to reset yourG                    local TDF. (For related details, please see sectionsy4                    Section 4.4 and Section 10.22.1.)  I                    Further discussions of history and politics, the Royal,H                    Observers' outbuildings, and the compromise that leftJ                    the English with the Time Standard (the Prime Meridian)E                    and the French with the standards for Distance andgH                    Weight (the Metric System) are left to other sources.J                    Some of these other sources include the following URLs:  2                    o  ftp://elsie.nci.nih.gov/pub/  C                    o  http://physics.nist.gov/GenInt/Time/time.htmli  +                    o  http://nist.time.gov/u                      4-30i t