Requisito previo: sistema de archivos La gestión de archivos y la gestión de dispositivos están interrelacionadas entre sí. A continuación se muestra una jerarquía utilizada para realizar las funciones requeridas de un sistema de E/S de manera eficiente.
El módulo de nivel más alto llamado Sistema de archivos básico pasa la información que se le proporciona al Sistema de archivos lógicos , que a su vez notifica al Sistema de archivos físicos , que funciona con el Administrador de dispositivos. Cada nivel de la jerarquía se implementa mediante programación estructurada y modular, y la información pasa del módulo de posición superior al módulo de posición inferior. A través de esto, realizan los servicios requeridos y continúan la comunicación en la string. El nivel más bajo de su string se comunica con el dispositivo físico e interactúa con el Administrador de dispositivos. Tomemos un ejemplo-
Ejemplo: Lea el registro número 17 del archivo X en Y: X es el nombre de un archivo de acceso directo previamente abierto para la entrada e Y es el nombre de un registro de datos previamente definido dentro del programa y que ocupa una ubicación de memoria específica. Como el archivo X ya se abrió, ya se buscó en el directorio del archivo para verificar la existencia del archivo. La información relevante sobre el archivo X se ha incluido en la tabla de archivos activos del sistema operativo, y esta información incluye el tamaño del archivo, la dirección de su primer registro físico, su protección y la información de control de acceso. Esta información es utilizada por el Sistema de Archivo Básico , que activa el Módulo de Verificación de Control de Accesopara verificar si el usuario tiene permiso para realizar esta operación o no. Si el usuario tiene permiso, la información y el control pasan al Sistema de archivos lógicos . Si no se permite, se deniega el acceso y no se pasa la información y el control. La información transmitida al Sistema de archivos lógicos se usa para convertir el número de registro en su dirección de bytes usando la fórmula:
CBA = (RN - 1) * RL
Este resultado y la información se transmiten al Sistema de archivos físicos , que calcula la ubicación donde residiría físicamente el registro deseado. Si hay más de un registro en ese bloque, calculará el desplazamiento del registro dentro de ese bloque usando la fórmula:
block number = integers (byte address / physical block size) + address of first physical record offset = remainder (byte address / physical block size)
Esta información se pasa al Módulo de interfaz del dispositivo , que transforma el número de bloque en la combinación real de cilindro/superficie/registro necesaria para recuperar la información del dispositivo de almacenamiento físico. Una vez recuperado, entra en juego el algoritmo de programación del dispositivo. La información se coloca en el búfer y el control regresa al sistema de archivos físico, que copia la información en la ubicación de memoria deseada. Una vez finalizado, se pasa el mensaje “Todo despejado” a todos los módulos. Cualquier otro comando se maneja de la misma manera. En el momento en que el control llega al controlador del dispositivo, se llama al módulo de asignación, ya que es responsable de realizar un seguimiento de las áreas de memoria no utilizadas.
Nota: En cada nivel del sistema de gestión de archivos, se produce el proceso de examinar si la solicitud es válida o no. Primero ocurre a nivel de directorio cuando el sistema de archivos verifica si el archivo existe o no. A continuación, ocurre cuando el módulo de verificación de control de acceso verifica si el acceso está permitido o no. El siguiente ocurre cuando el sistema de archivos lógicos verifica si el byte solicitado está dentro de los límites del archivo. En el último, la verificación ocurre cuando el módulo de interfaz del dispositivo verifica si el dispositivo de almacenamiento existe o no. Por lo tanto, una operación de cada comando de usuario necesita el esfuerzo coordinado de cada módulo del sistema de archivos.
Publicación traducida automáticamente
Artículo escrito por Tarun_Singhal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA