The term access method is frequently used to identify types of I/O in open systems. Many who use it probably don’t understand the historical context for what has been known as an access method for over 50 years. In open systems, the types of I/O are for block data, file data, and object data. Access methods represent how the types of data are stored on devices.
The term access method comes from the mainframe world and denotes a number of well known (at least to those who have worked with mainframes) means to store or access information. Access methods are really software routines accessed by application programs using software commands that are inline calls to system functions. You can call these Application Program Interfaces (APIs). The closest equivalent function in open systems would be a device driver.
There are many types of access methods and most deal with how data is organized, usually in the form of records, which are typically fixed length blocks of data in a dataset.
Some the familiar access methods for storage in the mainframe world include:
- BSAM – Basic Sequential Access Method
- QSAM – Queued Sequential Access Method
- BDAM – Basic Direct Access Method
- BPAM – Basic Partitioned Access Method
- ISAM – Index Sequential Access Method
- VSAM – Virtual Storage Access Method
- OAM – Object Access Method
An example of doing I/O in an application in QSAM would be to set up buffers in memory for queued I/O (multiple records in a block) and then do a GET or PUT. Interestingly, the basic I/O for S3 object access is GET and PUT.
Open systems access methods are termed:
- Block – individual blocks of data are read or written from/to storage
- File – a stream of bytes that represent a file with associated file metadata is written or read within the organization of a hierarchical tree structure.
- Object – data segments and user or system-defined metadata is stored in a flat namespace with access through object ID resolution.
The open systems access methods don’t map directly to those in the mainframe world, but you can understand them if you know the mainframe methods. The term access method in open systems isn’t wrong, it just means a slightly different thing. Translating between the two will help understand the meaning.
(Randy Kerns is Senior Strategist at Evaluator Group, an IT analyst firm).