Archivos compartidos
La gestión de archivos en el sistema operativo IBM i proporciona varios niveles de soporte para archivos compartidos. Los archivos se pueden compartir entre muchos usuarios, muchos trabajos o muchos programas dentro del mismo trabajo.
El sistema proporciona automáticamente el primer nivel de soporte. De forma predeterminada, el sistema permite que varios usuarios y varios trabajos utilicen un archivo al mismo tiempo. El sistema asigna el archivo y sus recursos asociados para cada uso del archivo de tal manera que puede evitar usos conflictivos. Dentro del mismo trabajo, los programas pueden compartir archivos si un programa abre el mismo archivo más de una vez o si distintos programas abren el mismo archivo. Aunque se esté utilizando el mismo archivo, cada operación de apertura crea una nueva vía de acceso desde el programa hasta los datos o el dispositivo, de modo que cada operación de apertura representa un uso independiente del archivo.
Abrir vía de acceso de datos
Un nivel más cercano de compartición dentro de un trabajo permite que más de un programa comparta la misma vía de acceso a los datos o al dispositivo. Esta vía de acceso, denominada vía de acceso de datos abierta, es la vía de acceso a través de la cual se realizan todas las operaciones de lectura y grabación para el archivo. Puede utilizar este nivel de compartición especificando el parámetro SHARE en los mandatos create file, change file y override file. El parámetro SHARE permite que más de un programa comparta el estado del archivo, las posiciones y el área de almacenamiento. Puede mejorar el rendimiento reduciendo la cantidad de almacenamiento principal que necesita el trabajo y reduciendo el tiempo que se tarda en abrir y cerrar el archivo. El sistema operativo IBM i basa este nivel de compartición en dos modelos:
- El modelo de programa original es el conjunto de funciones para compilar código fuente y crear programas en lenguaje de alto nivel en el sistema antes de que se introdujera el modelo Integrated Language Environment® (ILE).
- El modelo ILE es el conjunto de construcciones e interfaces que proporcionan un entorno de ejecución común y API (interfaz de programación de aplicaciones) enlazables en tiempo de ejecución para todos los lenguajes de alto nivel compatibles con ILE.
Archivos compartidos en el modelo de programa original
En el modelo de programa original, el parámetro SHARE (*YES) permite que dos o más programas que se ejecutan en el mismo trabajo compartan una vía de acceso de datos abierta (ODP). Conecta el programa a un archivo. Si no se especifica lo contrario, cada vez que se abre un archivo se crea una nueva vía de acceso de datos abierta. Puede especificar que si un archivo se abre más de una vez y una vía de acceso de datos abierta sigue activa para él en el mismo trabajo, se puede utilizar el ODP activo para el archivo con la apertura actual del archivo; no es necesario crear una nueva vía de acceso de datos abierta. Esto reduce la cantidad de tiempo necesario para abrir el archivo después de la primera apertura para abrir el archivo después de la primera apertura y la cantidad de almacenamiento principal que necesita el trabajo. Debe especificar SHARE (*YES) para la primera apertura y otras aperturas del mismo archivo para compartir la vía de acceso de datos abierta. Una aplicación bien diseñada (para el rendimiento) normalmente hará una apertura compartida en archivos de base de datos que varios programas abrirán en el mismo trabajo. La especificación de SHARE (*YES) para otros archivos depende de la aplicación.
Archivos compartidos en el modelo ILE
En el modelo ILE, los archivos compartidos se circunscriben al nivel de trabajo o al nivel de grupo de activación. Un grupo de activación es una subestructura de un trabajo de tiempo de ejecución. Consta de recursos del sistema (almacenamiento para variables de programa o procedimiento, definiciones de compromiso y archivos abiertos) que se asignan a uno o varios programas. Un grupo de activación es como un trabajo en miniatura dentro de un trabajo.
Los programas que se ejecutan en cualquier grupo de activación pueden compartir archivos compartidos que se circunscriben al nivel de trabajo. Sólo los programas que se ejecutan en el mismo grupo de activación pueden compartir archivos compartidos cuyo ámbito se circunscribe al nivel de grupo de activación.
Archivos compartidos: Consideraciones
El uso compartido de archivos le permite tener programas dentro de un trabajo que interactúan de maneras que de otro modo no serían posibles. Sin embargo, debe comprender los efectos de abrir, realizar operaciones de lectura y escritura y cerrar archivos compartidos.
También debería ver la documentación adecuada para todos los tipos de archivo para comprender cómo funciona este soporte, y las reglas que deben seguir los programas para utilizarlo correctamente.