NFS¶
El NFS (Net File System) fue desarrollado por Sun Microsystems en la década de los 80. NFS proporciona un servicio de ficheros en red de forma transparente al usuario, permitiendo acceder a ficheros de un host remoto de la misma forma que si se hiciera localmente.
Cada máquina puede actuar, con respecto al NFS, como cliente y como servidor; y los ficheros de cada máquina pueden hacerse accesibles a otras máquinas mediante acceso remoto.
El NFS –tanto desde el punto de vista del cliente como desde el del servidor– soporta gran variedad de hardware y de software. Por ejemplo, hay módulos servidores para los sistemas operativos UNIX, VMS y Novell y módulos clientes para plataformas PC y Macintosh.
Niveles de transparencia¶
El NFS proporciona los siguientes niveles de transparencia, que son fundamentales en la consecución de un entorno distribuido:
- Transparencia de acceso: El módulo cliente proporciona un interfaz a los procesos locales que es idéntico al del sistema operativo local.
- Transparencia de ubicación: Cada cliente añade los sistemas de ficheros remotos a su espacio de nombres local. El cliente determina el punto de la jerarquía de ficheros donde aparecerá el sistema de ficheros remoto montado.
- Transparencia de fallos: Cuando un servidor falla, el servicio que proporciona se suspende hasta que el servidor vuelve a arrancar, y entonces los procesos clientes continúan desde el punto en que se interrumpió el servicio.
- Rendimiento transparente: Para ello, tanto cliente como servidor, utilizan técnicas de caché.
- Transparencia de migración
Esquema de la arquitectura del NFS¶
El módulo servidor del NFS se encuentra en el kernel de cada servidor NFS, y el módulo cliente en el kernel de cada cliente.
Las peticiones referidas a ficheros de un sistema de archivos remoto se traducen por el módulo servidor del NFS a operaciones del protocolo de NFS y se envían al módulo servidor de la máquina, que contiene los ficheros referidos.
Los módulos cliente y servidor se comunican mediante los RPC (Remote Procedure Call) de Sun.