Basic Direct Access Method, or BDAM is an access method for IBM's OS/360 and successors computer operating systems on System/360 and later mainframes. BDAM "consists of routines used in retrieving data from, and storing data onto, direct access devices." BDAM is available on OS/360, OS/VS2, MVS, z/OS, and related high-end operating systems.
Basic, in IBM terminology, indicates a lower-level access method that deals with data sets in terms of physical blocks and does not provide either read-ahead, called anticipatory buffering, or synchronization — that is, the user program has to explicitly wait for completion of each input/output event.
With BDAM, "the programmer can directly store and retrieve a block by specifying either its actual device address, its relative position within a data set (relative block number), or the relative track within a data set at which the system is to begin a search.
BDAM provides no index or structure to the file except as programmed by the application. In many applications, a hashing or randomizing function may be used to assign the block address based on a key in the data. If physical keys are used, the key of the last record within the block must be written as the key for that block.
The BDAM 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.
BDAM is still supported by IBM as of 2012. Because of its dependence on physical device geometry new IBM direct-access devices used with z/OS emulate IBM 3390 devices regardless of their real physical characteristics.