Basic partitioned access method

(Redirected fromBPAM)

InIBM mainframeoperating systems,basic partitioned access method(BPAM)[1]is anaccess methodforlibraries,calledpartitioned datasets(PDSes) in IBM terminology. BPAM is used inOS/360,OS/VS2,MVS,z/OS,and others.

A PDS consists of members (internally identical tosequential data sets), registered in a list called thedirectory.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 storeexecutable programs,orload modules,sometimes called binaries in other systems. Other uses include system assemblermacrodefinitions,job controlprocedures, and program source code.

Application program interface

edit

BPAM provides anapplication program interface(API) to allow programmers to access libraries directly. The BPAM API is similar tobasic 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 controlDDstatement.

The programmer specifiesDSORG=POin theirData Control Block(DCB) to indicate use of BPAM. As abasicaccess method BPAM reads and writes member data inblocksand the I/O operation proceedsasynchronouslyand must be tested for completion using theCHECKmacro.[2]BPAM uses the standard system macrosOPEN,CLOSE,READ,WRITE,andCHECK.TheNOTEmacro instruction returns position of the last block read or written, and thePOINTmacro will reposition to the location identified by a previousNOTE.[2]TheBLDLmacro can be used to build a list of the addresses of members specified by the programmer for later use, if desired.FINDpositions to a single member, specified by name, which requires a directory lookup on disk, or by address previously retrieved byBLDL.TheSTOWmacro is used to update the directory when a member is added, deleted, changed (including renamed), or replaced.[3]

Load modules

edit

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 thelinkage editorand loaded into user-acquired storage by the Loader (an application program) or into system-acquired storage by Program Fetch (a component of the OSsupervisor).

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 (EXCPon pre-MVS systems, orSTARTIOon MVS/370 and later systems).

References

edit
  1. ^IBM System/360 Operating System Sequential Access Methods Program Logic Manual(PDF).IBM. January 1967. Y28-6604-1.
  2. ^abIBM Corporation (June 1973).OS Data Management Macro Instructions(PDF).p. 157.RetrievedAugust 19,2016.
  3. ^IBM Corporation (July 1973).OS Data Management Services Guide(PDF).pp. 75–85.RetrievedAugust 19,2016.