Sistemas operativos modernos
flexibles. A fin de tener un mecanismo elegante para manejar medios removibles (incluidos los CD- ROMs), UND( permite unir el sistema de archivos de un disquete al árbol principal. Consideremos la situación de la figura l-15a. Antes de la llamada mount, el sistema de archivos raíz, en el dis co duro, y un segundo sistema de archivos, en un disquete, son distintos y sin relación entre sí. Raíz Disquete n ñ 1^/ n í H x / \ y (a) (b) Figura 1-15. a) Antes de montarse, no se tiene acceso a los archivos de! disquete. b) Después de montarse, forman parte de la jerarquía de archivos. Por lo tanto, el sistema de archivos del disquete no puede usarse porque no hay forma de especificar nombres de ruta en él. UNIX no permite anteponer a los nombres de ruta un nom bre o número de unidad de disco; eso sería precisamente el tipo de dependencia del dispositi vo que los sistemas operativos deben eliminar. En vez de eso, la llamada al sistema mount permite anexar el sistema de archivos del disquete al sistema de archivos raíz, cuando el pro grama así lo desee. En la figura l-15b, el sistema de archivos del disco flexible se ha montado en el directorio b, lo que permite el acceso a los archivos /b/x y /b/y. Si el directorio b hubiera contenido ya algunos archivos, quedarían inaccesibles mientras el disquete estuviera montado, pues /b se referiría al directorio raíz del disquete. (No tener acceso a esos archivos no es tan grave como parece: los sistemas de archivos casi siempre se montan en directorios vacíos.) Si un sistema contiene varios discos duros, todos podrán montarse también en un solo árbol. Otro concepto importante en UNIX es el archivo especial. El propósito de tales archivos es hacer que los dispositivos de E/S parezcan archivos. Así, podrán leerse y podrá escribirse en ellos utilizando las mismas llamadas al sistema que se usan para leer y escribir archivos. Hay dos tipos de archivos especiales: archivos especiales de bloques y archivos especiales de ca racteres. Los primeros sirven para modelar dispositivos que constan de una colección de blo ques direccionables en forma aleatoria, como los discos. Al abrir un archivo especial de bloques y leer, digamos, el bloque 4, un programa puede tener acceso directo al cuarto bloque del dispositivo, sin importar la estructura del sistema de archivos que contenga. De forma si milar, los archivos especiales de caracteres se usan para modelar impresoras, módems y otros dispositivos que aceptan o producen flujos de caracteres. Por convención, los archivos especia les se guardan en el directorio /dev. Por ejemplo, /devAp podría ser la impresora. La última característica que trataremos en esta reseña general tiene que ver tanto con pro cesos como con archivos: las canalizacioness. Una canalización (pipe) es una especie de seu- doarchivo que puede servir para conectar dos procesos, como se muestra en la figura 1-16. Si los procesos A y B desean comunicarse mediante una canalización, deberán establecerla con antelación. Cuando el proceso A desea enviar datos al proceso B, escribe en la canalización co-
RkJQdWJsaXNoZXIy MjI4NDcx