Sistema de arquivos orientado a registros - Record-oriented filesystem

Na ciência da computação , um sistema de arquivos orientado a registros é um sistema de arquivos onde os dados são armazenados como coleções de registros . Isso está em contraste com um sistema de arquivos orientado a bytes, onde os dados são tratados como um fluxo não formatado de bytes . Existem vários formatos de registro possíveis; os detalhes variam dependendo do sistema específico. Em geral, os formatos podem ser de comprimento fixo ou variável, com diferentes organizações físicas ou mecanismos de preenchimento; os metadados podem ser associados aos registros do arquivo para definir o comprimento do registro, ou os dados podem fazer parte do registro. Podem ser fornecidos diferentes métodos de acesso para registros, por exemplo, os registros podem ser recuperados em ordem sequencial , por chave ou por número de registro.

Origem e características

Sistemas de arquivos orientados a registros são frequentemente associados a sistemas operacionais de mainframe, como OS / 360 e sucessores e DOS / 360 e sucessores , e sistemas operacionais de médio porte, como RSX-11 e VMS . No entanto, eles se originaram anteriormente em softwares como o Sistema de Controle de Entrada / Saída (IOCS).

Os sistemas de arquivos orientados a registros podem ser suportados em outras mídias além dos dispositivos de acesso direto. Um baralho de cartas perfuradas pode ser considerado um arquivo orientado para o registro. Uma fita magnética é um exemplo de meio que pode suportar registros de comprimento uniforme ou variável.

Em um sistema de arquivos de registro, um programador projeta os registros que podem ser usados ​​em um arquivo. Todos os programas de aplicativos que acessam o arquivo, seja adicionando, lendo ou atualizando registros, compartilham uma compreensão do design dos registros. No DOS / 360, OS / 360 e seus sucessores não há restrição aos padrões de bits que compõem o registro de dados, ou seja, não há caractere delimitador; isso nem sempre é verdade em outro software, por exemplo, certos tipos de registro para RCA File Control Processor (FCP) no 301, 501, 601 e 3301.

O arquivo passa a existir quando uma solicitação de criação de arquivo é emitida para o sistema de arquivos. Algumas informações sobre o arquivo podem ser incluídas na solicitação de criação. Essas informações podem especificar que o arquivo possui registros de comprimento fixo (todos os registros têm o mesmo tamanho) junto com o tamanho dos registros. Alternativamente, a especificação pode afirmar que os registros são de comprimento variável, juntamente com o comprimento máximo do registro. Podem ser especificadas informações adicionais, incluindo fator de bloqueio, binário vs. texto e o número máximo de registros.

Pode ser permitido ler apenas o início de um registro; a próxima leitura sequencial retorna a próxima coleção de dados (registro) que o gravador pretendia agrupar. Também pode ser permitido escrever apenas o início de um registro. Nesses casos, o registro é preenchido com zeros binários ou espaços, dependendo se o arquivo é reconhecido como um arquivo binário ou um arquivo de texto.

Alguns sistemas operacionais requerem que rotinas de biblioteca específicas para o formato de registro sejam incluídas no programa. Isso significa que um programa originalmente esperado para ler um arquivo de registro de comprimento variável não pode ler um arquivo de comprimento fixo. Esses sistemas operacionais devem fornecer utilitários de sistema de arquivos para converter arquivos entre um formato e outro. Isso significa que copiar o arquivo (que requer espaço de armazenamento adicional, tempo e coordenação) pode ser necessário.

Outros sistemas operacionais incluem várias rotinas e associam a rotina apropriada, com base na organização do arquivo, em tempo de execução.

Em ambos os casos, quantidades significativas de código para gerenciar registros devem ser fornecidas em rotinas protegidas para garantir a integridade do arquivo.

Uma alternativa para um arquivo orientado a registro é um fluxo. Em um arquivo de fluxo, no qual o sistema de arquivos trata os arquivos como uma sequência não estruturada de bytes. Os aplicativos podem, mas não precisam, impor uma estrutura de registro. Essa abordagem reduz significativamente o tamanho e a complexidade da biblioteca e reduz o número de utilitários necessários para manter os arquivos.

Uma convenção de aplicativo comum para arquivos de texto representados como fluxos é usar um novo delimitador de linha para separar ou encerrar registros, comumente CR , CRLF ou LF. Infelizmente, o tempo de CPU necessário para analisar o delimitador de registro é significativo e a exclusão do padrão de delimitador de registro dos dados é freqüentemente indesejável.

Uma convenção alternativa é incluir um campo de comprimento em cada registro. O aplicativo gravador é responsável por impor qualquer estrutura de registro e o aplicativo leitor é responsável por separar os registros.

Vantagens e custos

Um arquivo orientado a registros tem várias vantagens. Depois que um programa grava uma coleção de dados como um registro, o programa que lê esse registro entende os dados como uma coleção. Embora seja permitido ler apenas o início de um registro, a próxima leitura sequencial retorna a próxima coleção de dados (registro) que o gravador pretendia agrupar. Outra vantagem é que o registro tem um comprimento e não há restrição aos padrões de bits que compõem o registro de dados, ou seja, não há caractere delimitador.

Há um custo associado aos arquivos orientados a registros. A definição do comprimento ocupa espaço. Em uma fita magnética, essa definição assume a forma de uma lacuna entre registros. Em um disco, uma área de metadados deve ser alocada. Isso é mínimo em um arquivo em que todos os registros têm o mesmo comprimento. Em um arquivo composto de registros de comprimento variável, um comprimento máximo de registro é definido para determinar o tamanho dos metadados de comprimento associados a cada registro.

Veja também

Referências