Básico particionado método de acesso - Basic partitioned access method

Em IBM de mainframe sistemas operativos , método de acesso particionado básico ( BPAM ) é um método de acesso para bibliotecas , chamados conjuntos de dados particionados (PDSes) na terminologia da IBM. BPAM é usado em OS / 360 , OS / VS2 , MVS , z / OS , e outros.

A PDS é composto por membros (internamente idênticos aos conjuntos de dados sequenciais ), registradas em uma lista chamada do diretório . A combinação de membros e diretório é um único conjunto de dados no disco. O diretório contém uma lista de nomes de membro (8 caracteres, preenchido à direita com espaços em branco, conforme necessário) e endereços membro. Os endereços são em relação ao início do conjunto de dados, a fim de permitir que o PDS para ser transferido para um local disco diferente.

Conjuntos de dados particionados pode armazenar qualquer tipo de dados, mas eles são muitas vezes utilizados para armazenar programas executáveis , ou módulos de carga , às vezes chamados binários em outros sistemas. Outros usos incluem assembler sistema de macro definições, controle de trabalho procedimentos e código fonte do programa.

interface de programa aplicativo

BPAM fornece uma interface de programação de aplicativo (API) para permitir que os programadores para acessar as bibliotecas diretamente. A API BPAM é semelhante ao método básico de acesso sequencial (BSAM), mas adiciona funcionalidade para processar diretórios. Membros individuais de uma PDS também podem ser processados usando métodos de acesso seqüencial, especificando o nome do membro no controle de trabalho DD comunicado.

O programador especifica DSORG=POem seu bloco de controle de dados (DCB) para indicar uso de BPAM. Como uma base método de acesso BPAM lê e escreve dados membro em blocos e a operação de I / O procede de forma assíncrona e devem ser testadas para conclusão utilizando o CHECKmacro. BPAM usa as macros de sistema padrão OPEN, CLOSE, READ, WRITE, e CHECK. A NOTEinstrução macro retorna posição do último bloco lido ou escrito, ea POINTmacro irá reposicionar para o local identificado por um anterior NOTE. A BLDLmacro pode ser usado para construir uma lista dos endereços dos membros especificados pelo programador para uso posterior, se desejar. FINDposições para um único membro, especificada pelo nome, o que requer uma pesquisa de diretório no disco, ou por endereço obtidas anteriormente por BLDL. A STOWmacro é usado para atualizar o diretório quando um membro é adicionado, excluído, alterado (incluindo renomeado), ou substituído.

módulos de carga

O sistema operacional exige que todos os programas executáveis para ser armazenado em bibliotecas, porque entrada de diretório do membro contém informações atributo adicional específico para carregar módulos. Quando usado para armazenar módulos de carregamento, diretórios contêm também, entre outros dados, o tamanho do módulo de carga e o endereço do primeiro "registro de texto", que é diferente do endereço dos primeiros dados dos membros. Programas executáveis são escritos para bibliotecas pelo editor de ligação e carregado no armazenamento adquirido pelo usuário pelo Loader (um programa de aplicação) ou no armazenamento adquiriu o sistema pelo Programa Fetch (um componente do sistema operacional supervisor ).

O editor de ligação organiza um módulo de carga em um formato especializado constituído por alternada "registros de texto" e "registros / dicionário deslocalização de controle". Esta organização permite que um módulo de carga a ser completamente carregada e mudou-se com uma operação de entrada / saída por Programa Fetch ( EXCP em sistemas de pré-MVS, ou STARTIO no MVS / 370 e posteriores sistemas).

Referências

  1. ^ IBM System / 360 Métodos de acesso sequencial do Sistema Operacional lógica do programa manual (PDF) . IBM. Janeiro de 1967. Y28-6604-1.
  2. ^ Um b IBM Corporation (Junho de 1973). Gestão de Dados OS Instruções Macro (PDF) . p. 157 . Retirado 19 de de Agosto de, 2016 .
  3. ^ IBM Corporation (Julho de 1973). OS Management Services Guia de Dados (PDF) . pp. 75-85 . Retirado 19 de de Agosto de, 2016 .