En los sistemas operativos de mainframe de IBM , el método de acceso con particiones básico ( BPAM ) [1] es un método de acceso para bibliotecas , denominado conjuntos de datos con particiones (PDS) en la terminología de IBM. BPAM se utiliza en OS / 360 , OS / VS2 , MVS , z / OS y otros.
Un PDS consta de miembros (internamente idénticos a los conjuntos de datos secuenciales ), registrados en una lista denominada directorio . La combinación de miembros y directorio es un único conjunto de datos en el disco. El directorio contiene una lista de nombres de miembros (8 caracteres, rellenados a la derecha con espacios en blanco, según sea necesario) y direcciones de miembros. Las direcciones son relativas al inicio del conjunto de datos para permitir que el PDS se mueva a una ubicación de disco diferente.
Los conjuntos de datos particionados pueden almacenar cualquier tipo de datos, pero a menudo se usan para almacenar programas ejecutables o cargar módulos , a veces llamados binarios en otros sistemas. Otros usos incluyen definiciones de macros del ensamblador del sistema , procedimientos de control de trabajos y código fuente del programa.
Interfaz del programa de aplicación
BPAM proporciona una interfaz de programa de aplicación (API) para permitir que los programadores accedan a las bibliotecas directamente. La API de BPAM es similar al método de acceso secuencial básico (BSAM), pero agrega funcionalidad a los directorios de procesos. Los miembros individuales de un PDS también se pueden procesar utilizando métodos de acceso secuencial especificando el nombre del miembro en la declaración DD de control de trabajo .
El programador especifica DSORG=PO
en su bloque de control de datos (DCB) para indicar el uso de BPAM. Como método de acceso básico , BPAM lee y escribe datos de miembros en bloques y la operación de E / S procede de forma asincrónica y debe comprobarse su finalización utilizando la CHECK
macro. [2] BPAM utiliza las macros estándar del sistema OPEN
, CLOSE
, READ
, WRITE
, y CHECK
. La NOTE
macroinstrucción devuelve la posición del último bloque leído o escrito, y la POINT
macro se reposicionará en la ubicación identificada por un anterior NOTE
. [2] La BLDL
macro se puede utilizar para crear una lista de las direcciones de los miembros especificados por el programador para su uso posterior, si se desea. FIND
posiciones a un solo miembro, especificado por nombre, que requiere una búsqueda de directorio en el disco, o por dirección previamente recuperada por BLDL
. La STOW
macro se utiliza para actualizar el directorio cuando un miembro se agrega, elimina, cambia (incluido el cambio de nombre) o se reemplaza. [3]
Módulos de carga
El sistema operativo requiere que todos los programas ejecutables se almacenen en bibliotecas porque la entrada del directorio del miembro contiene información de atributos adicional específica para los módulos de carga. Cuando se utilizan para almacenar módulos de carga, los directorios también contienen, entre otros datos, el tamaño del módulo de carga y la dirección del primer "registro de texto", que es diferente de la dirección de los datos del primer miembro. Los programas ejecutables se escriben en bibliotecas mediante el editor de vínculos y el Loader (un programa de aplicación) los carga en el almacenamiento adquirido por el usuario o en el almacenamiento adquirido por el sistema mediante Program Fetch (un componente del supervisor del sistema operativo ).
El Linkage Editor organiza un módulo de carga en un formato especializado que consiste en alternar "registros de texto" y "registros de diccionario de control / reubicación". Esta organización permite que un módulo de carga se cargue por completo y se reubique con una operación de entrada / salida mediante Program Fetch ( EXCP en sistemas anteriores a MVS o STARTIO en MVS / 370 y sistemas posteriores).
Referencias
- ^ Manual de lógica del programa de métodos de acceso secuencial del sistema operativo IBM System / 360 (PDF) . IBM. Enero de 1967. Y28-6604-1.
- ^ a b IBM Corporation (junio de 1973). Instrucciones macro de gestión de datos del sistema operativo (PDF) . pag. 157 . Consultado el 19 de agosto de 2016 .
- ^ IBM Corporation (julio de 1973). Guía de servicios de gestión de datos del sistema operativo (PDF) . págs. 75–85 . Consultado el 19 de agosto de 2016 .