MarketBasic partitioned access method
Company Profile

Basic partitioned access method

In IBM mainframe operating systems, basic partitioned access method (BPAM) is an access method for libraries, called partitioned datasets (PDSes) in IBM terminology. BPAM is used in OS/360, OS/VS2, MVS, z/OS, and others.

Application program interface
BPAM provides an application program interface (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 (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. ==Load modules==
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). 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==
tickerdossier.comtickerdossier.substack.com