stringtranslate.com

Método básico de acceso particionado

En los sistemas operativos mainframe de IBM , el método básico de acceso particionado ( BPAM ) [1] es un método de acceso para bibliotecas , denominado conjuntos de datos particionados (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 llamada 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 las direcciones de los 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 suelen utilizarse para almacenar programas ejecutables o módulos de carga , a veces denominados binarios en otros sistemas. Otros usos incluyen definiciones de macros del ensamblador del sistema, procedimientos de control de trabajos y código fuente de programas.

Interfaz del programa de aplicación

BPAM proporciona una interfaz de programación de aplicaciones (API) que permite a los programadores acceder directamente a las bibliotecas. La API de BPAM es similar al método de acceso secuencial básico (BSAM), pero agrega funcionalidad para procesar directorios. Los miembros individuales de un PDS también se pueden procesar mediante métodos de acceso secuencial especificando el nombre del miembro en la declaración DD de control de trabajo .

El programador especifica DSORG=POen 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 probarse su finalización utilizando la CHECKmacro. [2] BPAM utiliza las macros de sistema estándar OPEN, CLOSE, READ, WRITEy CHECK. La NOTEinstrucción de macro devuelve la posición del último bloque leído o escrito, y la POINTmacro se reposicionará en la ubicación identificada por una NOTE. [2] La BLDLmacro se puede utilizar para crear una lista de las direcciones de los miembros especificados por el programador para su uso posterior, si se desea. FINDposiciones a un solo miembro, especificado por nombre, que requiere una búsqueda de directorio en el disco, o por dirección recuperada previamente por BLDL. La STOWmacro se utiliza para actualizar el directorio cuando se agrega, elimina, cambia (incluso renombra) o reemplaza un miembro. [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 adicional sobre atributos específicos de 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 enlaces y se cargan en el almacenamiento adquirido por el usuario mediante el Cargador (un programa de aplicación) o en el almacenamiento adquirido por el sistema mediante la Búsqueda de programas (un componente del supervisor del sistema operativo ).

El editor de enlaces 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 cargar y reubicar completamente un módulo de carga con una operación de entrada/salida mediante la función de obtención de programas ( EXCP en sistemas anteriores a MVS o STARTIO en sistemas MVS/370 y posteriores).

Referencias

  1. ^ Manual de lógica de programas de métodos de acceso secuencial del sistema operativo IBM System/360 (PDF) . IBM. Enero de 1967. Y28-6604-1.
  2. ^ ab IBM Corporation (junio de 1973). Instrucciones de macro de gestión de datos del sistema operativo (PDF) . pág. 157. Consultado el 19 de agosto de 2016 .
  3. ^ IBM Corporation (julio de 1973). Guía de servicios de gestión de datos del sistema operativo (PDF) . pp. 75–85 . Consultado el 19 de agosto de 2016 .