Articulo de referencia

Archivos-11

Files-11 es el sistema de archivos utilizado en los sistemas operativos RSX-11 , IAS y OpenVMS de Digital Equipment Corporation . Admite E/S orientada a registros , acceso remot...

Files-11 es el sistema de archivos utilizado en los sistemas operativos RSX-11 , IAS y OpenVMS de Digital Equipment Corporation . Admite E/S orientada a registros , acceso remoto a la red y control de versiones de archivos . La capa ODS-1 original es un sistema de archivos plano ; la versión ODS-2 es un sistema de archivos jerárquico , con soporte para listas de control de acceso .

Files-11 es similar a los sistemas de archivos utilizados en sistemas operativos anteriores de Digital Equipment Corporation, como TOPS-20 y RSTS/E , pero significativamente más avanzado .

Historia

La versión original de Files-11 para ODS-1 ofrecía una estructura de directorios rudimentaria y no jerárquica, basada en la asignación de un directorio por cuenta de usuario. Cada cuenta de usuario estaba representada por dos números (un par) y tenía un directorio asociado; esto era similar al sistema de archivos RSTS/E. Los archivos especiales del sistema, como los ejecutables de programas y el propio sistema operativo, se almacenaban en el directorio de una cuenta de sistema reservada.[project,programmer]

Si bien esto era adecuado para los sistemas PDP-11 , que poseían una capacidad de almacenamiento permanente limitada, los sistemas VAX con discos duros mucho más grandes requerían un método de almacenamiento de archivos más flexible, por lo que la versión ODS-2 de Files-11, introducida en VMS, proporcionaba en particular una estructura de directorios jerárquica.

Descripción general

"Files-11" es el término general para cinco sistemas de archivos separados, conocidos como niveles de estructura en disco (ODS) del 1 al 5.

ODS-1 es el sistema de archivos planos utilizado por el sistema operativo RSX-11, compatible con sistemas VMS más antiguos para garantizar la compatibilidad con RSX, pero nunca se utilizó para dar soporte al propio VMS; ha sido reemplazado en gran medida por ODS-2 y ODS-5.

ODS-2 es el sistema de archivos VMS original. En comparación con ODS-1, es un sistema de archivos jerárquico .

Aunque rara vez se las menciona por sus designaciones de nivel ODS, ODS-3 y ODS-4 son la compatibilidad de Files-11 con los sistemas de archivos ISO 9660 y High Sierra Format de CD-ROM, respectivamente.

ODS-5 es una versión extendida de ODS-2 disponible en plataformas Alpha , IA-64 y x86-64 que añade compatibilidad con nombres de archivo que conservan las mayúsculas y minúsculas con caracteres no ASCII y mejoras en la compatibilidad con directorios jerárquicos. Originalmente, se diseñó para servir archivos a Microsoft Windows u otros sistemas que no fueran VMS como parte del proyecto "NT Affinity", pero también se utiliza en discos de usuario y servidores de Internet .

Diseño del directorio

Una jerarquía de directorios típica de Files-11: todos los archivos tienen su raíz en el Directorio Maestro de Archivos; File2 está en dos directorios.

En un sistema de archivos Files-11, todos los archivos y directorios se encuentran dentro de uno o más directorios principales y, finalmente, bajo el directorio raíz, el directorio maestro de archivos (véase más abajo). Por lo tanto, el sistema de archivos está organizado en una estructura de grafo acíclico dirigido ( DAG ).

En este ejemplo ( ver a la derecha ), File 2tiene una entrada de directorio en ambos Dir 2directorios Dir 3; está presente en ambos simultáneamente. Incluso si se elimina de uno, seguirá existiendo en el otro directorio hasta que también se elimine de allí. Esto es similar al concepto de enlaces duros en UNIX , aunque hay que tener cuidado de que el archivo no se elimine realmente en discos que no estén configurados para enlaces duros (solo disponible en discos ODS-5, y solo si el disco tiene habilitados los enlaces duros).

Organización y nomenclatura de discos

Un sistema VMS operativo tiene acceso a uno o más discos en línea, cada uno de los cuales contiene un sistema de archivos completo e independiente. Estos pueden ser almacenamiento local o, en el caso de un clúster, almacenamiento compartido con sistemas remotos.

Figura 1 : Ejemplo de configuración de disco de clúster OpenVMS

En una configuración de clúster OpenVMS, los discos no privados se comparten entre todos los nodos del clúster (véase la figura 1) . En esta configuración, los dos discos del sistema son accesibles para ambos nodos a través de la red, pero el disco privado no se comparte: se monta para uso exclusivo de un usuario o proceso específico en esa máquina. El acceso a los archivos en todo el clúster se gestiona mediante el Administrador de Bloqueo Distribuido de OpenVMS, una parte integral del sistema de archivos.

Se pueden combinar varios discos para formar un único disco lógico grande, o conjunto de volúmenes . Los discos también se pueden replicar automáticamente en conjuntos de instantáneas para mayor seguridad de los datos o para un rendimiento de lectura más rápido.

Un disco se identifica por su nombre físico o (más a menudo) por un nombre lógico definido por el usuario. Por ejemplo, el dispositivo de arranque (disco del sistema) puede tener el nombre físico $3$DKA100, pero generalmente se le conoce por el nombre lógicoSYS$SYSDEVICE .

Los sistemas de archivos en cada disco (con la excepción de ODS-1) son jerárquicos. Un nombre de archivo completamente especificado consta de un nombre de nodo, un nombre de usuario y contraseña, un nombre de dispositivo, directorio, nombre de archivo, tipo de archivo y un número de versión, en el formato:

NODO"nombre de cuenta contraseña"::dispositivo:[directorio.subdirectorio]nombre de archivo.tipo;ver

Por ejemplo, [DIR1.DIR2.DIR3]FILE.EXTse refiere a la última versión de FILE.EXT, en el disco predeterminado actual, en el directorio [DIR1.DIR2.DIR3].

DIR1es un subdirectorio del directorio maestro de archivos (MFD), o directorio raíz , y DIR2es un subdirectorio de DIR1. El MFD de un disco se identifica mediante [000000].

La mayoría de las partes del nombre del archivo se pueden omitir, en cuyo caso se toman de la especificación de archivo predeterminada actual . La especificación de archivo predeterminada reemplaza el concepto de "directorio actual" en otros sistemas operativos al proporcionar un conjunto de valores predeterminados para el nodo, el nombre del dispositivo y el directorio. Todos los procesos tienen una especificación de archivo predeterminada que incluye el nombre del disco y el directorio, y la mayoría de las rutinas del sistema de archivos VMS aceptan una especificación de archivo predeterminada que también puede incluir el tipo de archivo; el TYPEcomando, por ejemplo, toma por defecto " .LIS" como tipo de archivo, por lo que el comando TYPE F, sin extensión, intenta abrir el archivo F.LIS.

Cada archivo tiene un número de versión, que por defecto es 1 si no hay otras versiones con el mismo nombre de archivo (de lo contrario, uno superior a la versión más reciente). Cada vez que se guarda un archivo, en lugar de sobrescribir la versión existente, se crea un nuevo archivo con el mismo nombre pero con un número de versión incrementado. Las versiones antiguas se pueden eliminar explícitamente, con el comando DELETEo PURGE, o bien, las versiones anteriores de un archivo se pueden eliminar automáticamente cuando se alcanza el límite de versiones del archivo (establecido por SET FILE/VERSION_LIMIT). Por lo tanto, las versiones antiguas no se sobrescriben, sino que se conservan en el disco y se pueden recuperar en cualquier momento. El límite arquitectónico para los números de versión es 32767. El comportamiento de versionado se puede anular fácilmente si no se desea. En particular, los archivos que se actualizan directamente, como las bases de datos, no crean nuevas versiones a menos que se programen explícitamente.

ODS-2 está limitado a ocho niveles de subdirectorios y solo admite nombres alfanuméricos en mayúsculas (además del guion bajo, el guion y el signo de dólar) de hasta 39,39 caracteres (39 para el nombre del archivo y otros 39 para la extensión). ODS-5 amplía el conjunto de caracteres a letras minúsculas y la mayoría de los demás caracteres ASCII imprimibles, así como a caracteres ISO Latin-1 y Unicode , aumenta la longitud máxima del nombre del archivo y permite niveles ilimitados de subdirectorios. Al construir una ruta de acceso para un archivo ODS-5 que utiliza caracteres no permitidos en ODS-2, se utiliza una sintaxis especial "^" para preservar la compatibilidad con versiones anteriores; el archivo " file.tar.gz;1" en un disco ODS-5, por ejemplo, se denominaría " file^.tar.gz" el nombre del archivo es " file.tar" y la extensión es " .gz".

Seguridad de archivos: protección y listas de control de acceso (ACL).

El control de acceso se basa en códigos de identificación de usuario (UIC). Un UIC incluye un número de usuario y un número de grupo; este último también se conoce como número de proyecto. Un usuario que ha iniciado sesión tiene un UIC, y un archivo pertenece a un UIC.

RSX-11 e IAS

En RSX-11 e IAS, el control de acceso se rige por cuatro grupos de permisos: [ 1 ] [ 2 ] [ 3 ] [ 4 ]

Formato de visualización de la protección de archivos; los permisos no otorgados no se muestran.
  • Sistema
  • Dueño
  • Grupo
  • Mundo

Y cuatro puntos de permiso:

  • Leer
  • Escribir
  • Extender
  • Borrar

El acceso "sistema" se aplica a cualquier usuario cuyo número de grupo UIC sea menor o igual a 10 en octal o 8 en decimal); "propietario" y "grupo" se aplican al propietario del archivo y al grupo de usuarios de ese usuario, y "mundo" se aplica a cualquier otro usuario.

VMS

En VMS, los cuatro bits de permiso son:

  • Leer
  • Escribir
  • Ejecutar
  • Borrar

con permiso de Ejecutar en lugar de permiso de Extender.

El acceso de "sistema" se aplica a cualquier usuario cuyo número de grupo UIC sea menor o igual al parámetro del sistema MAXSYSGROUP(normalmente 8 o 10 en octal ). También existe un quinto bit de permiso, "Control", que se utiliza para determinar el acceso para modificar los metadatos de los archivos, como la protección. Este grupo no se puede configurar explícitamente; siempre se establece para Sistema y Propietario, y nunca para Grupo o Mundo.

La seguridad de los archivos también se ve afectada por cuatro privilegios del sistema , que permiten a los usuarios que los poseen anular los controles de acceso:

  • BYPASS: el usuario tiene implícitamente acceso de lectura, escritura y edición a todos los archivos, independientemente de la protección de los mismos;
  • READALL: el usuario tiene acceso implícito a R para todos los archivos;
  • SYSPRV: el usuario puede acceder a los archivos según la protección del sistema;
  • GRPPRV: el usuario puede acceder a los archivos según la protección del sistema si su grupo UIC coincide con el grupo del archivo.

VMS 4.0 añadió control de acceso basado en ACL . Las ACL permiten asignar privilegios adicionales a un usuario o grupo específico ; por ejemplo, se podría otorgar acceso de lectura a todos los archivos de un directorio determinado al UIC de un servidor web. Las ACL se pueden marcar como heredadas , donde la ACL de un archivo de directorio se aplica a todos los archivos que contiene. Las ACL se modifican mediante el EDIT/ACLcomando y tienen el formato de pares identificador/acceso. Por ejemplo, la entrada de ACL

(IDENTIFICADOR=HTTP$SERVIDOR,ACCESO=LECTURA+EJECUCIÓN)

permitiría al usuario HTTP$SERVERleer y ejecutar el archivo.

Nombres lógicos

Un nombre lógico es una variable del sistema que puede hacer referencia a un disco, directorio o archivo, o contener otra información específica del programa. Por ejemplo, el nombre lógico SYS$SYSDEVICEcontiene el dispositivo de arranque del sistema. Un nombre lógico normalmente se refiere a un único directorio o disco, por ejemploSYS$LOGIN: , que es el directorio (o directorios) de inicio de sesión (inicio) del usuario; estos nombres lógicos no se pueden usar como nombres de disco reales ,SYS$LOGIN:[DIR]FILE ya que no es una especificación de archivo válida. Sin embargo, los nombres lógicos ocultos , definidos por DEFINE/TRANSLATION=CONCEALED, se pueden usar de esa manera; estos directorios raíz se definen con un punto al final de la especificación del directorio, por lo tanto

$ DEFINIR/TRANS=OCULTAR DISCO DE INICIO$USUARIOS:[ nombre de usuario .]

permitiría HOME:[DIR]FILEsu uso. Más comunes son las variables lógicas simples que apuntan a directorios específicos asociados con algún software de aplicación que puede estar ubicado en cualquier disco o directorio. Por lo tanto, la variable lógica ABC_EXE puede apuntar a un directorio de programas ejecutables para la aplicación ABC y ABC_TEMP puede apuntar a un directorio de archivos temporales para esa misma aplicación y este directorio puede estar en el mismo disco y en el mismo árbol de directorios que ABC_EXE o podría estar en algún lugar de otro disco (y en un árbol de directorios diferente).

De manera similar a Unix, VMS define varios canales de entrada y salida estándar a los que se accede mediante los nombres lógicos SYS$INPUT, SYS$OUTPUT, SYS$ERRORy SYS$COMMAND. [ 5 ]

Los nombres lógicos no tienen un equivalente directo en los sistemas operativos POSIX. Se asemejan a las variables de entorno de Unix , con la diferencia de que son expandidos por el sistema de archivos, en lugar del intérprete de comandos o el programa de aplicación. Deben definirse antes de su uso, por lo que es común que muchos nombres lógicos se definan en el archivo de comandos de inicio del sistema, así como en los archivos de comandos de inicio de sesión de usuario. En VMS, los nombres lógicos pueden hacer referencia a otros nombres lógicos (hasta un límite de anidamiento predefinido de 10) y pueden contener listas de nombres para buscar un nombre de archivo existente. Algunos nombres lógicos a los que se hace referencia con frecuencia son:

El sistema operativo no perteneciente a DEC más cercano que admite el concepto de nombres lógicos es AmigaOS , mediante el ASSIGNcomando. El sistema operativo de disco de AmigaOS, AmigaDOS , que es una adaptación de TRIPOS , guarda cierta semejanza con los sistemas operativos DEC. Por ejemplo, los nombres de los dispositivos físicos siguen un patrón como DF0: para el primer disquete, CDROM2: para la tercera unidad de CD-ROM, etc. Sin embargo, dado que el sistema puede arrancar desde cualquier unidad conectada, el sistema operativo crea la asignación SYS: para referenciar automáticamente el dispositivo de arranque utilizado. También se crean otras asignaciones, LIBS:, PREFS:, C:, S:, etc., que a su vez se referencian desde SYS:. Los usuarios, por supuesto, también pueden crear y eliminar sus propias asignaciones.

E/S orientada a registros: Servicios de gestión de registros

El Servicio de Gestión de Registros ( RMS) es la capa de E/S estructurada del sistema operativo VMS. RMS proporciona soporte integral para la gestión de archivos estructurados , como archivos de bases de datos indexadas y basadas en registros . El sistema de archivos VMS, junto con RMS, amplía el acceso a archivos más allá de simples flujos de bytes y permite el soporte a nivel del sistema operativo para diversos tipos de archivos complejos. Cada archivo en el sistema de archivos VMS puede considerarse una base de datos que contiene una serie de registros , cada uno con uno o más campos individuales . Un archivo de texto, por ejemplo, es una lista de registros (líneas) separados por un salto de línea. RMS es un ejemplo de un sistema de archivos orientado a registros .

RMS define cuatro formatos de registro :

  • Longitud fija: todos los registros del archivo tienen la misma longitud.
  • Longitud variable: los registros varían en longitud, y cada registro va precedido de un byte que indica su longitud.
  • Longitud de registro variable con control de longitud fija: los registros varían en longitud, pero van precedidos de un bloque de control de longitud fija.
  • En los archivos de flujo, la longitud de los registros varía y cada registro está separado del siguiente por un carácter de terminación. Un archivo de texto es un ejemplo de archivo de formato de flujo que utiliza saltos de línea o retornos de carro para separar los registros.

Existen cuatro métodos de acceso a registros , o métodos para recuperar registros existentes de los archivos:

  • Acceso secuencial: comenzando con un registro en particular, los registros subsiguientes se recuperan en orden hasta el final del archivo.
  • Acceso mediante número de registro relativo: los registros se recuperan mediante un número de registro relativo al inicio del archivo.
  • Acceso a la dirección del archivo de registros: los registros se recuperan directamente por su ubicación en el archivo (RFA o dirección del archivo de registros).
  • Acceso indexado: los registros se recuperan mediante una clave, en forma de asignación clave-valor .

Disposición física: la estructura en disco

A nivel de disco, ODS representa el sistema de archivos como una matriz de bloques , donde un bloque consta de 512 bytes contiguos en un disco físico ( volumen ). Los bloques de disco se asignan en clústeres (originalmente 3 bloques contiguos, pero posteriormente se incrementó con discos de mayor tamaño). Idealmente, un archivo en el disco será completamente contiguo, es decir, los bloques que contienen el archivo serán secuenciales, pero la fragmentación del disco a veces requiere que el archivo se ubique en clústeres discontinuos, en cuyo caso los fragmentos se denominan extensiones . Los discos se pueden combinar con otros discos para formar un conjunto de volúmenes y los archivos se almacenan en cualquier lugar de ese conjunto de discos, pero los discos de mayor tamaño han reducido el uso de conjuntos de volúmenes porque la administración de un solo disco físico es más sencilla.

Cada archivo en un disco (o conjunto de volúmenes) de Files-11 tiene una identificación de archivo única (FID), compuesta por tres números: el número de archivo (NUM), el número de secuencia de archivo (SEQ) y el número de volumen relativo (RVN). El NUM indica la INDEXF.SYSubicación de los metadatos del archivo (véase más abajo); el SEQ es un número de generación que se incrementa cuando se elimina el archivo y se crea otro que reutiliza la misma entrada INDEXF.SYS (para que las referencias pendientes al archivo antiguo no apunten accidentalmente al nuevo); y el RVN indica el número de volumen en el que se almacena el archivo cuando se utiliza un conjunto de volúmenes.

Directorios

La estructura de soporte de un volumen ODS se basa en un archivo de directorio , un archivo especial que contiene una lista de nombres de archivo, números de versión y sus identificadores de archivo (FID) asociados, similar a los catálogos VSAM en MVS y a los directorios en los sistemas de archivos Unix y NTFS . En la raíz de la estructura de directorios se encuentra el directorio maestro de archivos (MFD), el directorio raíz que contiene (directa o indirectamente) todos los archivos del volumen.

Este diagrama muestra un directorio de ejemplo que contiene 3 archivos, y la forma en que cada nombre de archivo se asigna a la INDEXF.SYSentrada (cada entrada INDEXF contiene más información; aquí solo se muestran los primeros elementos).

El directorio maestro de archivos

En el nivel superior de un sistema de archivos ODS se encuentra el directorio maestro de archivos (MFD), que contiene todos los archivos de directorio de nivel superior (incluido él mismo) y varios archivos del sistema utilizados para almacenar información del sistema de archivos. En los volúmenes ODS-1, se utiliza una estructura de directorio de dos niveles: cada código de identificación de usuario (UIC) tiene un directorio de archivos de usuario (UFD) asociado, con el formato [GROUP.USER]. En los volúmenes ODS-2 y posteriores, la disposición de los directorios bajo el MFD es de formato libre, sujeta a un límite en el anidamiento de directorios (8 niveles en ODS-2 e ilimitado en ODS-5). En conjuntos de varios volúmenes, el MFD siempre se almacena en el primer volumen y contiene los subdirectorios de todos los volúmenes.

Los siguientes archivos del sistema están presentes en el MFD de ODS:

  • INDEXF.SYS;1 Archivo de índice
  • BITMAP.SYS;1 Archivo de mapa de bits de almacenamiento
  • BADBLK.SYS;1 Archivo de bloque defectuoso
  • 000000.DIR;1 El propio archivo de directorio MFD
  • CORIMG.SYS;1 Archivo de imagen principal
  • VOLSET.SYS;1 Archivo de lista de conjuntos de volumen (solo ODS-2/5)
  • CONTIN.SYS;1 Archivo de continuación (solo ODS-2/5)
  • BACKUP.SYS;1 Copia de seguridad del archivo de registro (solo ODS-2/5)
  • BADLOG.SYS;1 Bloque defectuoso pendiente (solo ODS-2/5)
  • SECURITY.SYS;1 Perfil de seguridad de volumen (solo ODS-2/5)
  • QUOTA.SYS;1 Archivo de cuotas (opcional y disponible solo en ODS-2/5)
  • GPT.SYS;1 Tabla de particionamiento GUID (GPT) (estructuras de arranque EFI I64 de OpenVMS, opcional en OpenVMS Alpha)

Tenga en cuenta que la implementación del sistema de archivos en sí no se refiere a estos archivos por su nombre, sino por sus identificadores de archivo, que siempre tienen los mismos valores. Por lo tanto, INDEXF.SYS siempre es el archivo con NUM = 1y SEQ = 1.

Archivo de índice: INDEXF.SYS

El archivo de índice contiene la información más básica sobre un conjunto de volúmenes Files-11.

Existen dos formas de organizar INDEXF.SYS: la organización tradicional y la organización utilizada en discos con GPT.SYS, con estructuras de tabla de particiones GUID (GPT).

En la organización tradicional, el bloque 1 es el bloque de arranque , que contiene la ubicación de la imagen de arranque principal , utilizada para cargar el sistema operativo VMS. Esta siempre se encuentra en el bloque lógico 0 del disco, para que el firmware del hardware pueda leerla. Este bloque siempre está presente, incluso en volúmenes que no son del sistema (no de arranque).

Tras el bloque de arranque se encuentra el bloque principal . Este contiene el nombre del volumen , la ubicación de las extensiones que componen el resto del archivo de índice, el UIC del propietario del volumen y la información de protección del volumen . Normalmente existen varias copias adicionales del bloque principal, conocidas como bloques secundarios , para permitir la recuperación del volumen en caso de pérdida o daño.

En discos con GPT.SYS, este archivo contiene el equivalente al bloque de arranque (conocido como Registro de Arranque Maestro (MBR)), y no existe un bloque de inicio principal. Todos los bloques de inicio presentes en un disco basado en GPT son bloques de inicio alternativos. Estas estructuras no se incluyen en INDEXF.SYS, y los bloques de este archivo no se utilizan.

El resto del archivo de índice se compone de encabezados de archivo , que describen las extensiones asignadas a los archivos que residen en el volumen, y metadatos de archivo como el UIC del propietario, las ACL y la información de protección. Cada archivo se describe mediante uno o más encabezados de archivo ; puede ser necesario más de uno cuando un archivo tiene un gran número de extensiones. El encabezado de archivo es un bloque de longitud fija, pero contiene secciones de longitud fija y variable .

  • El encabezado contiene el NUM y el SEQ, la información de protección (seguridad) y la ubicación del resto del encabezado del archivo.
  • La sección ident contiene los metadatos de contabilidad: el nombre del archivo, las fechas de creación y modificación, y la hora de la última copia de seguridad.
  • El mapa describe qué bloques de disco físico (extensiones) se corresponden con cada bloque virtual del archivo.
  • La lista de control de acceso contiene la información ACL para el archivo.
  • El área reservada es el espacio al final del encabezado del archivo que no utiliza el sistema operativo. Este espacio puede utilizarse para información específica del cliente o del proveedor.
  • Los dos últimos bytes del encabezado son una suma de verificación de las 255 palabras anteriores, para comprobar la validez del encabezado.

De ser posible, las secciones de mapa y ACL del encabezado se incluyen completamente en el encabezado principal . Sin embargo, si la ACL es demasiado larga o el archivo contiene demasiadas extensiones, no habrá suficiente espacio en el encabezado principal para almacenarlas. En este caso, se asigna un encabezado de extensión para almacenar la información sobrante.

Diseño del INDEXF.SYSencabezado.

El encabezado del archivo comienza con cuatro desplazamientos ( IDOFFSET , MPOFFSET , ACOFFSET y ROFFSET ). Dado que el tamaño de las áreas posteriores al encabezado de longitud fija puede variar (como las áreas de mapa y ACL), se requieren estos desplazamientos para localizar dichas áreas adicionales. Cada desplazamiento corresponde al número de palabras de 16 bits desde el inicio del encabezado del archivo hasta el inicio de esa área.

Si el archivo requiere varios encabezados, el número de segmento de extensión ( SEGNUM ) contiene el número de secuencia de este encabezado, comenzando en 0 en la primera entrada en INDEXF.SYS.

STRUCLEV contiene el nivel de estructura actual (en el byte alto) y la versión (en el byte bajo) del sistema de archivos; ODS-2 corresponde al nivel de estructura 2. Un aumento en el número de versión indica un cambio compatible con versiones anteriores que el software antiguo puede ignorar; los cambios en el nivel de estructura en sí son incompatibles.

W_FID (que contiene tres valores: FID_NUM , FID_SEQ y FID_RVN , correspondientes al archivo, la secuencia y el número de volumen relativo) contiene la ID de este archivo; EXT_FID (también compuesto por tres valores) almacena la ubicación del siguiente encabezado de extensión, si lo hay. En ambos casos, el RVN se especifica como 0 para representar el volumen "actual" (normalmente, 0 no es un RVN válido).

FILECHAR contiene varias banderas que afectan la forma en que se maneja u organiza el archivo:

  • La opción NOBACKUP hace que este archivo se ignore cuando se ejecuta una copia de seguridad .
  • WRITEBACK permite realizar escrituras en caché (retrasadas) en el archivo.
  • READCHECK hace que todas las lecturas del archivo se realicen dos veces y se comparen para garantizar la integridad de los datos.
  • WRITCHECK garantiza que todas las escrituras sean verificadas mediante una lectura y comparación posterior.
  • CONTIGB hace que el sistema operativo intente asignar espacio de almacenamiento para el archivo de la forma más contigua posible.
  • El valor LOCKED se establece si el archivo está bloqueado para desacceso. Si se establece, esto indica que el archivo no se cerró correctamente después de su último uso y que su contenido puede ser inconsistente.
  • CONTIG indica que el archivo se almacena de forma contigua en el disco; es decir, cada bloque virtual i se asigna al bloque lógico (físico) i + k , para alguna constante k .
  • BADACL se establece si el archivo tiene una lista de control de acceso no válida.
  • SPOOL se activa si el archivo es un archivo de cola de impresión, como por ejemplo un archivo intermedio utilizado durante la impresión.
  • El parámetro DIRECTORY se establece si el archivo es un directorio.
  • BADBLOCK se establece si el archivo contiene bloques defectuosos.
  • MARKDEL se activa si el archivo ha sido marcado para su eliminación, pero aún está en uso; se eliminará una vez que lo cierre el último usuario.
  • Si se establece NOCHARGE , el espacio utilizado por el archivo no se descontará de la cuota de almacenamiento del propietario.
  • La función ERASE provoca que el contenido del archivo se sobrescriba cuando se elimina.

ACCMODE describe el nivel de privilegio que debe tener un proceso para acceder al archivo. VMS define cuatro niveles de privilegio: usuario, supervisor, exec y kernel. Cada tipo de acceso (lectura, escritura, ejecución y eliminación) se codifica como un entero de 2 bits.

FILEPROT contiene la información de control de acceso discrecional para el archivo. Está dividido en 4 grupos de 4 bits cada uno: sistema, propietario, grupo y público. El bit 0 corresponde al acceso de lectura, el 1 al de escritura, el 2 al de ejecución y el 3 al de eliminación. Al activar un bit, se deniega el acceso a un grupo específico; al desactivarlo, se permite.

Si el encabezado del archivo es un encabezado de extensión, BACKLINK contiene el ID del archivo del encabezado principal; de lo contrario, contiene el ID del archivo del directorio que contiene la entrada principal para el archivo.

Otros archivos

  • Archivo de mapa de bits de almacenamiento:BITMAP.SYS
El archivo de mapa de bits se encarga de almacenar información sobre el espacio utilizado y disponible en un volumen. Contiene el bloque de control de almacenamiento (SCB), que incluye información resumida que detalla  ???, y el mapa de bits, una matriz de bits que indica si un grupo de bloques en el disco está libre o asignado. En las primeras versiones de VMS, el grupo constaba de 3 bloques, pero a medida que el tamaño de los discos ha aumentado, también lo ha hecho el tamaño del grupo.
  • Archivo de bloque defectuoso:BADBLK.SYS
El archivo de bloques defectuosos contiene todos los bloques defectuosos conocidos en el volumen físico. Su propósito es evitar que el sistema los asigne a archivos. Este archivo se utilizaba más en los inicios, cuando los discos solían fabricarse con más zonas defectuosas en la superficie.
  • Archivo de lista de conjuntos de volumen:VOLSET.SYS
La lista de volúmenes se encuentra en el volumen 1 de un conjunto de volúmenes y contiene una lista de las etiquetas de todos los volúmenes del conjunto, así como el nombre del volumen del conjunto.
  • Archivo de continuación:CONTIN.SYS
Cuando un archivo en un conjunto de varios volúmenes cruza el límite de dos volúmenes constituyentes, el archivo de continuación se utiliza como su encabezado de extensión y describe el volumen donde se puede encontrar el resto del archivo.
  • Archivo de cuotas:QUOTA.SYS
El archivo de cuotas contiene información sobre el uso del espacio en disco de cada UIC en un volumen. Incluye un registro para cada UIC con espacio asignado en un volumen, junto con información sobre la cantidad de espacio que está utilizando. NOTA: La función CUOTA DE DISCO es opcional y el archivo solo existirá si esta función se habilitó alguna vez.
  • Perfil de seguridad de volumen:SECURITY.SYS
El perfil de seguridad del volumen contiene el UIC del propietario del volumen, la máscara de protección del volumen y su lista de control de acceso.
  • Tabla de particionamiento GUID:GPT.SYS
Este archivo se superpone y protege las estructuras de disco MBR (Master Boot Record) y GPT (GUID Partitioning Table) utilizadas por el firmware compatible con la Interfaz de Firmware Extensible (Extensible Firmware Interface) . Este archivo se crea por defecto durante la inicialización del disco en OpenVMS I64 y x86-64, y se crea opcionalmente (con INITIALIZE/GPT) en OpenVMS Alpha.

Véase también

Referencias

  1. Guía del usuario del RSX-11D (PDF) . Digital Equipment Corporation . Noviembre de 1975. 3.2.8 Protección de volumen y archivos. DEC-11-0XDUA-8-D.
  2. Manual de procedimientos del operador RSX-11M (PDF) . Digital Equipment Corporation . Septiembre de 1975. 3.2.1 Protección de archivos. DEC-11-OMOGA-BD.
  3. Guía de administración del sistema IAS (PDF) . Digital Equipment Corporation . Mayo de 1990. 6.2.3 Protección. AA-2520F-TC.
  4. Andrew C. Goldstein (19 de junio de 1975). Especificación de la estructura en disco Files-11 (PDF) . Digital Equipment Corporation . 3.4.1.7 Código de protección de archivos H.FPRO de 2 bytes.
  5. "Manual del usuario de OpenVMS" (PDF) . vmssoftware.com . VSI. Julio de 2020. Capítulo 14, Programación avanzada con DCL . Consultado el 9 de abril de 2021 .

Lecturas adicionales

  • Andrew C. Goldstein (1975-06-19). "Especificación de la estructura en disco de Files-11" (PDF) .
  • Andrew C. Goldstein (1985-01-11). "Especificación de la estructura en disco de Files-11" .
  • VMS Software, Inc. (agosto de 2019). "Apéndice A: Estructura del disco Files-11". Manual del administrador del sistema VSI OpenVMS, volumen 2: Ajuste, supervisión y sistemas complejos (PDF) .
  • Kirby McCoy (1990). VMS File System Internals . Bedford, Mass.: Digital Press. ISBN 1-55558-056-4.
  • Guía de aplicaciones de archivos de OpenVMS
  • VMS2Linux
Obtenido de " https://en.wikipedia.org/w/index.php?title=Files-11&oldid=1350580580 "