1DFS
系统
(DFS)
是
AFS
的一个版本,作为开放软件基金会
(OSF)
的分布
分布式文件系统
式计算环境
(DCE)
中的文件系统部分。
如果文件的访问仅限于一个用户,那么分布式文件系统就很容易实现。可惜的是,在
许多网络环境中这种限制是不现实的,必须采取并发控制来实现文件的多用户访问,表现
为如下几个形式:
只读共享 任何客户机只能访问文件,而不能修改它,这实现起来很简单。
受控写操作 采用这种方法,可有多个用户打开一个文件,但只有一个用户进行写修改。而
该用户所作的修改并不一定出现在其它已打开此文件的用户的屏幕上。
并发写操作 这种方法允许多个用户同时读写一个文件。但这需要操作系统作大量的监控工
作以防止文件重写,并保证用户能够看到最新信息。这种方法即使实现得很好,许多环境
中的处理要求和网络通信量也可能使它变得不可接受。
NFS
和
AFS
的区别
NFS
和
AFS
的区别在于对并发写操作的处理方法上。当一个客户机向服务器请求一个
文件
(
或数据库记录
)
,文件被放 在客户工作站的高速缓存中,若另一个用户也请求同一文
件,则它也会被放入那个客户工作站的高速缓存中。当两个客户都对文件进行修改时,从
技术上而言就存在 着该文件的三个版本
(
每个客户机一个,再加上服务器上的一个
)
。有两
种方法可以在这些版本之间保持同步:
无状态系统 在这个系统中,服务器并不保存其客户机正在缓存的文件的信息。因此,
客户机必须协同服务器定期检查是否有其他客户改变了自己正在缓存的文件。这种方法在
大 的环境中会产生额外的
LAN
通信开销,但对小型
LAN
来说,这是一种令人满意的方法。
NFS
就是个无状态系统。
回呼
(Callback)
系统 在这种方法中,服务器记录它的那些客户机的所作所为,并保留它
们正在缓存的文件信息。服务器在一个客户机改变了一个文件时使用一种叫回叫应答
(callbackpromise)
的技术通知其它客户机。这种方法减少了大量网络通信。
AFS(
及
OSFDCE
的
DFS)
就是回叫系统。客户机改变文件 时,持有这些文件拷贝的其它客户机就被回叫并通知
这些改变。
无状态操作在运行性能上有其长处,但
AFS
通过保证不会被回叫应答充斥也达到了这
一点。方法是在一定时间后取消回叫。客户机检查回叫应答中的时间期限以保证回叫应答
是当前有效的。回叫应答的另一个有趣的特征是向用户保证了文件的当前有效性。换句话
评论