VMS Help V73 Features, Programming Features *Conan The Librarian (sorry for the slow response - running on an old VAX) |
This topic describes new features of interest to application and system programmers.
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_ P300_350_REL_NOTES.PS,TXT TXT]
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
3 - COBOL RTL 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.
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.
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: o Define DECC$XPG4_STRPTIME to any value before invoking the application. OR o Call the nonpivoting strptime directly as the function decc$strptime_xpg4.
4.2 - Nested Directory Levels Limitation 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.
4.3 - Improved Support for Extended File Specifications (Alpha)
The following sections describe improved Compaq C RTL support for extended file specifications.
4. 3.1 - Case Preservation
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.
4. 3.2 - Long File Names
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: o Names containing special characters, such as multiple periods, caret, or multinational characters, may be rejected. o 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.
4.4 - 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.
4.5 - Implicitly Opening 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.
4.6 - 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.
4.7 - New Functions
The Compaq C RTL has added the following functions in OpenVMS Version 7.3: fchown link utime utimes writev
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.
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.
7 - Multipath System Services |
The new Multipath system services provide the capability to return path information and allow you to enable, disable, and switch specific I/O paths to any device. The concept of multiple I/O paths to storage devices was introduced in OpenVMS Version 7.2-1. It is now possible to select more than one I/O path to a device in the event that the path in use should fail. To assist in decision making when configuring a system's I/O structure, the following DCL commands were made available to allow you to display I/O path information and change the current settings affecting these paths: o SET DEVICE device-name/PATH=path-description-string/SWITCH o SET DEVICE device-name/PATH=path-description-string/[NO]ENABLE o SHOW DEVICE/MULTIPATH device-name In OpenVMS Version 7.3, the capability to return path information and allow you to enable, disable, and switch specific I/O paths to any device is now implemented in the following new system services: o SYS$DEVICE_PATH_SCAN This service returns path information for a given Multipath I/O device. Each call to the service returns the name of one of the paths to the device. A context argument is used to maintain continuity between calls. This mechanism is similar to the one currently used for SYS$GETDVI. o SYS$SET_DEVICE[W] Use this service to switch the selected path that handles I/O to a device, or to enable or disable a path for future use in the event of failover. When switching a path, the path change is initiated at the time the request is made by the system service. The current functions of this service include forcing an immediate path switch and enabling or disabling paths. A synchronous version of this service, SYS$SET_DEVICEW, is also provided. This service returns to the caller only after the path switch attempt has been made. Should the path switch fail, an error condition is returned to the caller. Currently, $SET_DEVICE allows only one valid item list entry. For additional information, refer to the OpenVMS System Services Reference Manual.
8 - Multiprocess Debugging (Alpha) |
For Version 7.3, debugger support for multiprocess programs has been extensively overhauled. Problems have been corrected and the user interface has been improved. The multiprocess debugging enhancements include the following features: o Greater control over individual process and groups of processes, including: Execution of processes (or groups of processes) Suspension of processes (or groups of processes) Exiting processes (or groups of processes), with or without exit handler execution o Ability to create user-defined groups of processes o Easier to start a multiprocess debugging session; the default configuration of the kept debugger is for a multiprocess session o Applications that use $HIBER WAIT (LIB$WAIT, $SCHDWK, and so on) can now be debugged in a multiprocess debugging session These enhancements make it much easier to debug multiprocess programs.
9 - Performance API |
The Performance Application Programming Interface (API) provides a documented functional interface-the $GETRMI system service-that allows performance software engineers to access a predefined list of performance data items. For more information about $GETRMI, refer to the OpenVMS System Services Manual.
10 - POLYCENTER Software Installation Utility Enhancements |
PDL Changes shows the changes made to the product description language (PDL) for the POLYCENTER Software Installation utility. Table 5-1 PDL Changes Statement Description execute upgrade New statement. execute Modified to execute on a reconfigure postinstall operation. file Refinements made to their conflict detection module and resolution algorithms. For example, when a file from the kit contains the same non-zero generation number as the same file already installed, the file from the kit is selected to replace the file on disk. Previously, in this tie situation, the file on disk was retained to resolve the conflict. bootstrap block Obsolete. However, the utility will continue execute release to process these statements in a backward patch image compatible manner to support existing kits patch text that might have used them. Function Description upgrade Enhanced to fully support version range checking. The POLYCENTER Software Installation Utility Developer's Guide has been extensively revised for this release. Major improvements include: o Updated descriptions for most PDL statements. o A comprehensive presentation on using custom command procedures with execute statements (added to the Advanced Topics chapter). o New tables, diagrams, and examples.
11 - New Process Dump Tools (Alpha) |
OpenVMS Version 7.3 contains new tools for processing dump files. Note that these new-style process dump and process dump analysis tools are not compatible with the old-style process dumps. That is, if you have a problem you want to analyze with the new tools, you must generate a new process dump using the new process dump image. The following sections describe the new tools.
11.1 - DCL ANALYZE PROCESS DUMP (Alpha)
The DCL ANALYZE/PROCESS_DUMP command invokes the OpenVMS debugger to analyze a process dump, giving you access to debugger commands for your analysis. In OpenVMS Version 7.3, most of the old DCL ANALYZE/PROCESS_DUMP qualifiers have no effect. Only the /FULL and /IMAGE qualifiers are still valid. Both these qualifiers are still optional. /FULL now causes the debugger to execute the debugger SHOW IMAGE, SHOW CALL, and SHOW THREAD/ALL commands after a process dump file has been opened. /IMAGE has been renamed to /IMAGE_PATH, and is now a directory specification, rather than a file specification. /IMPAGE_PATH specifies a directory in which to look for the debug symbol information files (.DSF or .EXE files, in that order) that belong to the process dump file. The name of the symbol file must be the same as the image name in the process dump file. For example, for MYIMAGE.DMP, the debugger searches for file MYIMAGE.DSF or MYIMAGE.EXE. Version 7.3 and later debuggers check for dumpfile image specification and DST file link date-time mismatches and issue a warning if one is discovered. For more information about the DCL ANALYZE/PROCESS_DUMP command, refer to the OpenVMS DCL Dictionary: A-M.
11.2 - Debugger ANALYZE PROCESS DUMP Command
The debugger has a new command: ANALYZE/PROCESS_DUMP/IMAGE_PATH[=directory-spec] dumpfile. This command is available only in the kept debugger. The kept debugger is the image you invoke with the command DEBUG/KEEP, which allows you to run and rerun programs from the same debugging session. The qualifier /PROCESS_DUMP is required. For more information, refer to the OpenVMS Debugger Manual.
11.3 - Debugger SDA Command
The new debugger SDA command invokes the System Dump Analyzer (SDA) to allow you to look at a process dump from within the OpenVMS debugger. For example: DBG> SDA OpenVMS (TM) Alpha process dump analyzer SDA> .. . . SDA> EXIT DBG> This allows you to use SDA to analyze a process dump without terminating a debugger session. For more information, refer to the OpenVMS Debugger Manual.
11.4 - Analyzing Process Dumps on Different Systems
You can analyze a process dump file on a system different from the one on which it was generated. However, if there is a base image link date/time mismatch between the generating system and analyzing system, you must copy SYS$BASE_IMAGE.EXE from the generating system and point to it with the SDA$READ_DIR logical name. For threaded process dump analysis on a system different from the one on which it was generated, it may also be necessary to copy and logically point to the generating system's PTHREAD$RTL and PTHREAD$DBGSHR (POSIX Threads Library debug assistant).
11.5 - Forcing a Process Dump
You can force a process dump with the DCL command SET PROCESS/DUMP=NOW process-spec. This command causes the contents of the address space occupied by process-spec to be written immediately to the file named image-name.DMP in the current directory (image-name is the same as the file name). For more information about the DCL SET PROCESS/DUMP command, refer to the OpenVMS DCL Dictionary: N-Z.
11.6 - Security and Diskquotas
A process dump is either complete or partial. A complete process dump contains all of process space and all process-pertinent data from system space. A partial process dump contains only user- readable data from process space and only those data structures from system space that are not deemed sensitive. Privileged or protected data, such as an encryption key in third-party software, might be considered sensitive. In general, nonprivileged users should not be able to read complete process dumps, and by default they cannot do so. However, certain situations require nonprivileged users to be able to read complete process dumps. Other situations require enabling a user to create a complete process dump while at the same time preventing that user from being able to read the complete process dump. By default, process dumps are written to the current default directory of the user. The user can override this by defining the logical name SYS$PROCDMP to identify an alternate directory path. Note that the name of the process dump file is always the same as the name of the main image at the time the process dump is written, with the file extension .DMP.
11. 6.1 - Special Rights Identifiers
You can use the new rights identifier IMGDMP$READALL to allow a nonprivileged user to read a complete process dump. You can use the new rights identifier IMGDMP$PROTECT to protect a complete process dump from being read by the user that created the process dump. These rights identifiers are created during the installation of OpenVMS Version 7.3 by the image SYS$SYSTEM:IMGDMP_RIGHTS.EXE, which is also run automatically during system startup to ensure that these rights identifiers exist with the correct values and attributes. If these rights identifiers have been deleted, you can run SYS$SYSTEM:IMGDMP_RIGHTS.EXE to recreate them. Note that IMGDMP$READALL has no attributes, but IMGDMP$PROTECT is created with the RESOURCE attribute.
11. 6.2 - Privileged Users
For this discussion, a privileged user is one who satisfies one of the following conditions: o Has one or more of the privileges CMKRNL, CMEXEC, SYSPRV, READALL, or BYPASS o Is a member of a system UIC group (by default [10,n] or lower). Such users are treated as though they hold SYSPRV privilege. Holders of CMKRNL or CMEXEC can write complete process dumps. Holders of any of the other privileges can read a process dump wherever it has been written.
11. 6.3 - Nonprivileged Users
To allow a nonprivileged user to write and read complete process dumps, grant the rights identifier IMGDMP$READALL to the user. If the IMGDMP$READALL rights identifier does not exist, run the image SYS$SYSTEM:IMGDMP_RIGHTS.EXE to create it (see Special Rights Identifiers). Then use AUTHORIZE to grant the rights identifier to the user. For example: $ DEFINE /USER SYSUAF SYS$SYSTEM:SYSUAF.DAT !if necessary $ RUN SYS$SYSTEM:AUTHORIZE UAF> GRANT /IDENTIFIER IMGDMP$READALL <user> UAF> EXIT Note that the user must log out and log in again to be able to receive the rights identifier. A nonprivileged user with rights identifier IMGDMP$READALL can read and write complete process dumps without restriction.
11. 6.4 - Protecting Process Dumps
You can allow a nonprivileged user to write a complete process dump and at the same time prevent the user from reading the process dump just written. To do so, perform the following procedure: 1. If the IMGDMP$PROTECT rights identifier does not exist, run the image SYS$SYSTEM:IMGDMP_RIGHTS.EXE to create it (see Special Rights Identifiers). 2. Create a protected directory with rights identifier IMGDMP$PROTECT. 3. Define protected logical name SYS$PROTECTED_PROCDMP to point to the protected directory. If DISKQUOTA is to be used on the disk containing the protected directory, specify the maximum disk space to be used for process dumps. CAUTION Do not grant IMGDMP$PROTECT to any user. It is granted and revoked as needed by SYS$SHARE:IMGDMP.EXE from executive mode while writing a process dump. If you grant it permanently to a user, that user has access to all process dumps written to the protected directory. You can choose to set up additional ACLs on the protected directory to further control which users are allowed to read and write process dumps there. Note that to take a process dump when the image is installed with elevated privileges or belongs to a protected subsystem, the user must hold CMKRNL privilege, and is by definition a privileged user (see Privileged Users).
12 - RMS Locking Enhancements |
This section introduces the new Record Management Services (RMS) enhancements provided in this release.
12.1 - RMS Locking Performance (Alpha)
The following sections describe RMS locking performance enhancements that are in OpenVMS Alpha Version 7.2-1H1 and in OpenVMS Version 7.3.
12. 1.1 - RMS Global Buffer Read-Mode Locking
In the RMS run-time processing environment, the use of global buffers can minimize I/O operations for shared files. This release introduces read-mode bucket locking that minimizes locking for shared access to global buffers. This new functionality: o Allows concurrent read access to the global buffers. Accesses are no longer serialized, waiting to acquire an exclusive lock for a read access. o Caches the read-mode lock as a system lock, which is retained over accesses and only lowered to null when the lock is blocking an exclusive write request. This functionality significantly reduces both local and remote lock request traffic (the number of $ENQ and $DEQ system service calls) as well as associated IPL-8 spinlock activity and System Communications Services (SCS) messages for a cluster. o Does not increase lock resource names or the number of active system or process locks on the system. o Is functionally compatible in mixed version clusters that include both Alpha and VAX computers. This new functionality applies to read operations (using the $GET and $FIND services) for all three file organizations: sequential, relative, and indexed. It also applies to a write operation (using the $PUT service) for the read accesses used for index buckets the first time through an index tree for the write. You do not need to make changes to existing applications to implement the read-only global bucket locks. However, global buffers must be set on a data file to take advantage of the enhancement. Use the following DCL command, where n is the number of buffers: $ SET FILE/GLOBAL_BUFFER=n <filename> For information about specifying the number of buffers, refer to the OpenVMS DCL Dictionary. For general information about using global buffers, refer to the section entitled Using Global Buffers for Shared Files in the Guide to OpenVMS File Applications. In a mixed cluster environment where there may be high contention for specific buckets, the Alpha nodes that are using read-mode global bucket locking may dominate accesses to write-shared files, thereby preventing timely access by other nodes. With the new /CONTENTION_POLICY=keyword qualifier to the SET RMS_ DEFAULT command, you can specify the level of locking fairness at the process or system level for environments that experience high contention conditions. For more information about using the /CONTENTION_POLICY=keyword qualifier, refer to the SET RMS_DEFAULT section of the OpenVMS DCL Dictionary.
12. 1.2 - No Query Record Locking Option
This release introduces new functionality that can minimize record locking for read accesses to shared files, thereby avoiding the processing associated with record locking calls to the Lock Manager. In previous releases, if a file is opened allowing write sharing, an exclusive record lock is taken out for all record operations (both read and write). Applications may obtain record locking modes other than the exclusive lock (default) by specifying certain options to the RAB$L_ROP field. However, all the options involve some level of record locking. That is, the options require $ENQ or $DEQ system service calls to the Lock Manager. The user record locking options include the RAB$V_NLK (no lock) query locking option, which requests that RMS take out a lock to probe for status and not hold the lock for synchronization. If the lock is not granted (exclusive lock held) and the read- regardless (RAB$V_RRL) option is not set, the record access fails with an RMS$_RLK status. Otherwise, the record is returned with one of the following statuses: o RMS$_SUC - No other writers o RMS$_OK_RLK - Record can be read but not written o RMS$_OK_RRL - Exclusive lock is held (lock request denied) but the read-regardless (RAB$V_RRL) option is set When only the RAB$V_NLK option is specified, record access can be denied. When both the RAB$V_NLK and RAB$V_RRL options are specified, an application can guarantee the return of any record with a success or alternate success status. This release introduces the no query record locking option, which allows applications to read records (using $GET or $FIND services) without any consideration of record locking. This option: o Does not make a call to the Lock Manager o Is equivalent to both RAB$V_NLK and RAB$V_RRL being set except that the RMS$_OK_RLK or RMS$_OK_RRL status will not be returned This functionality is independent of bucket locks. It applies to both local and global buffers and to all three file organizations (sequential, relative, and indexed). Three alternate methods for specifying the no query record locking option are outlined in Methods Available for Specifying No Query Record Locking. Note the following: o The first method allows the option to be enabled externally, potentially without any application change. o You should use any of the methods only as appropriate for the application. In particular, you should check for any dependency in an existing application on the alternate success status RMS$_OK_RLK or RMS$_OK_RRL. Table 5-2 Methods Available for Specifying No Query Record Locking To... Use This Method... Disable query record Enter the following DCL command to request locking at the that RMS use no query record locking for process or system any read operation with both RAB$V_NLK level. and RAB$V_RRL options set in the RAB$L_ROP field: $ SET RMS_DEFAULT/QUERY_LOCK= DISABLE[/SYSTEM] Keys on RAB$V_NLK and RAB$V_RRL options in existing applications. Enable no query Set the RAB$V_NQL option in the RAB$W_ROP_ record locking on 2 field. a per-record read operation. The RAB$V_NQL option takes precedence over all other record locking options. Use only if the current read ($GET or $FIND) operation is not followed by an $UPDATE or $DELETE call. Enable no query Set the FAB$V_NQL option in the FAB$B_SHR record locking at field to request that RMS use no query the file level. locking for the entire period the file is open for any read record operation with both RAB$V_NLK and RAB$V_RRL options set in the RAB$L_ROP field. This option can be used with any combination of the other available FAB$B_ SHR sharing options. Keys on RAB$V_NLK and RAB$V_RRL options in applications. RMS precedence for the no query record locking option is as follows: o The RAB$V_NQL option set in the RAB$W_ROP_2 field o At file open (and applied, if RAB$V_NLK and RAB$V_RRL are set for the read operation): - The FAB$V_NQL option set in the FAB$B_SHR field - The SET RMS_DEFAULT/QUERY_LOCK=DISABLE setting at the process level - The SET RMS_DEFAULT/QUERY_LOCK=DISABLE setting at the system level. If the process /QUERY_LOCK setting equals SYSTEM_DEFAULT (the default when the process is created), RMS uses the system specified value. For more information, see OpenVMS Record Management Services Reference Manual.
12.2 - Record Locking Options
RMS uses the distributed Lock Manager ($ENQ system service) for record locking. To help prevent false deadlocks, the distributed Lock Manager uses the following flags for lock requests: Flag Purpose LCK$M_ When set, the lock management services do not NODLCKWT consider this lock when trying to detect deadlock conditions. LCK$M_ When set, the lock management services do not NODLCKBLK consider this lock as blocking other locks when trying to detect deadlock conditions. In previous releases, RMS did not set these flags in its record lock requests. With this release, you can optionally request that RMS set these flags in record lock requests by setting the corresponding options RAB$V_NODLCKWT and RAB$V_NODLCKBLK in the new RAB$W_ROP_2 field. For more information about using these options, refer to the flag information in the $ENQ section of the OpenVMS System Services Reference Manual: A-GETUAI.
13 - OpenVMS Registry |
Beginning in OpenVMS Version 7.3, the $REGISTRY system service and the OpenVMS Registry server have been enhanced to use the Intra-Cluster Communications (ICC) protocol. ICC provides a high-performance communication mechanism that is ideal for large transfers. Using ICC eases restrictions on the amount of data that can be transferred between the $REGISTRY system service and the Registry server. These restrictions previously prevented large key values from being stored and retrieved, and prevented full searches of large databases. The changes made in OpenVMS Version 7.3 result in an incompatibility between the OpenVMS Version 7.2 $REGISTRY service and Registry server and the OpenVMS Version 7.3 $REGISTRY service and Registry server. However, these changes substantially benefit OpenVMS customers in this release and in future releases, when we plan to further reduce these restrictions. Also in OpenVMS Version 7.3, registry operations are client/server based, and as such require some length of time for the server to respond to a request. If the server is too busy or the timeout value is too small, or both, the server will not respond in time and the $REGISTRY service will return a REG$_NORESPONSE error. This does not necessarily mean that the operation failed; it only means that the server was not able to respond before the time expired. Most operations complete immediately. However, Compaq recommends that you specify the timeout value be a minimum of 5 seconds. The new format of the $registry system service is: $REGISTRY [efn], func, [ntcredentials], itmlst, [iosb] [,astadr] [,astprm] [,timeout] Note that astadr, astprm and timeout are optional arguments. These optional arguments cannot be defaulted, which means that to specify the timeout argument, you must specify astadr and astprm (or specify them as 0). Some languages, such as Bliss and Macro, provide macros to do this for you.
13.1 - REG$CP Registry Utility
The REG$CP Registry Utility has been enhanced to use the timeout argument. REG$CP commands now support a /WAIT=numberofseconds qualifier, allowing you to specify the number of seconds to wait for the Registry Server to respond to the command. /WAIT is negatable (by using /NOWAIT). However, like the timeout argument, Compaq recommends that you specify a minimum of 5 seconds. The REG$CP Registry Utility has also been enhanced to display security descriptors. The LIST command can now be used to display the security descriptor associated with a particular key. This includes the security descriptor structure itself, and may also include Security Identifiers (SIDs), System Access-Control Lists (SACLs), and Discretionary Access-Control Lists (DACLs). You must have access to the key to display the security descriptor; in other words, you must have proper credentials to read the security information, or you must be suitably privileged. For more information, refer to the OpenVMS Connectivity Developer Guide, which is available on the OpenVMS Alpha CD-ROM in directory [COM_ALPHA_011A].
14 - Alpha SDA Commands, Parameters, and Qualifiers |
The OpenVMS Version 7.3 software release offers a number of new Alpha SDA commands, parameters, and qualifiers. OpenVMS Version 7.3 also offers many new parameters and qualifiers for existing commands. For more detailed information, refer to the OpenVMS Alpha System Analysis Tools Manual.
14.1 - New Alpha SDA Commands
The following section lists and defines the new System Dump Analyzer commands with their parameters and qualifiers.
14. 1.1 - DUMP
The DUMP command displays the contents of a range of memory formatted as a comma-separated variable (CSV) list, suitable for inclusion in a spreadsheet. The following table shows the parameter for the DUMP command: Parameter Meaning range The range of locations to be displayed. The range is specified in one of the following formats: Meaning m:n Range from address m to address n inclusive m;n Range from address m for n bytes The following table shows the qualifiers for the DUMP command: Qualifier Meaning /COUNT=[{ALL|records}] Gives the number of records to be displayed. The default is to display all records. /DECIMAL Outputs data as decimal values. /FORWARD Causes SDA to display the records in the history buffer in ascending address order. This is the default. /HEXADECIMAL Outputs data as hexadecimal values. This is the default. /INDEX_ARRAY [={LONGWORD Indicates to SDA that the range (default)|QUADWORD}] of addresses given is a vector of pointers to the records to be displayed. The vector can be a list of longwords (default) or quadwords. The size of the range must be an exact number of longwords or quadwords as appropriate. /INITIAL_POSITION Indicates to SDA which record is is the lowest addressed record if /FORWARD is used, and the highest addressed record if /REVERSE is used. The initial position may be given as a record number within the range, or the address at which the record is located. /LONGWORD Outputs each data item as a longword. This is the default. /PHYSICAL Indicates to SDA that all addresses (range and/or start position) are physical addresses. By default, virtual addresses are assumed. /QUADWORD Outputs each data item as a quadword. /RECORD_SIZE=size Indicates the size of each record within the history buffer, the default being 512 bytes. Note that this size must exactly divide into the total size of the address range to be displayed, unless /INDEX_ARRAY is specified. /REVERSE Causes SDA to display the records in the history buffer in descending address order.
14. 1.2 - SET_SYMBOLIZE
The SET SYMBOLIZE command enables or disables symbolization of addresses in the display from an EXAMINE command. The following shows the parameters for the SET SYMBOLIZE command: Parameter Meaning ON Enables symbolization of addresses OFF Disables symbolization of addresses There are no qualifiers for this command.
14. 1.3 - SHOW_MEMORY
The SHOW MEMORY command displays the availability and usage of those memory resources that are related to memory. There are no parameters for this command. The following shows the qualifiers for the SHOW MEMORY command, which are the same as for the existing DCL command: Qualifier Meaning /ALL Displays all available information; that is, information displayed by the /FILES, /PHYSICAL_PAGES, /POOL, and /SLOTS qualifiers. This is the default display. /BUFFER_OBJECTS Displays information about system resources used by buffer objects. /CACHE Displays information about the Virtual I/O Cache facility. The cache facility information is displayed as part of the SHOW MEMORY and SHOW MEMORY/CACHE/FULL commands. /FILES Displays information about the use of each paging and swapping file currently installed. /FULL Displays additional information about each pool area or paging or swapping file currently installed, when used with the /POOL or the /FILES qualifier. This qualifier is ignored unless the /FILES or the /POOL qualifier is specified explicitly. When used with the /CACHE qualifier, /FULL displays additional information about the use of the Virtual I/O Cache facility. /GH_REGIONS Displays information about the granularity hint regions (GHR) that have been established. For each of these regions, information is displayed about the size of the region, the amount of free memory, the amount of memory in use, and the amount of memory released to OpenVMS from the region. The granularity hint regions information is also displayed as part of SHOW MEMORY, SHOW MEMORY/ALL, and SHOW MEMORY/FULL commands. /PHYSICAL_PAGES Displays information about the amount of physical memory and the number of free and modified pages. /POOL Displays information about the usage of each dynamic memory (pool) area, including the amount of free space and the size of the largest contiguous block in each area. /RESERVED Displays information about memory reservations. /SLOTS Displays information about the availability of partition control block (PCB) vector slots and balance slots.
14. 1.4 - SHOW_RAD
The SHOW RAD command displays the settings and explanations of the RAD_SUPPORT system parameter fields, and the assignment of CPUs and memory to the Resource Affinity Domains (RADs). This command is only useful on platforms that support RADs. By default, the SHOW RAD command displays the settings of the RAD_ SUPPORT system parameter fields. The following shows the parameter for the SHOW RAD command: Parameter Meaning number Displays information on CPUs and memory for the specified RAD The following shows the qualifier for the SHOW RAD command: Qualifier Meaning /ALL Displays settings of the RAD_SUPPORT parameter fields and the CPU and memory assignments for all RADs
14. 1.5 - SHOW_TQE
The SHOW TQE command displays the entries in the Timer Queue. The default output is a summary display of all timer queue entries (TQEs) in chronological order. There are no parameters for this command. The following shows the qualifiers for the SHOW TQE command: Qualifier Meaning /ADDRESS=n Outputs a detailed display of the TQE at the specified address /ALL Outputs a detailed display of all TQEs /BACKLINK Outputs the display of TQEs, either detailed (/ALL) or brief (default), in reverse order, starting at the entry furthest into the future /PID=n Limits the display of the TQEs that affect the process with the specified internal PID /ROUTINE=n Limits the display of the TQEs for which the specified address is the fork PC
14. 1.6 - UNDEFINE
The UNDEFINE command causes SDA to remove the specified symbol from its symbol table. The following shows the parameter for the UNDEFINE command: Parameter Meaning symbol The name of the symbol to be deleted from SDA's symbol table. A symbol name is required. There are no qualifiers for this command.
14.2 - Parameters and Qualifiers for Existing Commands
The following section lists and defines new parameters and qualifiers for existing commands.
14. 2.1 - REPEAT
The REPEAT command has the following new parameter: Parameter Meaning count The number of times the previous command is to be repeated. The default is a single repeat. The REPEAT command has the following new qualifier: Qualifier Meaning /UNTIL=condition Defines a condition that terminates the REPEAT command. By default, there is no terminating condition.
14. 2.2 - SEARCH
The /STEPS qualifier of the SEARCH command now allows any step size. In addition to the keywords QUADWORD, LONGWORD (default), WORD, or BYTE, any value can be specified. Qualifier Meaning /STEPS={QUADWORD|LONGWORD|WORD Specifies the step factor of |BYTE|value} the search through the specified memory range. After the SEARCH command has performed the comparison between the value of expression and memory location, it adds the specified step factor to the address of the memory location. The resulting location is the next location to undergo the comparison. If you do not specify the /STEPS qualifier, the SEARCH command uses a step factor of a longword.
14. 2.3 - SET_OUTPUT
The SET OUTPUT command has the following new qualifiers: Qualifier Meaning /[NO]HEADER The /HEADER qualifier causes SDA to include a heading at the top of each page of the output file. This is the default. The /NOHEADER qualifier causes SDA to omit the page headings. Use of /NOHEADER implies /NOINDEX. /SINGLE_ Indicates to SDA that the output for a single COMMAND command is to be written to the specified file and that subsequent output should be written to the terminal.
14. 2.4 - SET_PROCESS
The SET PROCESS command has the following new qualifier: Qualifier Meaning /NEXT Causes SDA to locate the next valid process in the process list and select that process. If there are no further valid processes in the process list, SDA returns an error.
14. 2.5 - SHOW_DEVICE
The SHOW DEVICE command has the following new qualifiers: Qualifier Meaning /CDT=address Identifies the device by the address of its Connector Descriptor Table (CDT). This applies to cluster port devices only. /PDT Displays the Memory Channel Port Descriptor Table. This qualifier is ignored for devices other than memory channel. /UCB=ucb- This is a synonym for /ADDRESS=ucb-address. address
14. 2.6 - SHOW_GCT
The SHOW GCT command has the following new qualifier: Qualifier Meaning /CHILDREN When used with /ADDRESS=n or /HANDLE=n, the /CHILDREN qualifier causes SDA to display all nodes in the configuration tree that are children of the specified node.
14. 2.7 - SHOW_LOCK
The SHOW LOCK command's qualifier /STATUS has the following new keyword: Keyword Meaning DPC Indicates a delete pending cache lock
14. 2.8 - SHOW_PFN_DATA
The SHOW PFN_DATA command has the following new qualifier: Qualifier Meaning /RAD Displays data on the disposition of pages among [={n|ALL}] the Resource Affinity Domain on applicable systems
14. 2.9 - SHOW_POOL
The SHOW POOL command has the following new qualifiers: Qualifier Meaning /BRIEF Displays only general information about pool and its addresses. /CHECK Checks all free packets for POOLCHECK-style corruption, in exactly the same way that the system does when generating a POOLCHECK crashdump. /MAXIMUM_BYTES Displays only the first n bytes of a pool [=n] packet; default is 64 bytes. /STATISTICS [= Displays usage statistics about each lookaside ALL] list and the variable free list. For each lookaside list, its queue header address, packet size, the number of packets, attempts, fails, and deallocations are displayed. (If pool checking is disabled, the attempts, fails, and deallocations are not displayed.) For the variable free list, its queue header address, the number of packets and the size of the smallest and largest packets are displayed. /STATISTICS can be further qualified by using either /NONPAGED, /BAP, or /PAGED to display statistics for a specified pool area. (Note that for paged pool, only variable free list statistics are displayed.) If /STATISTICS is specified without the ALL keyword, only active lookaside lists are displayed. Use /STATISTICS = ALL to display all lookaside lists. /UNUSED Displays only variable free packets and lookaside list packets, not used packets.
14. 2.10 - SHOW_PROCESS
The SHOW PROCESS command has the following new qualifiers: Qualifier Meaning /FID_ONLY When used with /CHANNEL or /PROCESS_SECTION_ TABLE (/PST), the /FID_ONLY qualifier causes SDA to not attempt to translate the FID (File ID) to a file name when invoked with ANALYZE/SYSTEM. /GSTX=index When used with the /PAGE_TABLES qualifier, it causes SDA to only display page table entries for the specific global section. /IMAGES [= ALL] By default, /IMAGES now only displays the address of the image control block, the start and end addresses of the image, the activation code, the protected and shareable flags, the image name, and the major and minor IDs of the image. If /IMAGES = ALL qualifier is used, it also displays the base, end, image offset, and section type for installed resident images in use by this process. /NEXT Causes SDA to locate the next valid process in the process list and select that process. It there are no further valid processes in the process list, SDA returns an error. /PST This is a synonym for /PROCESS_SECTION_TABLE.
14. 2.11 - SHOW_RESOURCE
The SHOW RESOURCE command has the following new qualifier: Qualifier Meaning /OWNED Causes SDA to only display owned resources
14. 2.12 - SHOW_SPINLOCKS
The SHOW SPINLOCKS command has the following new qualifier: Qualifier Meaning /COUNTS Produces a display of Acquire, Spin, and Wait counts for each spinlock
14. 2.13 - SHOW_SUMMARY
The SHOW SUMMARY command has the following new qualifier: Qualifier Meaning /PROCESS_ Displays only processes with the specified NAME=process_name process name. Wildcards can be used in process_name, in which case SDA displays all matching processes. The default action is for SDA to display data for all processes, regardless of process name.
15 - SDA Commands for Spinlock Tracing |
The OpenVMS Version 7.3 software release includes the new Spinlock Tracing utility. With the implementation of this utility, you can now tell which spinlock is heavily used, and who is acquiring and releasing the contended spinlocks. The Spinlock Tracing utility allows a characterization of spinlock usage, as well as collection of performance data for a given spinlock on a per-CPU basis. The tracing ability can be enabled or disabled while the system is running, allowing the collection of spinlock data for a given period of time without system interruption. To use the Spinlock Tracing utility, SDA has implemented new commands and qualifiers. These SDA commands and qualifiers are described as follows:
15.1 - SPL_LOAD
This command loads the SPL$DEBUG execlet. This must be done prior to starting spinlock tracing. It has no qualifiers.
15.2 - SPL_SHOW_COLLECT
This command displays the data collected for a specific spinlock. It has no qualifiers.
15.3 - SPL_SHOW_TRACE
This command displays spinlock tracing information. Qualifiers for the SPL SHOW TRACE Command shows the qualifiers for this command. Table 5-3 Qualifiers for the SPL SHOW TRACE Command Qualifier Meaning /SPINLOCK=spinlock Specifies the display of a specific spinlock, for example, /SPINLOCK=LCKMGR or /SPINLOCK=SCHED. /NOSPINLOCK Specifies that no spinlock trace information be displayed. If omitted, all spinlock trace entries are decoded and displayed. /FORKLOCK=forklock Specifies the display of a specific forklock, for example, /FORKLOCK=IOLOCK8 or /FORKLOCK=IPL8. /NOFORKLOCK Specifies that no forklock trace information be displayed. If omitted, all fork trace entries are decoded and displayed. /ACQUIRE Displays any spinlock acquisitions. /NOACQUIRE Ignores any spinlock acquisitions. /RELEASE Displays any spinlock releases. /NORELEASE Ignores any spinlock releases. /WAIT Displays any spinwait operations. /NOWAIT Ignores any spinwait operations. /FRKDSPTH Displays all invocations of fork routines within the fork dispatcher. This is the default. /NOFRKDSPTH Ignores all of the operations of the /FRKDSPTH qualifier. /FRKEND Displays all returns from fork routines within the fork dispatcher. This is the default. /NOFRKEND Ignores all operations of the /FRKEND qualifier. /SUMMARY Stops the entire trace buffer and displays a summary of all spinlock and forklock activity. It also displays the top ten callers. /CPU=n Specifies the display of information for a specific CPU only, for example, /CPU=5 or /CPU=PRIMARY. By default, all trace entries for all CPUs are displayed. /TOP=n Displays a different number other than the top ten callers or fork PC. By default, the top ten are displayed. This qualifier is only useful when you also specify the /SUMMARY qualifier.
15.4 - SPL_START_COLLECT
This command accumulates information for a specific spinlock. Qualifiers for the SPL START COLLECT Command shows the qualifiers for this command: Table 5-4 Qualifiers for the SPL START COLLECT Command Qualifier Meaning /SPINLOCK=spinlock Specifies the tracing of a specific spinlock, for example, /SPINLOCK=LCKMGR or /SPINLOCK=SCHED /ADDRESS=n Specifies the tracing of a specific spinlock by address
15.5 - SPL_START_TRACE
This command enables spinlock tracing. Qualifiers for the SPL START TRACE Command shows the qualifiers for this command. Table 5-5 Qualifiers for the SPL START TRACE Command Qualifier Meaning /SPINLOCK=spinlock Specifies the tracing of a specific spinlock. /NOSPINLOCK Disables spinlock tracing and does not collect any spinlock data. If omitted, all spinlocks are traced. /FORKLOCK=forklock Specifies the tracing of a specific forklock, for example, /FORKLOCK=IOLOCK8 or /FORKLOCK=IPL8. /NOFORKLOCK Disables forklock tracing and does not collect any forklock data. If omitted, all forks are traced. /BUFFER=pages Specifies the size of the trace buffer (in Alpha page units). It defaults to 128 pages, which is equivalent to 1MB, if omitted. /ACQUIRE Traces any spinlock acquisitions. This is the default. /NOACQUIRE Ignores any spinlock acquisitions. /RELEASE Traces any spinlock releases. This is the default. /NORELEASE Ignores any spinlock releases. /WAIT Traces any spinwait operations. This is the default. /NOWAIT Ignores any spinwait operations. /FRKDSPTH Traces all invocations of fork routines within the fork dispatcher. This is the default. /NOFRKDSPTH Ignores all of the /FRKDSPTH operations. /FRKEND Traces all returns from fork routines within the fork dispatcher. This is the default. /NOFRKEND Ignores all of the operations of the /FRKEND qualifier. /CPU=n Specifies the tracing of a specific CPU only, for example, /CPU=5 or /CPU=PRIMARY. By default, all CPUs are traced.
15.6 - SPL_STOP_COLLECT
This command stops the spinlock collection, but does not stop spinlock tracing. It has no qualifiers.
15.7 - SPL_STOP_TRACE
This command disables spinlock tracing, but it does not deallocate the trace buffer. It has no qualifiers.
15.8 - SPL_UNLOAD
This command unloads and cleans up the SPL$DEBUG execlet. Tracing is automatically disabled and the trace buffer deallocated. It has no qualifiers. For more information, refer to the OpenVMS Alpha System Analysis Tools Manual.
16 - System Services |
The following table describes new and updated system services for OpenVMS Version 7.3. For additional information, refer to the OpenVMS System Services Reference Manual. System Service Documentation Update $CHECK_PRIVILEGES The description of the 'prvadr' argument has been updated. $CLRAST This service has been documented for Version 7.3. $DCLEXH The description has been updated, and a BASIC example has been added. $DELETE_INTRUSION This service has been updated in support of Clusterwide Intrusion. $DEVICE_PATH_SCAN This is a new service in support of Multipath. $DISMOU The following item codes have been added: DMT$M_MINICOPY_REQUIRED, DMT$M_MINICOPY_ OPTIONAL, and DMT$M_FORCE. $EXPREG The text for condition value, SS$_ILLPAGCNT, has been updated. $GETDVI The item codes, MT3_DENSITY and MT3_ SUPPORTED, have been added. The item codes, DVI$_FC_NODE_NAME, DVI$_FC_ PORT_NAME, and DVI$_WWID, have been added. The description for the DVI$_MOUNTCNT item code has been updated. $GETJPI The following item codes have been added: JPI$_RMS_DFMBC, JPI$_RMS_DFMBFIDX, JPI$_ RMS_DFMBFREL, JPI$_RMS_DFMBFSDK, JPI$_RMS_ DFMBFSMT, JPI$_RMS_DFMBFSUR, JPI$_RMS_DFNBC, JPI$_RMS_EXTEND_SIZE, JPI$_RMS_FILEPROT, and JPI$_RMS_PROLOGUE. The following item codes have been added for Multithreads support: JPI$_INITIAL_THREAD_ PID, JPI$_KT_COUNT, JPI$_MULTITHREAD, and JPI$_THREAD_INDEX. The code example has been updated for VAX and Alpha usage. $GETRMI This is a new service in support of Performance API. $GETQUI The item code, QUI$V_JOB_REQUEUE, has been added. $GETSYI The item code, SYI$_SERIAL_NUMBER, has been added. $IO_PERFORM The 'porint' argument in the format section has been changed to 'devdata, to match the C prototype. $MGBLSC The text for the 'inadr' argument has been updated, and the SS$_INVARG condition value has been added. $MOUNT The following item codes have been added: MNT$M_MINICOPY_OPTIONAL, MNT$M_MINICOPY_ REQUIRED, MNT$M_REQUIRE_MEMBERS, and MNT$M_ VERIFY_LABELS. $PERSONA_QUERY Tables for Common, General, and NT item codes have been added. $PROCESS_SCAN The following item codes have been added for Multithreads support: PSCAN$_KT_COUNT and PSCAN$_MULTITHREAD. $REGISTRY This service is now documented in the OpenVMS System Services Reference Manual: GETUTC-Z and online help. $SCAN_INTRUSION This service has been updated in support of Clusterwide Intrusion. $SCHED The condition value, SS$_INCLASS, has been added, and SS$_ILLSER has been deleted. $SET_DEVICE This is a new service in support of Multipath. $SET_SECURITY The condition value, SS$_INVFILFOROP, has been added. $SET_SYSTEM_EVENT A new item code, SYSEVT$C_TDF_CHANGE, has been added. $SHOW_INTRUSION This service has been updated in support of Clusterwide Intrusion. $WAKE This service now accepts 64-bit addresses.
17 - TCPIP Files for SDA READ |
Modules Containing Global Symbols and Data Structures Used by SDA shows the TCP/IP files that contain global symbols for the VAX and Alpha SDA READ commands. Table 5-6 Modules Containing Global Symbols and Data Structures Used by SDA File Contents TCPIP$NET_GLOBALS.STB Contains data structure definitions for TCP/IP Internet driver, execlet, and ACP data structures TCPIP$NFS_GLOBALS.STB Contains data structure definitions for TCP/IP NFS server TCPIP$PROXY_ Contains data structure definitions for GLOBALS.STB TCP/IP proxy execlet TCPIP$PWIP_GLOBALS.STB Contains data structure definitions for TCP/IP PWIP driver, and ACP data structures TCPIP$TN_GLOBALS.STB Contains data structure definitions for TCP/IP TELNET/RLOGIN server driver data structures These files are only available if TCP/IP services has been installed. They are found in SYS$SYSTEM, and are not automatically read in when you issue a READ/EXEC command. Modules Defining Global Locations Within the Executive Image shows the TCP/IP files that define global locations within the Executive Image for the VAX SDA command. Table 5-7 Modules Defining Global Locations Within the Executive Image File Contents TCPIP$BGDRIVER.STB TCP/IP Internet driver TCPIP$INETACP.STB TCP/IP Internet ACP TCPIP$INTERNET_ TCP/IP Internet execlet SERVICES.STB TCPIP$NFS_SERVICES.STB Symbols for the TCP/IP NFS server TCPIP$PROXY_ Symbols for the TCP/IP proxy execlet SERVICES.STB TCPIP$PWIPACP.STB TCP/IP PWIP ACP TCPIP$PWIPDRIVER.STB TCP/IP PWIP driver TCPIP$TNDRIVER.STB TCP/IP TELNET/RLOGIN server driver These files are only available if TCP/IP services has been installed. They are found in SYS$SYSTEM, and are not automatically read in when you issue a READ/EXEC command. For more detailed information, refer to the OpenVMS VAX System Dump Analyzer Utility Manual and the OpenVMS Alpha System Analysis Tools Manual.
18 - Visual Threads Version 2.1 (Alpha) |
Visual Threads is a unique tool that lets you debug and analyze multithreaded applications. You can use Visual Threads to automatically diagnose common problems associated with multithreading including deadlock, mutex, and thread usage errors. Also, you can use Visual Threads to monitor the thread- related performance of an application, helping you to identify bottlenecks or locking granularity problems. Visual Threads helps you identify problem areas in an application even if the application does not show specific symptoms. Visual Threads includes the following features: o Collects detailed information about significant thread-related state changes ("events"). o Analyzes common threading problems automatically based on predefined rules applied to the event stream. o Rule customization for application-specific parameters and actions. o Automatic statistics gathering, by sampling the event stream. o Categories of analysis: data protection errors (race conditions), deadlocks, programming errors, lock activity, performance. o Graphical visualization of the frequency of thread-related events and thread state, snapshots of historical program state, and object-specific graphs for each collected statistic. o Lock activity profiling to reveal where various types of lock activity are occurring in your application, including: Number of Locks, Contended Locks, Locked Time, and Wait Time. Lock activity is collected and displayed for individual locks. o Summarizes the program run and provides reports. o Threads Snapshot view displays the historical state of threads represented at specific times in the main thread overview graph. o Find and Filter support in the Event Window to allow you to quickly locate particular events. o CPU Utilization Window shows the CPU percentage used by each thread. o Thread Transitions Window depicts each state change for a detailed view. For more information about these features, refer to the Visual Threads product documentation, which is available on the OpenVMS Alpha CD-ROM in directory [VISUAL_THREADS_021], or by using the online Help system.
|