Red de conocimiento informático - Material del sitio web - Programación de discos múltiples

Programación de discos múltiples

uno. ? Distribución continua

Principio: cuando se crea un archivo, se asigna un conjunto de bloques consecutivos; la FAT (Tabla de asignación de archivos) contiene solo una entrada para cada archivo, que indica el bloque inicial y la longitud del archivo. Esto es beneficioso para archivos secuenciales.

Ventajas: 1. Simple. Adecuado para una operación de escritura. 2. Admite acceso secuencial y acceso aleatorio, con acceso secuencial rápido. 3. Número mínimo de búsquedas de disco y tiempo de búsqueda requerido. (Debido a la continuidad del espacio, al acceder al siguiente bloque de disco, generalmente no es necesario mover el cabezal magnético. Cuando es necesario mover el cabezal magnético, solo es necesario mover una pista).

Desventajas: 1. Los archivos no pueden crecer dinámicamente. (Quizás el bloque vacío al final del archivo se haya asignado a otro archivo). 2. No favorece la inserción y eliminación de archivos. 3. Problema de fragmentación externa. (Después de repetidas adiciones y eliminaciones de archivos, es difícil encontrar bloques contiguos con suficiente espacio y es necesario reducirlos). 4. El tamaño del archivo debe determinarse al crear un archivo.

Como se muestra en la imagen:

Dos. ? Asignación encadenada

Principio: la información de un archivo se almacena en varios bloques físicos discontinuos. Los bloques físicos están conectados con punteros y el bloque físico anterior apunta al siguiente bloque físico. Cada archivo en FAT también requiere solo un elemento, incluido el nombre del archivo, el número del bloque inicial y el número del último bloque. Cualquier bloque libre se puede agregar a la cadena.

Ventajas: 1. Mejore la utilización del espacio en disco y elimine los problemas de fragmentación externa. 2. Facilita la inserción y eliminación de archivos. 3. Facilita la expansión dinámica de archivos.

Desventajas: 1. La velocidad de acceso es lenta y generalmente solo es adecuada para el acceso secuencial a la información, no para el acceso aleatorio. 2. Para encontrar un bloque, debes seguir el puntero de principio a fin. 3. Problemas de confiabilidad, como errores de puntero. 4. Pide más veces y más tiempo. 5. El puntero de enlace ocupa una cierta cantidad de espacio. Varios bloques forman grupos y se asignan según grupos en lugar de bloques. (Aumento de la fragmentación del disco)

Como se muestra en la figura:

Utilice el método de la tabla de asignación de archivos FAT para vincular variables de asignación, como MS-DOS y OS/2.

Tres. ? Asignación de índice

Principio: cada archivo tiene un índice primario en la FAT que contiene entradas asignadas a cada partición del archivo. El índice del archivo se almacena en un bloque separado y la entrada del archivo en FAT apunta a este bloque.

Ventajas: 1. Conserva las ventajas de la estructura de enlaces y resuelve sus desventajas: la asignación rápida puede eliminar la fragmentación externa. La asignación de particiones de tamaño variable puede mejorar la localidad. La asignación de índices admite tanto el acceso secuencial a archivos como el acceso directo a archivos, que es un enfoque ampliamente utilizado. 2. Cumple con los requisitos de crecimiento, inserción y eliminación dinámica de archivos. (Mientras queden bloques libres) 3. Aprovecha al máximo tu espacio de almacenamiento externo.

Desventajas: 1. Pide más espacio. 2. La tabla de índice en sí generará una sobrecarga del sistema, como el espacio de memoria interna y externa y el tiempo de acceso.

Como se muestra en la imagen:

Cuatro. ? Combinando asignación continua y asignación exponencial

Principio: para archivos pequeños (3 o 4 bloques), use la asignación continua cuando el archivo sea grande, cambie automáticamente a la asignación de índice;

Acceso directo a archivos: utilice asignación continua.

Acceso secuencial a archivos: utilice asignación encadenada.

Para estos sistemas se debe especificar el tipo de acceso utilizado cuando se crea el archivo.

¿Verbo (abreviatura de verbo)? Índice múltiple

Principio: en primer lugar, el índice múltiple también es un tipo de asignación de índice, excepto que coloca las direcciones de todas las tablas de índice (índices secundarios) de un archivo grande en otra tabla de índice (índice primario). ) adentro. Ps: muy similar a la cuarta forma normal de la base de datos.

Archivos grandes: un archivo con un tamaño de bloque de 1 kb y una longitud de 100 kb requiere 100 bloques y al menos 100 entradas en la tabla de índice; si el tamaño del archivo es de 1000 kb, habrá 1000 entradas en la tabla de índice; tabla de índice. Si el número de bloque del disco está representado por 4 bytes, la tabla de índice ocupará al menos 4000 bytes (aproximadamente 4k).

Hay problemas cuando el archivo es grande: 1. Se requieren muchos bloques de disco. 2. La tabla de índice es muy grande. 3. No se puede guardar toda la tabla de índice en la memoria.

Solución: utilizar una estructura de tabla de índice múltiple.

Como se muestra en la figura:

Icono de estructura de tabla de índice múltiple: