Sistemas operativos modernos

Kernel del diente Kernel del servidor Capa de llamadas al sistema T Capa de sistema de archivos virtual SA locai 1 Caché de búfer Coìtro- lador A . ± Contro- lador Discos locales V SA local 2 Cliente NFS Mensaje al servidor Nodo-V Capa de sistema ^ de archivos virtual Servidor NFS ... SA local 1 SA local 2 Y Caché de búfer Contro- Contro­ lador Mensaje del cliente Discos locales Figura 10-37. Estructura de capas de NFS. bio, la capa VFS tiene una entrada, llamada nodo-v (nodo-i virtual), por cada archivo abierto. Los nodos-v sirven para saber si el archivo es local o remoto. En el caso de archivos remotos, se proporciona suficiente información para el acceso a ellos. En el caso de archivos locales, se registra el sistema de archivos y el nodo-i porque los sistemas UNIX modernos pueden manejar múltiples sistemas de archivos (por ejemplo, V7, Berkeley FES, ext2fs, /proc, FAT, etcétera). Aunque VFS se inventó para manejar NFS, casi todos los sistemas UNIX modernos lo emplean ahora como parte integral del sistema operativo, aunque no se use NFS. Para ver cómo se usan los nodos-v, sigamos la pista a la secuencia de llamadas mount, open y read. Para montar un sistema de archivos remoto, el administrador del sistema (o /etc/rc) invoca el programa mount especificando el directorio remoto, el directorio local en el que se deberá montar y otra información. El programa mount analiza el nombre del directorio remoto que se montará y descubre el nombre del servidor NFS donde se encuentra tal directo­ rio. A continuación se pone en contacto con esa máquina y solicita un identificador de archivo para el directorio remoto. Si el directorio existe y está disponible para montaje remoto, el ser­ vidor devuelve un identificador de archivo para ese directorio. Por último, emite una llamada mount al sistema y pasa el identificador al kernel. Después el kernel construye un nodo-v para el directorio remoto y pide al código de clien­ te NFS de la figura 10-37 crear un nodo-r (nodo-i remoto) en sus tablas internas, en donde se guardará el identificador de archivo. El nodo-v apunta al nodo-r. Cada nodo-v de la capa VFS contendrá al final un apuntador a un nodo-r en el código de cliente NFS, o bien, un apuntador a un nodo-i en uno de los sistemas de archivos locales (que se muestran como líneas puntea

RkJQdWJsaXNoZXIy MjI4NDcx