高级操作系统课件-分布式文件系统

上传人:宝路 文档编号:52463082 上传时间:2018-08-21 格式:PPT 页数:65 大小:678.64KB
返回 下载 相关 举报
高级操作系统课件-分布式文件系统_第1页
第1页 / 共65页
高级操作系统课件-分布式文件系统_第2页
第2页 / 共65页
高级操作系统课件-分布式文件系统_第3页
第3页 / 共65页
高级操作系统课件-分布式文件系统_第4页
第4页 / 共65页
高级操作系统课件-分布式文件系统_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《高级操作系统课件-分布式文件系统》由会员分享,可在线阅读,更多相关《高级操作系统课件-分布式文件系统(65页珍藏版)》请在金锄头文库上搜索。

1、第十章 分布式文件系统 简介 文件服务系统结构 NFS网络文件系统 Coda文件系统简 介 文件系统 持久存储(persistent storage) 分布式文件系统 持久存储 信息共享 类似(有时更好)的性能和可靠性各种存储系统及其特点共享持久性分布式 缓存/复制一致性维护示例Main memoryRAMFile systemUNIX file systemDistributed file systemSun NFSWebWeb serverDistributed shared memoryIvy11文件系统的特点 功能 组织, 存储, 检索, 命名, 共享和保护 文件相关的重要概念 文件:

2、包含数据和属性 目录:提供从文件名到内部文件标识映射 的特殊文件 元数据:额外的管理信息,包括属性、目 录等 文件系统结构 文件系统操作文件属性文件长度创建时间戳读时间戳写时间戳属性时间戳引用计数所有者文件类型访问控制列表ACL文件系统结构分布式文件系统还需要附加模块实现客户服务器通信、分布式命名和文件定位UNIX文件系统操作filedes = open(name, mode) filedes = create(name, mode)打开一个名字为 name的文件 创建一个名字为 name的文件 以上两个操作都返回一个打开文件的描述符 mode 可以是 read, write or both.

3、 status = close(filedes)关闭打开文件 filedes count = read(filedes, buffer, n) count = write(filedes, buffer, n)从被filedes引用的文件中传输n字节到缓冲区 从缓冲区传输n字节到被filedes引用的文件中 .两个操作都返回实际的传输值,并移动读写指针pos = lseek(filedes, offset, whence) 移动读写指针到指定的位移, whence决定是相对位移还是 绝对位移 status = unlink(name)删除一个名字为 name的文件status = link(n

4、ame1, name2)为file (name1)增加一个新名 (name2) status = stat(name, buffer)读名字为 name的文件属性到缓冲区分布式文件系统的需求(1) 透明性 访问透明性 位置透明性 移动透明性 性能透明性:当服务负载在一定范围内变化时,客户程 序可以保持满意的性能 扩展透明性:文件服务可以扩充,以满足负载和网络规 模的增长 并发文件更新 并发控制:客户改变文件的操作不影响其他用户访问或 改变同一文件的操作 文件复制:多个副本 更好的性能与容错 硬件和操作系统异构性:文件服务的接口必须有明确的 定义。在不同操作系统和计算机上实现客户和服务器软 件分

5、布式文件系统的需求(2) 容错 为了处理暂时的通信错误,容错设计可以基于最 多一次性语义 对于幂等操作:支持最少一次性语义 无状态的服务器: 崩溃重启时不需恢复 一致性 Unix提供单一副本更新语义 当文件在不同地点被复制和缓存时,可能会偏离 单一副本更新语义 安全性 身份验证,访问控制,安全通道 效率 应提供比传统文件系统相同或更强的性能和可靠 性分布式文件系统的关键目标 如何保证透明性? 如何保证性能? 如何保证容错? 如何保证并发操作?文件服务系统结构文件服务的三个模块: 平面文件服务 (Flat file service) 对文件内容进行操作 文件唯一标识符 (Unique file

6、identifier (UFID) 目录服务(Directory service) 生成目录 在目录中加入新文件名 提供从文件名到UFID的转换,客户通过向目录 服务提供文件名获得文件的UFID 是平面文件服务的客户 客户端模块 提供单一应用程序接口,支持应用程序透明地 存取远程文件服务文件服务系统结构Client computerServer computerApplication programApplication programClient moduleFlat file serviceDirectory service平面文件服务接口 平面文件服务操作Read(FileId, i,

7、n) - Data throws BadPositionIf 1 i Length(File): Reads a sequence of up to n items from a file starting at item i and returns it in Data. Write(FileId, i, Data) throws BadPositionIf 1 i Length(File)+1: Writes a sequence of Data to a file, starting at item i, extending the file if necessary. Create()

8、 - FileIdCreates a new file of length 0 and delivers a UFID for it. Delete(FileId) Removes the file from the file store. GetAttributes(FileId) - Attr Returns the file attributes for the file. SetAttributes(FileId, Attr) Sets the file attributes (only those attributes that are not shaded in ).平面文件服务接

9、口 与Unix比较 无open和close操作 Read和write操作执行于指定的开始点 原因:出于容错的考虑 可重复的操作 除了create,所有的操作都是幂等的,允 许至少一次的RPC语义 无状态服务器 文件操作无指针 崩溃重启时不需恢复目录服务操作Lookup(Dir, Name) - FileId throws NotFound Locates the text name in the directory and returns the relevant UFID. If Name is not in the directory, throws an exception. AddNa

10、me(Dir, Name, File) throws NameDuplicate If Name is not in the directory, adds (Name, File) to the directory and updates the files attribute record. If Name is already in the directory: throws an exception. UnName(Dir, Name) throws NotFound If Name is in the directory: the entry containing Name is r

11、emoved from the directory. If Name is not in the directory: throws an exception. GetNames(Dir, Pattern) - NameSeq Returns all the text names in the directory that match the regular expression Pattern.提供从文件名到UFID的转换层次性文件系统 目录树 每个目录是一个特殊文件 存储包含的文件和其他目录的名字 路径名 引用文件和目录 多部分名,如 “/etc/rc” 在目录树中查找 借助多个Looku

12、p操作翻译路径名 客户端的目录缓存分布式文件系统访问控制 Unix文件系统 系统会将用户的访问权限与 open 调用要 求的模式(读或写)相比较 无状态的分布式文件系统 访问权限在服务器进行 访问控制的方法: 基于权能的验证(权能作为以后一系列的访问 许可被返回给客户) 每次请求都发送用户ID,每次文件操作,服务 器都进行访问检查 AFS(Andrew文件系统 ) 和 NFS中的 Kerberos SUN网络文件系统NFS NFS简介 通 信 进程 命名 同步 缓存和复制 容错性 安全性NFS简介 NFS是Sun Microsystem公司1985年研制的网络FS ,它是基于UNIX的,是第一

13、个形成产品的DFS。 NFS正在努力成为工业标准。 NFS支持不同类型的系统,每台计算机在系统内安 装NFS的客户组件和服务器组件。 NFS的实现思想、协议、实现都非常有特色 实现思想 基本思想:让客户集和服务器的任何一个集合共享 一个公用FS,NFS允许一台计算机既是客户机又是 服务器。 当一个服务器输出某个目录时,该目录为根的子目 录树同时被输出。服务器输出的目录列标记在文件 的/etc/export中。 客户通过安装方式访问服务器的输出目录。 基本特征:服务器输出目录,客户从远处安装它们 。 优点:当多个客户机同时安装同一个目录时,它们 可以通过共享公用目录者的文件来进行通信。NFS 体

14、系结构 (1) 远程访问模型 上传/下载模型远程访问模型:客户被提供文件操作的接口,服务器负责实现这些操作。 服务器实现的功能较复杂,容易造成服务器瓶颈。 上传/下载模型:客户从服务器下载文件后,在本地访问该文件;完成对该文件的 访问后,再将该文件上传回服务器。 服务器功能简单,对文件内部的操作全部由客户端自行完成。所以,要求客户 端有较大的空间。 另外,每次进行的是整个文件的传送,从而给网络带来许多不必要的压力。 NFS体系结构 (2)UNIX系统的基本NFS 结构NFS在很大程度上独立于本地文件系统虚拟文件系统VFSVFS对每个文件系统的所有细节进行抽象,使得不同 的文件系统在操作系统核心

15、以及系统中运行的其他 进程看来,都是相同的。VFS并不是一种实际的文件系统。它只存在于内存中 ,不存在于任何外存空间。VFS在系统启动时建立,在系统关闭时消亡。VFS拥有关于各种特殊文件系统的公共界面,如超级 块、inode、文件操作函数入口等。文件系统模型NFS文件系统模型与UNIX系统提供的文件系统模型很类似: 文件是字节流,层次化组织在命名图中 每个文件有文件句柄 支持硬链接和符号链接文件系统模型NFS支持的文件系统操作的不完全列表.Operationv3v4Description CreateYesNoCreate a regular file CreateNoYesCreate a nonregular file LinkYesYesCreate a hard link to a fileSymlinkYesNoCreate a symbolic link to a fileMkdirYesNoCreate a subdirectory in a given directoryMknodYesNoCreate a special fileRenameYesYesChange the name of a fileRmdirYesNoRemove an empty subdirectory from a direct

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号