En informática , un sistema de archivos orientado a registros es aquel en el que los datos se almacenan como colecciones de registros . Esto contrasta con un sistema de archivos de flujo, donde los datos se tratan como un flujo de bytes sin formato .
Los sistemas de archivos orientados a registros son abstracciones de los archivos que se guardaban en papel antiguamente. Un registro puede contener datos asociados con un elemento específico, como un edificio, un contacto, un empleado, una pieza o un lugar.
Existen varios formatos de registro posibles; los detalles varían según el sistema. En general, los formatos pueden ser de longitud fija o variable, con diferentes organizaciones físicas o mecanismos de relleno. Los metadatos pueden asociarse a los registros de archivo para definir su longitud, o bien los datos pueden formar parte del registro. Se pueden proporcionar diferentes métodos de acceso a los registros; por ejemplo, se pueden recuperar en orden secuencial , por clave o por número de registro.
Origen y características
Los sistemas de archivos orientados a registros se asocian frecuentemente con sistemas operativos de mainframe, como OS/360 y sus sucesores [ 1 ] y DOS/360 y sus sucesores , y sistemas operativos de gama media, como RSX-11 y VMS . Sin embargo, se originaron antes en software como Input/Output Control System (IOCS). [ 2 ] Los registros , a veces llamados registros lógicos, a menudo se escriben juntos en bloques , a veces llamados registros físicos; esta es la norma para dispositivos de acceso directo y de cinta , pero los archivos en dispositivos de registro unitario normalmente tienen solo un registro por bloque, es decir, no están bloqueados .
En un sistema de archivos de registros, un analista de sistemas diseña los registros que se pueden utilizar en un archivo. Todos los programas de aplicación que acceden al archivo, ya sea para agregar, leer o actualizar registros, comparten el mismo conocimiento sobre el diseño de los registros. En los sistemas operativos IBM System/360, no existe ninguna restricción en los patrones de bits que componen el registro de datos; es decir, no hay caracteres delimitadores. Esto no siempre ocurre en otros programas, por ejemplo, en ciertos tipos de registros para el procesador de control de archivos (FCP) de RCA en los modelos 301, 501 , 601 y 3301.
Un archivo se crea cuando se envía una solicitud de creación al sistema de archivos. Esta solicitud puede incluir información sobre el archivo, como por ejemplo, que el archivo contiene registros de longitud fija (todos del mismo tamaño) y su tamaño. También puede especificarse que los registros son de longitud variable, junto con la longitud máxima permitida. Además, se puede indicar información adicional, como el factor de bloqueo, el tipo de archivo (binario o texto) y el número máximo de registros.
Una aplicación puede tener permiso para leer solo desde el principio de un registro; la siguiente lectura secuencial devuelve la siguiente colección de datos (registro) que el diseñador pretendía agrupar. Asimismo, la aplicación puede tener permiso para escribir solo al principio de un registro.
Algunos sistemas operativos requieren que el programa incluya rutinas de biblioteca específicas para el formato de registro. Esto significa que un programa diseñado originalmente para leer un archivo de registro de longitud variable no puede leer uno de longitud fija. Estos sistemas operativos deben proporcionar utilidades del sistema de archivos para convertir archivos entre diferentes formatos. Esto implica que puede ser necesario copiar el archivo (lo que requiere espacio de almacenamiento, tiempo y coordinación adicionales). Otros sistemas asocian la rutina adecuada, según la organización del archivo, en tiempo de ejecución.
En ambos casos, el código para gestionar los registros suele proporcionarse en rutinas protegidas para garantizar la integridad de los archivos.
Una convención común en las aplicaciones de archivos de texto representados como flujos consiste en usar un nuevo delimitador de línea para separar o finalizar los registros, generalmente CR , CRLF o LF. Desafortunadamente, el tiempo de CPU necesario para analizar el delimitador de registro es considerable y, con frecuencia, no es deseable excluir dicho patrón de los datos.
Otra convención consiste en incluir un campo de longitud en cada registro. La aplicación escritora se encarga de imponer la estructura de los registros, mientras que la aplicación lectora se encarga de separarlos.
Ventajas y costes
Un archivo orientado a registros presenta varias ventajas. Una vez que un programa escribe una colección de datos como un registro, el programa que lee dicho registro comprende que esos datos constituyen una colección. A menudo, un archivo contiene varios registros relacionados en secuencia; después de que el programa lee el inicio de la secuencia, la siguiente lectura secuencial devuelve la siguiente colección de datos (registro) que el programa pretendía agrupar. Otra ventaja es que el registro tiene una longitud y, por lo general, no hay restricciones en los patrones de bits que lo componen; es decir, no hay caracteres delimitadores.
Un segundo motivo para la idea de la orientación a registros es que, en cierto sentido, constituye la orientación más natural para el almacenamiento persistente en un dispositivo de almacenamiento físico no volátil pero lento. La mayoría de los dispositivos de almacenamiento físico solo pueden comunicarse en unidades de un bloque. Gran parte de los núcleos de los sistemas operativos modernos y los controladores de dispositivos asociados se dedican a ocultar la naturaleza estructurada y delimitada de los dispositivos de almacenamiento físico. No es casualidad que los sistemas de archivos orientados a registros surgieran antes en la historia de la informática que los sistemas de archivos orientados a flujos de bytes, cuando las capacidades de abstracción eran mucho menores.
Generalmente, los archivos orientados a registros conllevan un coste. En el caso de registros de longitud fija, algunos pueden tener espacio sin usar, mientras que en los de longitud variable, el delimitador o el campo de longitud ocupan espacio. Los bloques de longitud variable pueden presentar sobrecarga debido a los delimitadores o campos de longitud. Además, existe una sobrecarga impuesta por el dispositivo. En una cinta magnética, la sobrecarga suele manifestarse como un espacio entre registros. En un dispositivo de acceso directo con sectores de longitud fija, puede haber espacio sin usar en el último sector de un bloque. En un dispositivo de acceso directo con registros físicos de longitud variable, esta sobrecarga suele manifestarse como metadatos y espacios entre registros.
Véase también
Referencias
- Sistemas de archivos informáticos