Queued Sequential Access Method

In IBM mainframe operating systems, Queued Sequential Access Method (QSAM) is an access method to read and write datasets sequentially. QSAM is available on OS/360, OS/VS2, MVS, z/OS, and related operating systems.

QSAM is used both for devices that are naturally sequential, such as punched card readers and punches and line printers, and for data on devices that could also be addressed directly, such as magnetic disks. QSAM offers device independence: to the extent possible, the same API calls are used for different devices.

QSAM is—as its name says—queued, in this specific context meaning buffered with deblocking of reads and blocking of writes. It allows programs to read and write logical records within physical blocks of data, as opposed to the less advanced basic sequential access method (BSAM) which allows programs to access physical blocks of data, but provides no support for accessing logical records within blocks.

QSAM manages truncated final blocks and truncated embedded blocks completely transparently to the user.

The QSAM application program interface can be compared with the interface offered by open, read, write and close calls (using file handles) in other operating systems such as Unix and Windows.