HP OpenVMS Systems Documentation

Content starts here

The OpenVMS Frequently Asked Questions (FAQ)

Previous Contents Index

2.15 What resources are available to OpenVMS software developers?

The HP Developer and Software Product Partner (DSPP) program is open to and intended to support and to assist HP OpenVMS software partners, consultants, and service providers:

DSPP provides members with various benefits, please see the website for details.

For those not familiar with the DSPP program or with its history, the DIGITAL Association of Software and Application Partners (ASAP) program and the DIGITAL Independent Software Vendors Network (ISVN) program were incorporated into the Compaq CSA program, and the CSA program has subsequently been incorporated into the HP DSPP program.

Please see Section 2.8.3 for additional details on the DSPP program.

2.16 memory management, resource management, process scheduling, etc?

So you have been instructed to write a school research paper on OpenVMS, and you need technical content on the OpenVMS Virtual Memory System, on any memory segmentation, on OpenVMS Resource Management, on the OpenVMS File System, on the OpenVMS user interface, etc.

Invariably, your professor/instructor/teacher will ask you a series of questions. Most commonly, the questions will request descriptions of one or more of the following items, and at varying levels of detail:

  • process scheduling algorithm(s)
  • Interprocess comunications
  • Process or system synchronization constructs
  • Memory management and/or virtual memory implementation
  • RMS or XQP file structures
  • Resource management
  • History of HP OpenVMS
  • History of Compaq and/or of Digital Equipment Corporation (DEC)

Any particular presentation or research paper, and particularly a scholastic presentation, can have many different potential target audiences, and very different presentation levels. Further, the usual underlying reason for scholastic presentations and scholastic research projects really has little to do with the subject matter, it is a task specifically intended to teach the student(s) (eg: you) how to perform the research. The instructor already knows most of (all of?) the information that you have been asked to collect.

For very technical details on OpenVMS and OpenVMS internals, the book you want is the Internals and Data Structures Manual (IDSM), available in your school or computing center library, and the IDSM can also be purchased. Additional technical details of the Alpha microprocessor are available in the Alpha Architecture Reference Manual documentation that is available for download. (Pointers to Alpha technical documentation are available in Section 14.6, and elsewhere.)

For higher-level (less technical) details, the OpenVMS documentation set is available on-line. The Programming Concepts and the File Systems manual are probably the best manuals to start with, depending on the particular level of detail the research requires.

And please understand the hesitation of various folks to provide you with a completely-written research report on your topic. Why? We might have to work with you after you graduate---you need to know how to perform at least basic research on your own, regardless of the topic.

2.17 Basic Units of Measurement?

OpenVMS and the underlying hardware use various units of measurement for disk and memory storage, and related abbreviations also typically exist. This section covers the most common units, and the associated abbreviations.

2.17.1 How many bytes are in a disk block?

A disk block is the minimum unit of disk storage allocation in OpenVMS.

Under OpenVMS VAX and OpenVMS Alpha, the disk volume block size is consistent, with each block containing 512 bytes.

The minimum disk allocation granularity actually permissible (in the ODS-2 and ODS-5 volume structures commonly used on OpenVMS) is determined on a per-volume basis, and is typically based on a combination of the total number blocks on the disk volume and the total size of the volume storage bitmap. The allocation granularity is known as the volume cluster factor---the cluster factor is the number of blocks in a disk cluster, and it is the smallest number of blocks that can be allocated on a particular disk volume.

Prior to OpenVMS V7.2, the maximum permissible size of the bitmap requires larger cluster factors as volume sizes increase. Starting with V7.2, the bitmap can be larger, and cluster factors as small as one block can be used.

The number of bytes in a file can be determined by multiplying the number of blocks allocated for the file times the number of bytes in a block. For sequential files (only), the FFB (XAB$W_FFB, in the File Header XAB) value can be used to find out how much of the last (XAB$L_EBK) block is used. FFB and EBK are meaningful only for sequential files, and only in a limited context---partial block allocations are not permitted. For other file formats, the EOF marker is not meaningful.

Disk allocations always occur only in units of the cluster factors, which can be from one block up to (potentially) clusters of eighteen blocks or more, depending on the volume cluster factor. (OpenVMS V7.2 and later optionally provide for a cluster factor of one up to volumes of approximately 137 gigabytes.)

OpenVMS assumes that the device driver and the underlying storage device will present the file system with addressable units of storage of 512 bytes in size, or the appearance of same. Various third-party CD-ROM devices, for instance, support only 2048 byte blocks, and such devices are incompatible with the standard OpenVMS device drivers.

To determine the number of bytes required for a file from DCL, one option uses the f$file_attributes item EOF, multiplied by the size of a block in bytes (512). This does not account for the unused space in the last block of a sequential file, but it also does not have to differentiate sequential files from other files.

2.17.2 How many bytes are in a memory page?

A memory page is the minimum unit of memory allocation in OpenVMS. With OpenVMS VAX, the memory page size matches the disk block size: it is always 512 bytes.

With OpenVMS Alpha, the memory page size is variable, and it can range from 8192 bytes (8 kilobytes) up to 64 kilobytes. The current system page size can be determined using the sys$getsyi or f$getsyi PAGE_SIZE item. Programs with hardcoded constants for the memory page size (or page alignment) should always assume a page size of 64 kilobytes.

On OpenVMS I64, the memory page size is also variable, ranging from 4096 bytes (4 kilobytes) up to 256 megabytes (MB) and potentially up to 4 gigabytes (GB). As with OpenVMS Alpha, sys$getsyi and f$getsyi and the PAGE_SIZE itemcode can and should be used to determine the current system page size. In general, OpenVMS I64 will use a page size of 8 kilobytes, or larger.

On OpenVMS Alpha and on OpenVMS I64, a 512 byte area of memory--- equivalent in size to an OpenVMS VAX memory page---is often refered to as a "pagelet".

2.17.3 How do I convert? Disk Blocks? KB, MB, GB, TB?

The smallest granularity of disk storage addressing is called a disk block, or sometimes a disk sector. Groups of disk blocks are usually organized together into the smallest unit of storage that can be allocated, and this unit is called a disk cluster. The number of blocks in a cluster is the cluster factor, and is established when the disk volume is initialized.

Each individual disk block is composed of five hundred twelve (512) bytes, or one-half kilobyte. Each byte is comprised of eight bits. A bit represents the smallest unit of information, typically refered to as a one or a zero.

OpenVMS tends to uses base two notation for disk storage, while disk storage capacity specifications from most storage vendors will generally use base ten notation.

An OpenVMS disk block is 512 bytes in size; this is one-half kilobyte in base two notation.

The following table describes the prefix, the abbreviation, and the associated base ten (as used by marketing and by storage vendors) and base two (OpenVMS and various other operating systems) values.

          Base Ten                           Base Two
          --------------------------------   -------------------------
Kilobyte  (KB)  10**3                 1000   2**10                1024
Megabyte  (MB)  10**6              1000000   2**20             1048576
Gigabyte  (GB)  10**9           1000000000   2**30          1073741824
Terabyte  (TB)  10**12       1000000000000   2**40       1099511627776
Petabyte  (PB)  10**15    1000000000000000   2**50    1125899906842624
Exabyte   (EB)  10**18 1000000000000000000   2**60 1152921504606846976

The base ten representation of the 2**40 value is 1099511627776, which is obviously rather ugly. When viewed as a base eight or base sixteen (octal or hexadecimal, respectively) value, the value is far nicer. Specifically, the value is 10000000000 and 40000000 when represented in octal and hexadecimal, respectively.

FAQ Notation

Within the OpenVMS FAQ, a thousand bits (either assuming base two or base ten, as determined by the context) is refered to as a kilobit, and is always represented by the appreviation Kb, while a thousand bytes is refered to as a kilobyte and is always abbreviated as KB. Similar notational usage also holds for Megabits (Mb) and Megabytes (MB), and for the various other units.

OpenVMS operating system references to system and storage are generally to the base-two version (eg: 1024, in the case of a kilobyte or kilobit) while storage hardware references and hardware specifications are generally to the base-ten version (eg: 1000).

To convert OpenVMS disk blocks to (base two) kilobytes (KB; 1024 bytes), simply divide by two. To convert blocks to (base two) megabytes, divide by 2048. Blocks to (base two) gigabytes (GB), divide by 2097152. These particular divisions can also be performed using bitshifts: to divide a value by two, shift the binary value rightward by one bit position.

To convert OpenVMS disk blocks to (base ten) kilobytes, divide by approximately 1.953125.

For those folks with an interest in odd applications for prefixes, and particularly for those folks also rummaging around deep within the OpenVMS operating system, a microfortnight is approximately one second.

Chapter 3

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

3.1 Where can I find online copies of OpenVMS manuals?

The HP OpenVMS and HP Layered Product documentation is copyrighted material.

HTML format on-line product documentation sets for specific HP OpenVMS products are presently available at:

Documentation is offered on separately orderable CD-ROM media through a subscription to the Consolidated On-Line Documentation (ConOLD) product (see Section 2.6.) ConOLD manuals are readable with BNU, a viewer that is supplied with the documentation distribution. BNU can display HTML, Bookreader, and documentation in other formats.

MGBOOK, a viewer for Bookreader-format documentation is available for character-cell terminals (eg. VTxxx) via the WKU VMS Freeware file server -- see question Section 13.1 for details.

Information on the XPDF DECwindows PDF viewer for OpenVMS is available in Section 13.1, and XPDF kits are available on various Freeware distributions. An alternative on OpenVMS Alpha uses the Adobe Java PDF viewer, though this viewer is generally considered to be both slower and more resource-intensive when compared to the XPDF viewer.

3.2 What online information and websites are available?

On your OpenVMS system, the HELP command can provide a wealth of information, not only on DCL commands but on system services (HELP System_Services) and Run-Time Library routines (HELP RTL_Routines). The introduction displayed when you type the HELP command with no additional keywords provides further pointers.

OpenVMS Marketing runs a web server at http://www.hp.com/go/openvms/

Here, you will find product information, strategy documents, product roadmaps, the contents of the latest OpenVMS Freeware CD-ROM and more.

Table 3-1 OpenVMS Websites
URL Sponsor
HP OpenVMS Marketing
Encompass DFWCUG
Arne Vajhøj
Saiga Systems
Wayne Sewell
proGIS Software
Jeff Cameron
David Mathog's (quite useful) information about OpenVMS.
"The Beave"
Includes system cracking information that can be of interest to OpenVMS System Managers, and to OpenVMS Network and Security Managers. This information is available at the Deathrow cluster.
Undocumented Features
DECUS Deutschland
Arne Vajhøj
The OpenVMS Freeware contains various examples of undocumented features and interfaces
Comparisons of UNIX and Linux shell commands and DCL Commands
Comparisons of emacs and OpenVMS text editor commands
  Please see Table 3-2 for listings of introductory web sites and related materials.
An OpenVMS Programming FAQ
Tutorial information and tips for connecting OpenVMS systems to the Internet
Documentation and Specifications for DECnet Phase IV, DECnet task-to-task DCL examples, and a whole lot more.
HP OpenVMS Documentation
  Please see Table 3-2 for listings of documentation web sites and related materials.
System Performance
  See Section 14.2.
Patch (ECO) Kits
  For the HP Services FTP server hosting Various contract-access and non-contract access ECO (patch) kits, see section Section 5.17.
Catalogs and Pricing
HP Product QuickSpecs and product information
The HP Systems and Options Catalog (SOC) archive
Hardware and Software Archives
The VAXarchive, including hardware and software information
A VAX to Alpha upgrade diary
Scanned versions of old DIGITAL manuals from DFWCUG
A wide variety of HP VAX, Alpha, platform and other product documentation. Some introductory, some technical.
dtrwiz's Datatrieve website

Previous Next Contents Index