Access method
An access method refers to a feature within a mainframe operating system that facilitates data retrieval and storage on disks, tapes, or other external hardware. These access methods have been integral to mainframe OSs since the late 1950s, with the term access method first appearing in IBM's OS/360 in 1963. They serve as an application programming interface (API) enabling data exchange between devices and applications, delivering capabilities beyond those of standard device drivers found in non-mainframe environments.
Purpose of access methods
In System/360 and its successors, specialized processors called I/O channels manage peripheral storage devices and handle data transfers to and from main memory. These channels execute "channel programs" made up of channel command words (CCWs), which demand extensive hardware-specific programming expertise. The operating system triggers these programs using a START IO instruction, commonly issued via the Execute Channel Program (EXCP) macro that invokes a supervisor call (SVC) to oversee I/O operations on behalf of applications.
Access methods bring several significant business benefits:
- Streamlined development—programmers do not need to manage device-specific logic or intricate error handling. Applications can work with standardized record formats regardless of the underlying storage device.
- Device independence—software remains consistent when migrating data across newer storage technologies that support the same access methods.
- Controlled multi-program access—trusted access methods allow concurrent file sharing by multiple programs, maintaining data security and integrity.
- Enhanced throughput—queued access methods can launch multiple I/O requests concurrently using available buffers, anticipating application requirements for improved performance.
Unlike Unix-like systems that treat files as simple streams of bytes without formatting, mainframes accommodate various data formats (including different record types and lengths) and diverse access methods such as keyed records. Access methods address this complexity by supporting:
- Both synchronous (queued) and asynchronous (basic) I/O approaches.
- Configurable buffer sizes and quantities per file, with buffer pools shared across files to optimize data handling without redundant memory copying.
- Tailored error recovery mechanisms during I/O failures.
Storage access methods
The following storage-oriented access methods are listed roughly in order of their introduction:
- BDAM - Basic direct access method
- BSAM - Basic sequential access method
- QSAM - Queued sequential access method
- BPAM - Basic partitioned access method
- ISAM - Indexed sequential access method
- VSAM - Virtual storage access method, launched alongside OS/VS
- OAM - Object access method, debuted with MVS/SP (1989)
- Distributed Data Management Architecture - access methods designed for distributed file management.
Basic versus queued
Basic access methods handle one physical record (block) per operation, whereas queued methods incorporate internal blocking and often implement read-ahead techniques. While queued methods typically provide superior performance, basic methods offer greater operational flexibility.
Sequential versus direct
Sequential access involves processing records in a fixed order, which is characteristic of storage media such as magnetic tape. In contrast, direct (or random) access permits retrieval of data in a non-linear fashion, a feature typical of disk drives (direct access storage devices). It is possible to access data sets initially stored sequentially through direct methods afterward.
Networking access methods
The evolution of network-based access methods, roughly in chronological sequence, includes:
- BTAM – Basic telecommunications access method
- QTAM – Queued teleprocessing access method
- TCAM – Telecommunications access method
- VTAM – Virtual telecommunications access method, introduced with OS/VS
- TCP/IP for MVS – Transmission Control Protocol/Internet Protocol
IMS
Within the context of the IBM Information Management System (IMS), "access methods" refer specifically to techniques used for managing database record segments. These comprise:
- Generalized Sequential Access Method (GSAM)
- Hierarchical Direct Access Method (HDAM)
- Hierarchical Indexed Direct Access Method (HIDAM)
- Hierarchical Indexed Sequential Access Method (HISAM)
- Hierarchical Sequential Access Method (HSAM)
- Overflow sequential access method (OSAM)
- Partitioned Hierarchical Direct Access Method (PHDAM)
- Partitioned Hierarchical Indexed Direct Access Method (PHIDAM)
- Partitioned Secondary Index (PSIMDEX)
- Simple Hierarchical Sequential Access Method (SHSAM)
- Simple Hierarchical Indexed Sequential Access Method (SHISAM)
This definition of "access method" is distinct from the storage and networking approaches described earlier.
Modern implementations
In the z/OS environment, management of access methods is handled primarily by two components:
- Data Facility Product
- Communications Server