Sistemas operativos modernos

Protocolos de NFS Puesto que una de las metas de NFS es tener un sistema heterogéneo, en el que los clientes y servidores podrían estar ejecutando sistemas operativos distintos en hardware diferente, es in­ dispensable que la interfaz entre los clientes y servidores esté bien definida. Sólo así será po­ sible que alguien escriba una nueva implementación de cliente que funcione en forma correcta con los servidores existentes, y viceversa. NFS alcanza esta meta definiendo dos protocolos cliente-servidor. Un protocolo es un conjunto de solicitudes que los clientes envían a los servidores, junto con las contestaciones co­ rrespondientes que los servidores devuelven a los clientes. El primer protocolo de NFS maneja el montaje. Un cliente puede enviar un nombre de ruta a un servidor y solicitar permiso para montar ese directorio en algún punto de su jerarquía de di­ rectorios. El lugar donde se montará no está contenido en el mensaje, pues al servidor no le im­ porta dónde se va a montar. Si el nombre de ruta es válido y el directorio especificado ya se exportó, el servidor devuelve un identificador de archivo (file handle) al cliente. Este identifi­ cador confiene campos que identifican de manera única el fipo de sistema de archivos, el disco, el número de nodo-i del directorio e información de seguridad. Las llamadas subsiguientes para leer y escribir archivos en el directorio montado o en cualquiera de sus subdirectorios emplearán el identificador de archivo. Cuando UNIX arranca, ejecuta el script de shell /etc/rc antes de cambiar a modo multiusua­ rio. Los comandos para montar sistemas de archivos remotos pueden colocarse en este script, con lo que se montarán de manera automática los sistemas de archivos remotos necesarios, antes de permitir inicios de sesión. Como alternativa, casi todas las versiones de UNIX también manejan automontaje. Esta característica permite asociar un conjunto de directorios remotos a un direc­ torio local. Ninguno de esos directorios remotos está montado (y ni siquiera es posible ponerse en contacto con sus servidores) en el momento en que se arranca el cliente. En lugar de eso, la primera vez que se abre un archivo remoto, el sistema operativo envía un mensaje a cada uno de los servidores. El primero que contesta gana, y su directorio se monta. El automontaje tiene dos ventajas principales respecto al montaje estático a través del archi­ vo /etc/rc. La primera es que, si por casualidad uno de los servidores de NFS nombrados en /etc/rc está inoperante, será imposible poner a funcionar el cliente, al menos no sin algunas dificultades, retrasos y un buen número de mensajes de error. Si el usuario ni siquiera necesita ese servidor por el momento, se desperdiciará toda esa labor. La segunda ventaja es que, al permitir al cliente pro­ bar un conjunto de servidores en paralelo, puede lograrse cierto grado de tolerancia a fallas (por­ que sólo uno de ellos tiene que estar operante) y también mejorar el desempeño (porque se escoge el primero que contesta, que quizá sea el que tiene la carga más ligera). Por otra parte, se está suponiendo en forma tácita que todos los sistemas de archivos especi­ ficados como alternativas para el automontaje son idénticos. Puesto que NFS no maneja la répli­ ca de archivos ni de directorios, corresponde al usuario cuidar que todos los sistemas de archivos sean iguales. Por ello, el automontaje por lo regular se usa con sistemas de archivos de sólo lec­ tura que contienen binarios del sistema y otros archivos que muy rara vez cambian. El segundo protocolo de NFS es para el acceso a directorios y archivos. Los clientes pue­ den enviar mensajes a los servidores para manipular directorios y leer y escribir archivos. Tam

RkJQdWJsaXNoZXIy MjI4NDcx