HOME

TheInfoList



OR:

In
IBM mainframe IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the computer market with the 7000 series and the later System/360, followed by the System/370. Current mainframe computers in IBM' ...
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
s, basic partitioned access method (BPAM) is an
access method An access method is a function of a mainframe computer, 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 ...
for
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
, 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-oriented file, record organization. Use of this term began with, e.g., DOS/360, OS/360, and is still used by th ...
s (PDSes) in IBM terminology. BPAM is used in
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 a ...
, OS/VS2,
MVS Multiple Virtual Storage, more commonly called MVS, is the most commonly used operating system on the System/370, System/390 and IBM Z IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unr ...
,
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 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 connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build su ...
(API) to allow programmers to access libraries directly. The BPAM API is similar to
basic sequential access method In IBM mainframe operating systems, Basic sequential access method (BSAM) is an access method to read and write datasets sequentially. BSAM is available on OS/360, OS/VS2, MVS, z/OS, and related operating systems. BSAM is used for devices that a ...
(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 "def ...
(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 A linker or link editor is a computer program that combines intermediate software build files such as object and library files into a single executable file such as a program or library. A linker is often part of a toolchain that includes a comp ...
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 and role that is primarily based on authority over la ...
). 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 In IBM mainframe operating systems, Execute Channel Program (EXCP) is a macro generating a system call, implemented as a Supervisor Call instruction, for low-level device access, where the programmer is responsible for providing a ''channel pro ...
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