网络文件系统(Network File System,NFS)
目录 |
网络文件系统是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作,这是网络环境下网络操作系统所具有的特殊的功能。
NFS最初由Sun Microsystem公司为其UNIX工作站设计和实现的一种网络操作系统,后经互联网工程任务组(Intemet Engineering Task Force,IETF)扩展,现在能够支持在不同类型的系统之间通过网络进行文件共享。NFS让安装进程通过TCP/IP,以远程过程调用(RPC)的方法访问服务器方的资源,并不生成该资源的副本。这种访问方式对用户是完全透明的,客户机上的用户可以像访问本地文件一样方便地访问远程服务器上的文件。
目前,NFS可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。最常用的是在MS.DOS、Windows和VMS上存取UNIX系统中的文件。由于NFS定义了一个抽象的文件系统模型,提供异构系统环境中的文件共享,在不同的操作系统下,NFS被映射为本地文件系统的语义,使对远地异构文件系统的操作可以与对本地文件系统的操作一样。
NFS文件系统的优点如下。
(1)本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
(2)用户可以通过网络访问共享目录,而不必在计算机上为每个用户都创建工作目录。
(3)软驱、CDROM等存储设备可以在网络上面共享使用。这可以减少整个网络上的移动介质设备的数量。
(4)NFS至少有一台服务器和一台(或者更多)客户机两个主要部分。客户机远程访问存放在服务器上的数据。需要配置启动NFS等相关服务。
网络文件系统的优点正好适合嵌入式Linux系统开发。目标板没有足够的存储空间,Linux内核挂接网络根文件系统可以避免使用本地存储介质,快速建立Linux系统。这样可以方便地运行和调试应用程序。
启动NFS文件服务器时,/etc/rc.10cal会自动启动exportfs程序,指定可以导出的文件或目录,而所能挂载的也只能是其所指定的目录。NFS是基于XDR/RPC协议的。XDR(External Data Representation,即外部数据表示法)提供一种方法,把数据从一种格式转换成另一种标准数据格式表示法,确保在不同的计算机、操作系统及秆序语言中,所有数据代表的意义部是相同的。
RPC(Remote Procedure Call,远程程序调用)请求远程计算机给予服务。客户机通过网络传送RPC到远程汁算机,请求服务。
NFS运用RPC传送数据的方法有以下几步:
1.客户送出信息,请求服务。
2.客户占位程序把客户送出的参数转换成XDR标准格式,并用系统调用把信息送到网络—卜。
3.信息经过网络送达远程主机系统。
4.远程主机将接受到的信息传给服务器占位程序。
5.把XDR形式的数据,转换成符合主机端的格式,取出客户发出的服务请求参数,送给服务器。
6.服务器给客户发送服务的逆向传送过程。