Basic Direct Access Method, or BDAM is an
access method
An access method is a function of a mainframe operating system that enables access to data on disk, tape or other external devices. Access methods were present in several mainframe operating systems since the late 1950s, under a variety of name ...
for IBM's
OS/360 and successors
OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was influenced by the earlier IBSYS/IBJO ...
computer
operating systems
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
on
System/360
The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applic ...
and later
mainframes
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterpris ...
. BDAM "consists of routines used in retrieving data from, and storing data onto,
direct access devices."
BDAM is available on
OS/360
OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was influenced by the earlier IBSYS/IBJOB ...
,
OS/VS2 Operating System/Virtual Storage 2 (OS/VS2) is the successor operating system to OS/360 MVT in the OS/360
OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for thei ...
,
MVS
Multiple Virtual Storage, more commonly called MVS, was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated ...
,
z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
...
, and related high-end operating systems.
Description
''Basic'', in IBM terminology, indicates a lower-level access method that deals with
data sets A data set (or dataset) is a collection of data. In the case of tabular data, a data set corresponds to one or more table (database), database tables, where every column (database), column of a table represents a particular Variable (computer scienc ...
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
Key or The Key may refer to:
Common meanings
* Key (cryptography), a piece of information that controls the operation of a cryptography algorithm
* Key (lock), device used to control access to places or facilities restricted by a lock
* Key (ma ...
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
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
and
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
.
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.
Application program interface
The programmer specifies
DSORG=DA
in his
Data Control Block In IBM mainframe operating systems, such as OS/360, MVS, z/OS, a Data Control Block (DCB) is a description of a dataset in a program. A DCB is coded in Assembler programs using the DCB macro instruction (which expands into a large number of " ...
(DCB) to indicate use of BDAM. Space can be in up to 16
extents on each
volume
Volume is a measure of occupied three-dimensional space. It is often quantified numerically using SI derived units (such as the cubic metre and litre) or by various imperial or US customary units (such as the gallon, quart, cubic inch). Th ...
. The data set (equivalent to a "file") can reside in up to 255 extents across multiple volumes. If the application has a dependency on the space being on contiguous tracks, you can allocate space for the direct data set in
contiguous
Contiguity or contiguous may refer to:
*Contiguous data storage, in computer science
* Contiguity (probability theory)
*Contiguity (psychology)
* Contiguous distribution of species, in biogeography
*Geographic contiguity of territorial land
*Conti ...
tracks by coding
SPACE=(,,CONTIG)
on the DD statement.
Direct data sets must be preformatted before use by opening them as output and writing all the blocks sequentially. This can load all "dummy" records or load initial data.
[CICS and BDAM](_blank)
IBM infocenter
As a ''basic'' access method BDAM reads and writes member data in
blocks and the I/O operation proceeds
asynchronously
Asynchrony is the state of not being in synchronization.
Asynchrony or asynchronous may refer to:
Electronics and computing
* Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal wit ...
and must be tested for completion using the
CHECK
macro.
BDAM uses the standard system macros
OPEN
,
CLOSE
,
READ
,
WRITE
,and
CHECK
. The
READ
or
WRITE
macro instruction
In computer programming, a macro (short for "macro instruction"; ) is a rule or pattern that specifies how a certain input should be mapped to a replacement output. Applying a macro to an input is known as macro expansion. The input and output ...
s must provide the block address or key of the desired record. The
CHECK
macro has to be used to wait for completion of a specific operation before the data can be accessed or the
data buffer
In computer science, a data buffer (or just buffer) is a region of a memory used to temporarily store data while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device (such a ...
reused. It is possible to start multiple input/output operations to run concurrently.
Records in a direct data set can contain user-specified ''recorded keys'' of up to 255 bytes—all keys in a file must be the same length. Reads and writes can specify a key in addition to a disk address, and BDAM will search starting at the requested block up to the entire area of the file for a record with a matching key.
This allows multiple keys
hashing
Hash, hashes, hash mark, or hashing may refer to:
Substances
* Hash (food), a coarse mixture of ingredients
* Hash, a nickname for hashish, a cannabis product
Hash mark
* Hash mark (sports), a marking on hockey rinks and gridiron football fiel ...
to the same track to be handled automatically by the I/O subsystem.
Disk addresses
BDAM accepts disk addresses as either actual device addresses, as relative track addresses, or as relative block numbers.
Device addresses are eight byte fields in the form MBBCCHHR. All subfields are binary numbers.
* M is the ''extent number'' for files with more than one ''extent'' (non-contiguous files).
* BB is zero. Previously this indicated the ''bin'' on an
IBM 2321 Data Cell
The IBM 2321 Data Cell announced in April 1964 (withdrawn January 1975) is a discontinued direct access storage device (DASD) for the IBM System/360. It holds up to 400 megabytes of data, with an access time of 95 milliseconds to 600 millisecond ...
.
* CC is the absolute cylinder number on the device.
* HH is the track (head) number.
* R is the record number on the track. Record zero contains control information for the track and can not be used.
Specifying device addresses makes the dataset ''unmovable''.
Relative track addresses are three byte fields in the form TTR. All subfields are binary numbers.
* TT is the relative track number in the file, starting with zero.
* R is the record number on the track.
Relative block numbers are four byte (fullword) binary numbers indicating the block number in the file. The first block is block 0. This form of addressing can only be used with fixed length blocks (
RECFM=F
).
See also
*
Count Key Data
Count key data (CKD) is a direct-access storage device (DASD) data recording format introduced in 1964, by IBM with its IBM System/360 and still being emulated on IBM mainframes. It is a self-defining format with each data record represented by a ...
References
External links
*
{{Mainframe I/O access methods
IBM mainframe operating systems
Computer file formats