两个主要目标。
网络透明。
最重要的目标是提供对分布在计算机网络上的文件的相同访问,这些文件在集中式计算机上的分时系统中提供。
高可用性。
另一个重要目标是高可用性。系统错误或复制和维护操作不应导致文件不可用。
文件服务和文件服务器的概念。
文件服务是文件系统向其客户端提供的服务,即 文件系统接口。
文件服务器是实现文件服务的进程。
用户不需要知道有多少文件服务器以及它们的位置。
由于文件服务器通常是一个普通的用户进程,因此系统上可能有不同的文件服务器提供不同的服务(例如,UNIX 文件服务和 MS-DOS 文件服务)。
5.1 分布式文件系统架构
分布式系统通常有两个根本不同的组件——文件服务本身和目录服务。
5.1.1 文件服务器接口
对于任何文件系统,第一个基本问题是什么是文件。在许多系统上,例如 UNIX 和 MS-DOS,文件是不可解释的字节序列。在许多集中式计算机 (IBM/370) 上,文件由一系列记录表示,这些记录可以通过其编号或某些字段(键)的内容来指定。由于大多数分布式系统都是基于 UNIX 和 MS-DOS 环境的使用,所以它们使用了文件概念的第一个版本。
文件可以具有属性(关于不属于它的文件的信息)。典型的属性是所有者、大小、创建日期和权限。
文件模型的一个重要方面是文件创建后是否可以修改 。通常它们可以,但是有些系统具有不可变文件。此类文件将开发人员从许多缓存和传播问题中解放出来。
保护由与单处理器计算机相同的机制提供——凭据和访问权限列表。票据是针对每个文件发给用户的一种票据,表示访问权限。访问权限列表为每个文件指定了具有其权限的用户列表。最简单的权限方案是 UNIX 方案,它区分了三种类型的访问(读、写、执行)和三种类型的用户(所有者、他的组的成员和其他人)。
文件服务可以基于两种模型之一—— 上传/下载模型和远程访问模型。第一种情况,文件在客户端(内存或磁盘)和服务器之间作为一个整体传输,而第二种情况,文件服务提供了许多操作(打开、关闭、读取和写入部分文件、移动文件)指针、检查和更改属性等)。第一种方法需要来自客户端的大量内存,这是移动文件不必要部分的成本。在第二种方法中,文件系统在服务器上运行,客户端可能没有磁盘和大量内存。
5.1.2 目录服务器接口
提供创建和删除目录、命名和重命名文件、将文件从一个目录移动到另一个目录的操作。
指定名称的字母和语法。要指