Sistemas operativos modernos
un nuevo objeto creado por el administrador de objetos. El objeto, que no tiene nombre, con tiene el índice del registro MFT correspondiente al archivo. Se devuelve al proceso invocador un identificador para este objeto. En llamadas ReadFile subsiguientes, se proporcionará el identificador, lo cual permite al administrador de objetos encontrar el índice y luego el conte nido del registro MFT del archivo. Si un subproceso de un segundo proceso también abre el ar chivo, obtendrá un identificador para un nuevo objeto de archivo. Además de archivos normales y directorios, NTFS maneja enlaces duros en el sentido de UNIX, y también enlaces simbólicos empleando un mecanismo llamado puntos de reanálísis {reparse points). Es posible marcar un archivo o directorio como punto de reanálisis y asociar le un bloque de datos. Cuando se encuentra el archivo o directorio durante el análisis de un nombre de archivo, se acfiva un procesamiento de excepción y se interpreta el bloque de datos. Éste puede hacer diversas cosas, que incluyen redirigir la búsqueda a una parte disfinta de la jerarquía de directorios o incluso a una partición disfinta. Este mecanismo sirve para manejar tanto enlaces simbólicos como sistemas de archivos montados. Compresión de archivos NTFS maneja una compresión transparente de archivos. Puede crearse un archivo en modo comprimido, lo que significa que NTFS tratará en forma automática de comprimir los bloques a medida que se escriben en el disco y los descomprimirá de manera automáfica cuando se lean. Los procesos que leen o escriben archivos comprimidos no son conscientes en absoluto del he cho de que se está efectuando compresión y descompresión. La compresión funciona como sigue. Cuando NTFS escribe en disco un archivo marcado para compresión, examina los primeros 16 bloques (lógicos) del archivo, sin importar cuántas series ocupen. Luego les aplica un algoritmo de compresión. Si los datos resultantes pueden al macenarse en 15 bloques o menos, los datos comprimidos se escriben en el disco, de preferen cia en una sola serie si es posible. Si los datos comprimidos siguen ocupando 16 bloques, se escriben 16 bloques sin compresión. Luego los bloques 16 a 31 se examinan para ver si se pue den comprimir a 15 bloques o menos, y así en forma sucesiva. La figura 11-40a muestra un archivo en el que los primeros 16 bloques se han logrado comprimir a ocho, los segundos 16 bloques no lograron comprimirse y los terceros 16 bloques también se comprimieron en un 50%. Las tres partes se escribieron en forma de tres series que se almacenaron en el registro MFT. Los bloques “faltantes” se almacenan en la entrada MFT con direcciones de disco O, como se muestra en la figura 1l-40b. Aquí el encabezado (O, 48) va seguido de cinco pares, dos para la primera serie (comprimida), uno para la serie no com primida y dos para la serie final (comprimida). Cuando se lee después el archivo, NTFS necesita saber cuáles series están comprimidas y cuáles no. Eso lo deduce con base en las direcciones de disco. Una dirección de disco Oindi ca que es la parte final de 16 bloques comprimidos. El bloque de disco Ono puede usarse pa ra almacenar datos, para evitar ambigüedades. Puesto que ese bloque confiene el sector de arranque, ya de por sí era imposible usarlo para datos. El acceso aleatorio a archivos comprimidos es posible, pero complicado. Supongamos que un proceso quiere el bloque 35 de la figura 11-40. ¿Cómo hace NTFS para localizar el bloque 35
RkJQdWJsaXNoZXIy MjI4NDcx