Sistemas operativos modernos

tensión necesarios y sus índices se colocan en el registro base. El resto del registro se usa pa­ ra las primeras k series de datos. 109 108 K jS e r ie #m+l| 107 I Serien 106 105 H lS e r ie #k+1 104 I Serie m 103 1 0 2 ^ 1 MFT105 IMFT108 miserie #1|---I 101 100 Segundo registro de extensión Primer registro de extensión Registro base Figura 11-37. Archivo que requiere tres registros M F T para almacenar todas sus series. Observe que la figura 11-37 confiene cierta redundancia. En teoría, no debería ser necesa­ rio especificar el final de una secuencia de series, porque esta información puede calcularse a partir de los pares de serie. El motivo para “sobreespecificar” esta información es hacer más eficiente el desplazamiento del brazo de disco: para encontrar un bloque que está a un despla­ zamiento dado de archivo, basta con examinar los encabezados de los registros; no es necesa­ rio examinar los pares de serie. Cuando se ha ocupado todo el espacio del registro 102, el almacenamiento de las series confinúa en el registro MFT 105. En este registro se meten tantas series como quepan. Cuan­ do se llene también este registro, el resto de las series se guardan en el registro MFT 108. Así, pueden usarse muchos registros MFT para manejar archivos grandes fragmentados. Surge un problema si se necesitan tantos registros MFT que no haya suficiente espacio en el registro base para dar todos sus índices. Este problema tiene una solución: la lista de regis­ tros MFT de extensión se hace no residente (es decir, se almacena en disco y no en el registro MFT base). Así, podrá crecer hasta el tamaño necesario. En la figura 11-38 se muestra una entrada de MFT para un directorio pequeño. El registro contiene varias entradas de directorio, cada una de las cuales describe un archivo o directorio. Cada entrada tiene una estructura de longitud fija seguida de un nombre de archivo de longi­ tud variable. La parte fija contiene el índice de la entrada de MFT correspondiente al archivo, la longitud del nombre de archivo y otros campos e indicadores diversos. La búsqueda de una en­ trada en un directorio se efectúa examinando todos los nombres de archivo por turno. Los directorios grandes emplean un formato disfinto. En lugar de enumerar los archivos de manera lineal, se ufiliza un árbol B+ para poder efectuar una búsqueda alfabéfica y facilitar la inserción de nuevos nombres de archivo en el lugar correcto del directorio. Búsqueda de nombres de archivo Ya tenemos suficiente información para entender cómo se buscan los nombres de archivo. Cuando un programa de usuario quiere abrir un archivo, por lo regular emite una llamada como CreateFile("C:\maria\web.htm", ...)

RkJQdWJsaXNoZXIy MjI4NDcx