Sistemas operativos modernos
Un archivo NTFS no es sólo una sucesión lineal de bytes, como los archivos FAT-32 y UNIX. Más bien, un archivo consiste en múltiples atributos, cada uno de los cuales se repre senta con un flujo de bytes. Casi todos los archivos tienen unos cuantos flujos cortos, como el nombre del archivo y su identificador de objeto de 64 bits, y un flujo largo (sin nombre) que confiene los datos. Sin embargo, un archivo también puede tener dos o más flujos de datos (lar gos). Cada flujo fiene un nombre que consta del nombre del archivo, un signo de dos puntos y el nombre del flujo, como en algo:flujol. Cada flujo tiene su propio tamaño y se puede blo quear con independencia de todos los demás flujos. La idea de múltiples flujos en un archivo se tomó de la Apple Macintosh, en la que los archivos tienen dos flujos, la rama de datos y la rama de recursos. Este concepto se incorporó en NTFS para que un servidor NTFS pueda ser vir a clientes Macintosh. Los flujos de archivos pueden usarse para otros fines distintos de la compafibilidad con Macintosh. Por ejemplo, un programa de fotoedición podría usar el flujo sin nombre para la imagen principal y un flujo con nombre para una versión en miniatura. Este esquema es más sencillo que el método tradicional de colocar las imágenes en el mismo archivo una tras otra. Otro uso de los flujos es en el procesamiento de texto. Estos programas a menudo crean dos versiones de un documento, una temporal que se usa durante la edición, y una final, cuando el usuario ha terminado. Si se hace que la versión temporal sea un flujo con nombre y la versión final sea uno sin nombre, ambas versiones compartirán en forma automática un nombre de ar chivo, información de seguridad, marcas de tiempo, etcétera, sin necesidad de efectuar trabajo adicional. La longitud máxima de un flujo es de 2 ^ bytes. Para tener una idea de qué tan largo es un flujo de 2 ^ bytes, imaginemos que se escribe en binario, y que cada uno de los ceros y unos de cada byte ocupa 1 mm de espacio. El listado de 2^^ mm tendría una longitud de 15 años luz, y se extendería mucho más allá del Sistema Solar, hasta Alfa Centauro y de regreso. Se em plean apuntadores de archivo para llevar el control del punto dentro de cada flujo en el que un proceso está en un momento dado; fienen 64 bits para manejar el flujo de longitud máxima, que es de alrededor de 18.4 exabytes. Las llamadas a funciones de la API Win32 para manipular archivos y directorios son simi lares a sus contrapartes en UNIX, excepto que tienen más parámetros y el modelo de seguridad es disfinto. La apertura de un archivo devuelve un identificador, que entonces se usa para leer y escribir el archivo. En el caso de aplicaciones gráficas, no hay idenfificadores de archivo pre definidos. La entrada estándar, la salida estándar y el error estándar tienen que obtenerse de manera explícita si se necesitan; sin embargo, en modo de consola se abren antes. Win32 fie ne además varias llamadas que no están presentes en UNIX. 11.7.2 Llamadas a la API para el sistema de archivos en Windows 2000 Las principales funciones de la API Win32 para administración de archivos se presentan en la figura 11-31. En realidad hay muchas más, pero éstas dan una primera impresión razonable de las funciones básicas. A confinuación examinaremos en forma breve estas llamadas. Create- File puede servir para crear un archivo nuevo y devolver el idenfificador correspondiente. Es ta función API también debe utilizarse para abrir archivos existentes, pues no existe una
RkJQdWJsaXNoZXIy MjI4NDcx