Document revision date: 30 March 2001

## OpenVMS Version 7.3
New Features and Documentation Overview

Previous | Contents | Index

    $ DEFINE/SYSTEM/EXEC ZKO 1
    $ DEFINE/SYSTEM/EXEC LKG 2
    $!
    $! At the ZKO site ...
    $ MOUNT/SYSTEM DSA0/SHAD=($1$DGA0:,$1$DGA1:) TEST
    $ SET DEVICE/SITE=ZKO  DSA0:
    $!
    $! At the LKG site ...
    $ MOUNT/SYSTEM DSA0/SHAD=($1$DGA0,$1$DGA1) TEST
    $ SET DEVICE/SITE=LKG  DSA0:
    $!
    $! At both sites, the following would be used:
    $ SET DEVICE/SITE=ZKO  $1$DGA0:
    $ SET DEVICE/SITE=LKG  $1$DGA1:

- `/COPY_SOURCE (ddcu:,DSAnnnn:)`
  Controls whether one or both source members of a shadow set are used as the source for read data during full copy operations, when a third member is added to the shadow set. This only affects copy operations that do not use DCD operations.
  HSG80 controllers have a read-ahead cache, which significantly improves single-disk read performance. Copy operations normally alternate reads between the two source members, which effectively nullifies the benefits of the read-ahead cache. This qualifier lets you force all reads from a single source member for a copy operation.
  If the shadow set is specified, then all reads for full copy operations will be performed from whichever disk is the current "master" member, regardless of physical location of the disk.
  If a member of the shadow set is specified, then that member will be used as the source of all copy operations. This allows you to choose a local source member, rather than a remote master member.
- `/ABORT_VIRTUAL_UNIT DSAnnnn:`
  To use this qualifier, the shadow set must be in mount verification. When you specify this qualifier, the shadow set aborts mount verification immediately on the node from which the qualifier is issued. This qualifier is intended to be used when it is known that the unit cannot be recovered. Note that after this command completes, the shadow set must still be dismounted. Use the following command to dismount the shadow set:

      DISMOUNT/ABORT   DSAnnnn

  #### 4.13.2.1 How to Use the New DISMOUNT and SET Command Qualifiers

  The diagram in this section depicts a typical multiple-site cluster using Fibre Channel. It is used to illustrate the steps which must be taken to manually recover one site when the site-to-site storage interconnect fails. Note that with current Fibre Channel support, neither site can use the MSCP server to regain a path to the DGA devices.

  To prevent the shadowing driver from automatically recovering shadow sets from connection-related failures, three steps must be taken prior to any failure:

  1. Every device that is a member of a multiple-site shadow set must have its member_timeout setting raised to a high value, using the following command:

         $ SET DEVICE /MEMBER_TIMEOUT= x  ddcu:

     This command will override the SHADOW_MBR_TMO value, which would normally be used for a shadow set member. A value for x of 259200 would be a seventy-two hour wait time.
  2. Every shadow set that spans multiple sites must have its mount verification timeout setting raised to a very high value, higher than the MEMBER_TIMEOUT settings for each member of the shadow set.
     Use the following command to increase the mount verification timeout setting for the shadow set:

         $ SET DEVICE /MVTIMEOUT = y  DSAnnnn

     The y value of this command should always be greater than the x value of the `$ SET DEVICE/MEMBER_TIMEOUT= x ddcu:` .
     The `$ SET DEVICE /MVTIMEOUT = y` command will override the MVTIMEOUT value, which would normally be used for the shadow set. A value for y of 262800 would be a seventy-three hour wait.
  3. Every shadow set and every shadow set member must have a site qualifier. As already noted, a site qualifier will ensure that the read cost is correctly set. The other critical factor is three-member shadow sets. When they are being used, the site qualifier will ensure that the master member of the shadow set will be properly maintained.

  In the following diagram, shadow set DSA42 is made up of $1$DGA1000 and $1$DGA2000

               <><><><><><><><><><><>  LAN   <><><><><><><><><><><>
               Site A                                Site B
                  |                                     |
               F.C. SWITCH  <><><><> XYZZY <><><><>  F.C. SWITCH
                  |                                     |
               HSG80 <><> HSG80                      HSG80 <><> HSG80
                  |                                     |
               $1$DGA1000  --------- DSA42 --------- $1$DGA2000

  This diagram illustrates that systems at Site A or Site B have direct access to all devices at both sites via Fibre Channel connections. XYZZY is a theoretical point between the two sites. If the Fibre Channel connection were to break at this point, each site could access different "local" members of DSA42 without error. For the purpose of this example, Site A will be the sole site chosen to retain access to the shadow set.

  The following actions must be taken to recover the shadow set at Site A.

  On Site A:

      $ DISMOUNT /FORCE_REMOVAL= $1$DGA2000:

  Once the command has completed, the shadow set will be available for use only at site A.

  On Site B:

      $ SET DEVICE /ABORT_VIRTUAL_UNIT DSA42:

  Once the command completes, the shadow set status will be `MntVerifyTimeout` .

  Next, issue the following command to free up the shadow set:

      $ DISMOUNT/ABORT DSA42:

  These steps must be taken for all affected multiple-site shadow sets.

  ### 4.13.3 Using INITIALIZE/SHADOW/ERASE to Streamline the Formation of a Shadow Set

  The new /SHADOW qualifier to the DCL INITIALIZE command is available. The use of the INITIALIZE /SHADOW command to initialize multiple members of a future shadow set eliminates the requirement for a full copy operation when you later create a shadow set.

  Compaq strongly recommends that you also specify the /ERASE qualifier with the INITIALIZE/SHADOW command when initializing multiple members of a future shadow set. Whereas the /SHADOW qualifier eliminates the need for a full copy operation when you later create a shadow set, the /ERASE qualifier reduces the amount of time a full merge will take.

  If you omit the /ERASE qualifier, and a merge operation of the shadow set is subsequently required (because a system on which the shadow set is mounted fails), the resulting merge operation will take much longer to complete.

  The INITIALIZE command with the /SHADOW and /ERASE qualifiers performs the following operations:

  - Formats up to six devices with one command, so that any three can be subsequently mounted together as members of a new host-based shadow set.
  - Writes a label on each volume.
  - Deletes all information from the devices except for the system files containing identical file structure information. All former contents of the disks are lost.

  You can then mount up to three of the devices that you have initialized in this way as members of a new host-based shadow set.

  For more information, refer to Volume Shadowing for OpenVMS.

  ## Chapter 5
  Programming Features

  This chapter describes new features relating to application and system programming on this version of the Compaq OpenVMS operating system.

  ## 5.1 3D Graphics Support

  The PowerStorm 300 (PBXGD-AD) and PowerStorm 350 (PBXGD-AE) graphics cards are now supported on Alpha-based systems. The OpenGL 3D graphics API is now provided as part of the OpenVMS base operating system. The version of OpenGL supported on the PowerStorm 300 and PowerStorm 350 graphics cards is Version 1.1.

  The implementation of OpenGL Version 1.1 for the PowerStorm 300 or PowerStorm 350 is designed to coexist with installations of the Open3D layered product for older graphics cards. The images shipped with OpenVMS are named DECW$OPENGLSHR_V11 and DECW$OPENGLUSHR_V11. The _V11 suffix is used to distinguish the OpenGL Version 1.1 images from the OpenGL Version 1.0 images shipped with Open3D (DECW$OPENGLSHR and DECW$OPENGLUSHR).

  Applications using only OpenGL V1.0 features may be linked against either the Open3D images or the new Version 1.1 images. Applications using OpenGL Version 1.1 features should be linked explicitly against the Version 1.1 images.

  For further information on OpenGL support for the PowerStorm 300 and PowerStorm 350, refer to the PowerStorm 300/350 Installation Guide and Release Notes documentation shipped with the graphics card.

  WARNING If 3D graphics will be used extensively, particularly in an environment using multiple PowerStorm 300 and PowerStorm P350s in a single system, read and strictly observe the guidelines for setting SYSGEN parameters and account quotas contained in the PowerStorm 300/350 OpenVMS Graphics Support Release Notes Version 1.1 and the Compaq PowerStorm 300/350 Graphics Controllers Installation Guide shipped with the graphics card. The Release notes can also be accessed on the OpenVMS Documentation CD-ROM in the following directory:
  Directory | File Name
  --- | ---
  [73.DOCUMENTATION.PS_TXT] | P300_350_REL_NOTES.PS,TXT

  ## 5.2 3X-DAPBA-FA and 3X-DAPCA-FA ATM LAN Adapters (Alpha)

  The 3X-DAPBA-FA (HE155) and 3X-DAPCA-FA (HE622) are PCI based ATM LAN adapters for Alpha based systems that provide high performance PCI-to-ATM capability. The 3X-DAPBA-FA adapter offers a 155 Mbps fiber connection; the 3X-DAPCA-FA adapter offers a 622 Mbps fiber connection.

  The datalink drivers for these adapters function in a new OpenVMS ATM environment. The new OpenVMS ATM environment is fully compatible with the existing legacy ATM support and allows both ATM environments to be configured on a single system. Also, the LANCP management interface is the same for both ATM environments.

  For additional information about the 3X-DAPBA-FA PCI HE155 ATM and 3X-DAPCA-FA PCI HE622 ATM LAN adapters, refer to the following URL:

      http://www.compaq.com/alphaserver/products/options

  ## 5.3 Compaq COBOL Run-Time Library Enhancements

  The COBOL RTL for both Alpha and VAX supports five new intrinsic functions with four-digit year formats:

  > YEAR-TO-YYYY
  > DATE-TO-YYYYMMDD
  > DAY-TO-YYYYDDD
  > TEST-DATE-YYYYMMDD
  > TEST-DAY-YYYYDDD

  The COBOL RTL for Alpha has improved performance for the DISPLAY statement redirected to a file and for programs compiled with the /MATH=CIT3 and /MATH=CIT4 qualifiers.

  This RTL's handling of ON SIZE ERROR is now more compatible with that of Compaq COBOL for OpenVMS VAX.

  ## 5.4 Compaq C Run-Time Library Enhancements

  The following sections describe the Compaq C RTL enhancements included in OpenVMS Version 7.3. For more details, refer to the revision of the Compaq C RTL Reference Manual that ships with Compaq C Version 6.3 or later.

  ### 5.4.1 Strptime Function Is XPG5-Compliant

  The `strptime` function has been modified to be compliant with X/Open CAE Specification System Interfaces and Headers Issue 5 (commonly known as XPG5). The change for XPG5 is in how the `strptime` function processes the "%y" directive for a two-digit year within the century if no century is specified.

  When a century is not otherwise specified, XPG5 requires that values for the "%y" directive in the range 69-99 refer to years in the twentieth century (1969 to 1999 inclusive), while values in the range 00-68 refer to years in the twenty-first century (2000 to 2068 inclusive). Essentially, for the "%y" directive, `strptime` became a "pivoting" function, with 69 being a pivoting year.

  Before this change, the `strptime` function interpreted a two-digit year with no century as a year within twentieth century.

  With OpenVMS Version 7.3, XPG5-compliant `strptime` becomes a default `strptime` function in the Compaq C RTL. However, the previous nonpivoting XPG4-compliant `strptime` function is retained for compatibility.

  The pivoting is controlled by the DECC$XPG4_STRPTIME logical name. To use the nonpivoting version of `strptime` , either:

  - Define DECC$XPG4_STRPTIME to any value before invoking the application.
    OR
  - Call the nonpivoting `strptime` directly as the function `decc$strptime_xpg4` .

  ### 5.4.2 Limitation of Eight Nested Directory Levels Was Lifted (Alpha)

  The Compaq C RTL I/O subsystem was enhanced to remove the restriction of eight nested directory levels for an ODS-5 device. This affects Compaq C RTL functions such as `access` , `mkdir` , `opendir` , `rmdir` , and `stat` .

  ### 5.4.3 Improved Support for Extended File Specifications (Alpha)

  The following sections describe improved Compaq C RTL support for extended file specifications.

  #### 5.4.3.1 Compaq C RTL Supports Case Preservation in File Names

  Programs linked against the Compaq C Run-Time Library DECC$SHR can now preserve the case of file names on ODS level 5 disks. This applies when creating or reporting file names. By default, this feature is disabled. To enable this feature, enter the following command:

      $ DEFINE DECC$EFS_CASE_PRESERVE ENABLE

  If file names are all in uppercase, use the following command to convert the names to lowercase when reporting the name in UNIX style:

      $ DEFINE DECC$EFS_CASE_SPECIAL ENABLE

  If file names are not all in uppercase, then DEFINE DECC$EFS_CASE_SPECIAL ENABLE preserves case.

  The commands to disable the preceding logical-name settings are:

      $ DEFINE DECC$EFS_CASE_PRESERVE DISABLE
      $ DEFINE DECC$EFS_CASE_SPECIAL DISABLE

  The setting for the DECC$EFS_CASE_SPECIAL logical name, if not set to DISABLE, supersedes any setting for the DECC$EFS_CASE_PRESERVE logical name.

  The DECC$EFS_CASE_PRESERVE and DECC$EFS_CASE_SPECIAL logicals are checked only once per image activation, not on a file-by-file basis.

  #### 5.4.3.2 Most C RTL Functions Now Accept Long OpenVMS File Names As Arguments (Alpha)

  For OpenVMS Alpha Version 7.2, some basic Compaq C RTL I/O functions ( `creat` , `stat` , and the functions from the open family of functions) were enhanced to accept long OpenVMS-style file names for an ODS-5 device.

  For OpenVMS Alpha Version 7.3, all other Compaq C RTL functions, except `chdir` and the functions from the `exec` family of functions, were also enhanced to accept long OpenVMS-style file names for an ODS-5 device.

  All C RTL functions that accept or report full file specifications will process file specifications up to 4095 bytes long, subject to the rules defined for the media format. For file specifications in OpenVMS format, there are no special restrictions. In situations where a full file specification cannot be reported because the buffer is too short, the function attempts to report the abbreviated name.

  UNIX file names have the following restrictions:

  - Names containing special characters, such as multiple periods, caret, or multinational characters, may be rejected.
  - A function call may report failure if the output buffer is not large enough to receive the full name. For OpenVMS style names, the reported name would contain a file ID-abbreviated name. There is no representation of file ID-abbreviated names defined for UNIX.

  ### 5.4.4 Compaq C RTL Supports Exact Case Argv Arguments (Alpha)

  Nonquoted command-line arguments passed to C and C++ programs (argv arguments) can now optionally have their case preserved, rather than being lowercased as in previous versions.

  By default, this feature is disabled.

  To enable this case preservation feature, define the logical name DECC$ARGV_PARSE_STYLE to "ENABLE" and set the process-level DCL parse style flag to "EXTENDED" in the process running the program:

      $ DEFINE DECC$ARGV_PARSE_STYLE ENABLE
      $ SET PROCESS/PARSE_STYLE=EXTENDED

  Enabling this feature also ensures that the image name returned in argv[0] is also case-preserved.

  To disable this feature, use any one of the following commands:

       $ SET PROCESS/PARSE_STYLE=TRADITIONAL

  or

      $ DEFINE/SYSTEM DECC$ARGV_PARSE_STYLE DISABLE

  or

      $ DEASSIGN DECC$ARGV_PARSE_STYLE

  The value of the DECC$ARGV_PARSE_STYLE logical is case-insensitive.

  ### 5.4.5 Compaq C RTL Can Implicitly Open Files for Shared Access

  The Compaq C RTL was enhanced to open all files for shared access as if the "shr=del,get,put,upd" option was specified in the `open*` or `creat` call.

  To enable this feature, define the logical name DECC$FILE_SHARING to the value "ENABLE". The value is case-insensitive.

  DECC$FILE_SHARING is checked only once per image activation, not on a file-by-file basis.

  ### 5.4.6 Alternate Way of Translating UNIX File Specifications

  The Compaq C RTL was enhanced to allow interpreting the leading part of a UNIX-style file specification as either a subdirectory name or a device name.

  The default translation of a "foo/bar" UNIX-style name to a "foo:bar" VMS-style name remains the default.

  To translate a "foo/bar" UNIX-style name to a "[.foo]bar" VMS-style name, define the logical name DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION to ENABLE.

  DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION is checked only once per image activation, not on a file-by-file basis.

  ### 5.4.7 New Functions

  The Compaq C RTL has added the following functions in OpenVMS Version 7.3:

      fchown
      link
      utime
      utimes
      writev

  ## 5.5 Fortran Support for 64-Bit Address (Alpha)

  Support has been added to OpenVMS Alpha to allow Fortran developers to use static data in 64-bit address space.

  For more information about how to use this feature, refer to the Fortran documentation.

  ## 5.6 Large Page-File Sections (Alpha)

  Page-file sections are used to store temporary data in private or global (shared) sections of memory. In previous releases of OpenVMS Alpha, the maximum amount of data that could be backed up to page files was 32 GB per process (4 process page files, each 8 GB) and 504 GB per system (63 page files, each 8 GB).

  With OpenVMS Alpha Version 7.3, the previous limits for page-file sections were extended significantly to take advantage of larger physical memory. Now images that use 64-bit addressing can map and access an amount of dynamic virtual memory that is larger than the amount of physical memory available on the system.

  With the new design, if a process requires additional page-file space, page files can be allocated dynamically. Space is no longer reserved in a distinct page file, and pages are no longer bound to an initially assigned page file. Instead, if modified pages must be written back, they are written to the best available page file.

  Each page or swap file can hold approximately 16 million pages (128 GB), and up to 254 page or swap files can be installed. Files larger than 128 GB are installed as multiple files.

  Note the following DCL command display changes and system parameter changes as a result of the larger page-file section design:

  - The SHOW MEMORY/FILES display reflects the nonreservable design. For example:

        $ SHOW MEMORY/FILES

                System Memory Resources on 22-MAY-2000 19:04:19.67
        Swap File Usage (8KB pages):                   Index (1)     Free        Size

        DISK$ALPHASYS:[SYS48.SYSEXE]SWAPFILE.SYS
                                                           1         904         904
        DISK$SWAP:[SYS48.SYSEXE]SWAPFILE.SYS;1
                                                           2        1048        1048
          Total size of all swap files:                                         1952

        Paging File Usage (8KB pages):                 Index (2)     Free        Size

        DISK$PAGE:[SYS48.SYSEXE]PAGEFILE.SYS;1
                                                         253       16888       16888
        DISK$ALPHASYS:[SYS48.SYSEXE]PAGEFILE.SYS
                                                         254       16888       16888

          Total size of all paging files:                                      33776
          Total committed paging file usage: (3)                                 1964

    Previous | Next | Contents | Index

    | privacy and legal statement |
    6620PRO_004.HTML