Basic partitioned access method
The Basic Partitioned Access Method is an access method of high-end mainframe operating systems (OS/360, OS/VS2, MVS, z/OS) for libraries with a specific structure, called partitioned datasets (PDS). A PDS consists of members (that are internally identical to sequential files), 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 names (max. 8 characters) and addresses of members. Addresses are relative to the start of the dataset in order to allow the PDS to be moved to a different disk location. PDS directories are quite different from Unix or Windows directories.
While in theory such libraries can store any type of data, they are typically are used to store programs, "load modules". The operating system requires all executable programs (binaries, in modern terms) to be stored in libraries. Directory entries contain additional attribute information for load modules.
While executable programs typically are written to libraries by utility software such as a linkage editor and loaded by operating functions, BPAM also provides an API to programmers to access such libraries directly. The BPAM API is fairly similar to BSAM, but it adds functionality to process directories.
There is no real parallel for PDSes in more modern operating systems such as Unix or Windows. The need for libraries is related to the fact that mainframe operating systems (until very recently) did not have a hierarchical file system. The numer of files (called datasets) on mainframes must therefore be limited, for managemrnt and overhead reasons. This calls for a subdivision of (some) datasets into members.