Conceptos Esenciales de Gestión de E/S y Archivos en Sistemas Operativos
Clasificado en Informática
Escrito el en español con un tamaño de 4,63 KB
Gestión de la E/S
Controlador de Dispositivo
- Pasa datos al driver mediante el puerto de salida.
- Recibe datos del driver mediante el puerto de entrada.
- El controlador genera interrupciones para comunicarse con el driver, indicando:
- Que ha terminado una operación.
- Que está listo para recibir una nueva operación.
- Que se ha producido un error.
Acceso Directo a Memoria (DMA)
- El controlador DMA transfiere un bloque completo de datos directamente entre su propio búfer y la Memoria Principal, sin intervención de la CPU.
- Solo se genera una interrupción por bloque transferido.
- Funcionamiento: Ante una petición de E/S contra el periférico:
- El driver configura el controlador DMA para que realice la transferencia (especificando direcciones de origen y destino, y la cantidad de bytes a transferir).
- Le ordena al controlador DMA que inicie la transferencia.
- Mientras el controlador DMA realiza la transferencia, la CPU puede ejecutar otros procesos.
- Dado que en la Memoria Principal normalmente solo se puede realizar una operación de lectura o escritura a la vez, el controlador DMA "roba" ciclos a la CPU para acceder a la Memoria Principal. Durante estos ciclos, la CPU no puede leer ni escribir en la Memoria Principal.
- El controlador DMA interrumpe a la CPU cuando ha terminado de transferir todos los datos.
Gestión de Archivos
Visión Lógica de Archivos
- Un archivo es una sucesión de registros lógicos.
- Estos registros pueden ser:
- Bytes.
- Estructurados en campos.
- El Sistema Operativo (SO) puede o no facilitar diferentes tipos de registros lógicos.
Visión Física de Archivos
- Un archivo es una sucesión de registros físicos (en disco: bloques).
- Un bloque es un conjunto de bytes que se transfieren en una operación de E/S.
- Consideraciones sobre el tamaño del bloque:
- Un bloque pequeño implica poca eficiencia (más interrupciones).
- Un bloque grande puede causar fragmentación interna.
- Su tamaño es definido por el Sistema Operativo y por el dispositivo físico.
- Factor de blocaje: Número de registros lógicos por registro físico.
Punteros y Tipos de Acceso a Archivos
- Un puntero es la dirección del primer registro lógico del archivo a partir del cual se va a leer o escribir.
- En cada operación de lectura o escritura, el puntero se incrementa en el número de registros lógicos leídos o escritos.
- Tipos de acceso a un archivo:
- Acceso secuencial: Los registros lógicos del archivo se procesan en orden.
- Acceso directo: Se accede directamente a cualquier registro lógico, actualizando el puntero a la dirección de ese registro.
Asignación de Espacio en Disco
Existen diferentes métodos para la asignación de espacio en disco a los archivos:
- Contigua: Los bloques asignados son consecutivos.
- Desventaja: Puede generar fragmentación externa, requiriendo compactación.
- Encadenada: Cada bloque contiene la dirección del siguiente bloque.
- Ventaja: Facilita el acceso secuencial.
- Enlazada (o por tabla de asignación): Se utiliza una tabla con tantas entradas como bloques. Cada entrada contiene el número del bloque siguiente (ejemplo: FAT en MS-DOS y Windows).
- Desventaja: La tabla puede volverse muy grande.
- Indexada: Cada archivo tiene una estructura propia (conocida como inodo en sistemas UNIX) que contiene:
- Los atributos del archivo.
- Los números de los bloques asignados al archivo.
Directorios y Carpetas
- Los directorios o carpetas permiten al usuario organizar sus archivos.
- Son grupos de archivos y/o subdirectorios.
- Un directorio es a su vez un archivo (generalmente una tabla) que contiene una entrada por cada archivo o subdirectorio que cuelga de él. Cada entrada incluye información como:
- Nombre simbólico.
- Propietario.
- Grupo.
- Número de bloques que ocupa.
- O, alternativamente, el nombre simbólico y la dirección del inodo.