Sistemas operativos modernos
Muchas computadoras tienen dos o más discos. Por ejemplo, en los mainframes de los ban cos con frecuencia es necesario tener 100 o más discos en una sola máquina, para almacenar las enormes bases de datos que se requieren. Incluso las computadoras personales general mente tienen al menos dos discos: un disco duro y una unidad de disquete. Cuando hay múlti ples unidades de disco, surge la pregunta de cómo deben manejarse. Una solución consiste en colocar un sistema de archivos autónomo en cada una, y simple mente mantenerlos separados. Por ejemplo, consideremos la situación que se muestra en la figu ra 10-26a. Aquí tenemos un disco duro, al que llamaremos C:, y un disquete, al que llamaremos A:. Cada uno tiene su propio directorio raíz y sus propios archivos. Con esta solución, el usuario tiene que especificar tanto el dispositivo como el archivo cuando requiera otra cosa que no sea el dispositivo predeterminado. Por ejemplo, para copiar el archivo x en el directorio d (supo niendo que C: es el disco predeterminado), debería teclear cp A:/x /a/d/x Éste es el enfoque que adoptan sistemas como MS-DOS, Windows 98 y VMS. Disco duro Disquete Disco duro Figura 10-26. a) Sistemas de archivos separados, b) Después de montarlos. La solución de UNIX es permitir que un disco se monte en el árbol de archivos de otro dis co. En nuestro ejemplo, podríamos montar el disquete en el directorio /b para dar el sistema de archivos de la figura 10-26b. Ahora el usuario ve un solo árbol de archivos y ya no tiene que sa ber cuál archivo reside en cuál dispositivo. El comando de copiado anterior ahora se convierte en cp /b/x /a/d/x exactamente igual que si todo hubiera estado en el disco duro desde un principio. Otra propiedad interesante del sistema de archivos UNIX es el uso de bloqueos. En algu nas aplicaciones, dos o más procesos podrían estar usando el mismo archivo al mismo tiempo, lo que puede dar pie a condiciones de competencia. Una solución es programar las aplicaciones con regiones críticas. Sin embargo, si los procesos pertenecen a usuarios independientes que ni siquiera se conocen, este tipo de coordinación no suele ser práctico. Por ejemplo, consideremos una base de datos que consiste en muchos archivos en uno o más directorios a los que acceden usuarios sin relación entre sí. Por supuesto que es posible
RkJQdWJsaXNoZXIy MjI4NDcx