BPAM
   HOME

TheInfoList



OR:

In IBM mainframe
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s, basic partitioned access method (BPAM) 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 nam ...
for libraries, called
partitioned dataset In the context of IBM mainframe computers in the S/360 line, a data set (IBM preferred) or dataset is a computer file having a record organization. Use of this term began with, e.g., DOS/360, OS/360, and is still used by their successors, incl ...
s (PDSes) in IBM terminology. BPAM is used in OS/360,
OS/VS2 Operating System/Virtual Storage 2 (OS/VS2) is the successor operating system to OS/360 MVT in the OS/360 family. * SVS refers to OS/VS2 Release 1 *MVS Multiple Virtual Storage, more commonly called MVS, was the most commonly used operating s ...
,
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, and others. A PDS consists of members (internally identical to sequential data sets), registered in a list called the ''directory''. The combination of members and directory is a single dataset on disk. The directory contains a list of member's names (8 characters, padded on the right with blanks, as required) and member's addresses. Addresses are relative to the start of the dataset in order to allow the PDS to be moved to a different disk location. Partitioned datasets can store any type of data, but they are often used to store executable programs, or ''load modules'', sometimes called binaries in other systems. Other uses include system assembler macro definitions, job control procedures, and program source code.


Application program interface

BPAM provides an
application program interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
(API) to allow programmers to access libraries directly. The BPAM API is similar to basic sequential access method (BSAM), but it adds functionality to process directories. Individual members of a PDS can also be processed using sequential access methods by specifying the member name on the job control ''DD'' statement. The programmer specifies DSORG=PO in their
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 "define ...
(DCB) to indicate use of BPAM. As a ''basic'' access method BPAM reads and writes member data in blocks and the I/O operation proceeds asynchronously and must be tested for completion using the CHECK macro. BPAM uses the standard system macros OPEN, CLOSE, READ, WRITE,and CHECK. The NOTE macro instruction returns position of the last block read or written, and the POINT macro will reposition to the location identified by a previous NOTE. The BLDL macro can be used to build a list of the addresses of members specified by the programmer for later use, if desired. FIND positions to a single member, specified by name, which requires a directory lookup on disk, or by address previously retrieved by BLDL. The STOW macro is used to update the directory when a member is added, deleted, changed (including renamed), or replaced.


Load modules

The operating system requires all executable programs to be stored in libraries because the member's directory entry contains additional attribute information specific to load modules. When used for storing load modules, directories also contain, among other data, the size of the load module and the address of the first "text record", which is different from the address of the first member data. Executable programs are written to libraries by the linkage editor and loaded into user-acquired storage by the Loader (an application program) or into system-acquired storage by Program Fetch (a component of the OS
supervisor A supervisor, or lead, (also known as foreman, boss, overseer, facilitator, monitor, area coordinator, line-manager or sometimes gaffer) is the job title of a lower-level management position that is primarily based on authority over workers or ...
). The Linkage Editor organizes a load module in a specialized format consisting of alternating "text records" and "control/relocation dictionary records". This organization allows a load module to be completely loaded and relocated with one input/output operation by Program Fetch ( EXCP on pre-MVS systems, or STARTIO on MVS/370 and later systems).


References

{{Mainframe I/O access methods IBM mainframe operating systems Computer file systems