Basic partitioned access method
Encyclopedia
In IBM mainframe
IBM mainframe
IBM mainframes are large computer systems produced by IBM from 1952 to the present. During the 1960s and 1970s, the term mainframe computer was almost synonymous with IBM products due to their marketshare...

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s, basic partitioned access method (BPAM) is an access method
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. They were introduced in 1963 in IBM OS/360 operating system...

  for libraries with a specific structure, called partitioned datasets (PDSes). BPAM is used in OS/360, OS/VS2
OS/VS2
Operating System/Virtual Storage 2 is the successor operating system to OS/360 MVT in the OS/360 family.*SVS refers to OS/VS2 Release 1*MVS refers to OS/VS2 Release 2 and later...

, MVS
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...

, z/OS
Z/OS
z/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...

, and others. A PDS consists of members (that are internally identical to sequential data sets
Data set (IBM mainframe)
data set , dataset , is a computer file having a record organization. The term pertains to the IBM mainframe operating system line, starting with OS/360, and is still used by its successors, including the current z/OS. Those systems historically preferred this term over a file...

; a member cannot be a PDS itself), registered in a list called directory, and 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.

While in theory libraries can store any type of data, they are typically are used to store executable programs, or load modules, or what is called binaries in modern terms. 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, amongst 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. Other uses for libraries include system assembler "macro" definitions.

While executable programs are written to libraries by the linkage editor and loaded into user-acquired storage by the Loader (itself an application program) or into system-acquired storage by Program Fetch (itself a specialized component of the OS's supervisor), BPAM also provides an API to programmers to access libraries directly. The BPAM API is fairly similar to basic sequential access method
Basic sequential access method
In IBM mainframe operating systems, Basic sequential access method is an access method to read and write datasets sequentially. BSAM is available on OS/360, OS/VS2, MVS, z/OS, and related high-end operating systems....

 (BSAM), but it adds functionality to process directories. The Linkage Editor is a utility program which organizes a load module in a very 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 EXCP (on pre-MVS instances of the OS) and with one STARTIO (on MVS/370 and later instances of the OS) by Program Fetch.

The closest parallel for PDSes in other operating systems such as Unix or Windows is the static library
Static library
In computer science, a static library or statically-linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an object file and a stand-alone executable...

, such as produced by the ar
Ar (Unix)
The archiver is a Unix utility that maintains groups of files as a single archive file. Today, ar is generally used only to create and update static library files that the link editor or linker uses; it can be used to create archives for any purpose, but has been largely replaced by tar for...

 utility. In fact, the nomenclature for libraries in make, lib(member), is directly derived from OS/360. It may be compared to a directory, that can contain only files, no subdirectories, and at the same time that is physically stored in a single file. The need for libraries relates to the fact that mainframe operating systems (until very recently) did not have a hierarchical file system
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...

.

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK