- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统11
* * ? 外层索引 索引表 文件 * * 位向量(n块) * * … 0 1 2 n-1 bit[i] = ??? 1 ? block[i] 空闲 0 ? block[i] 被占用 块号计算: (一个字的位数) * (值为0的字数) + 第一个值为1的偏移 位图需要额外的空间。例如 块大小 = 212 bytes 磁盘 = 230 bytes (1 gigabyte) n = 230/212 = 218 bits (or 32K bytes) 比较容易得到连续的文件 链表(空闲空间表) 得到连续空间难 没有浪费的空间 组 计数 * * * * 效率取决于 : 磁盘分配和目录管理算法 保留在文件目录结构中的数据类型 性能 磁盘缓存 - 存在于内存中的独立区域,其中的数据频繁被访问。 马上释放-预先读取 - 优化顺序存取的技术。 用于PC上的改善性能的方法:留出一块内存作为虚拟磁盘,或RAM磁盘。 * * * * 使用虚拟内存技术,将文件数据作为页而不是块来缓存。 页缓存实现缓冲缓存和内存映像I/O的交互。 缓冲缓存实现文件系统和标准I/O调用的交互。 见下面的示意图。 * * * * 统一缓冲缓存,内存映射和I/O系统调用都使用同样的页缓存。 * * * * 一致性检查 - 将目录结构数据与磁盘数据块相比较,试图纠正所发现的不一致。 利用系统程序将磁盘数据备份到另一存储设备,如软盘、磁带或光盘。 恢复丢失文件或整个磁盘时,只需要从备份中修复就可以了。 * * 基于日志结构的文件系统以事务的方式记录对系统的每一次更新。 所有的事务都会被写入到日志中。当事务写入日志时,就被认为它已经完成了。即使,文件系统还没有真正执行被更新。 日志中的事务异步的被写入文件系统。当文件系统更新完成后,事务就可从日志中删除。 如果文件系统崩溃,所有留在日志中的事务都必须继续执行。 * * NFS是用于通过LAN(或WAN)访问远程文件的软件系统的实现或规范。 这里描述的实现是关于Solaris操作系统的,可运行在SUN工作站上,采用TCP或UDP/IP协议。 * * NFS将一组互连工作站视为具有独立文件系统的机器组合,目的是允许透明的共享这些文件系统。 远程目录被安装到本地文件系统的目录上。被安装的目录被视为本地文件系统下一颗完整的子树,代替原来本地目录下的内容。 远程目录作为安装参数按非透明的方式提供,远程目录的主机名必须提供。之后,用户就可以完全透明的访问远程目录下的文件了。 根据访问权限,任何文件系统或文件系统内的任何目录,均可远程安装在本地目录上。 * * NFS设计目标之一是允许在不同机器、操作系统和网络结构的异构环境中工作。NFS规范与这些无关,允许其他实现。 这种独立性是因为在两种独立实现接口之间采用RPC和XDR而带来的。 NFS规范分为两种服务:一是安装机制所提供的服务,二是真正远程文件访问服务。 * * * * * * 一般安装 级联安装 安装协议在客户机和服务器之间建立初试逻辑连接。 安装操作包括要安装的远程目录的名称和存储它的服务器的名称。 安装请求映射到相应RPC,并传送到在特定服务器上运行的安装服务程序。 输出列表 - 列出了哪些本地文件系统已经输出以便安装,及允许安装它们的机器名称。 当服务器收到满足其输出链表的安装请求时,它返回一个文件句柄 - 为进一步访问安装文件系统内的文件所用。 文件句柄 - 由文件系统标识符和索引结点组成,标识安装文件系统内的确切安装目录。 安装操作只改变用户视图,对服务器方没有任何影响。 * * NFS协议提供了一组RPC以供远程文件操作,这些程序包括下列操作: 搜索目录内的文件 读一组目录项 操作链表和目录 访问文件属性 读和写文件 NFS服务器是无状态的,每一个请求都必须提供完整的参数。 修改数据必须在返回结果给客户之前,提交到服务器磁盘上。 NFS协议不提供并发控制协议。 * * UNIX文件系统接口(基于open, read, write和close调用和文件描述符)。 虚拟文件系统(VFS)层 - 区分本地文件和远程文件,本地文件又进一步按照各自文件系统的类型进行区分。 VFS根据本地文件系统的类型,激活文件系统特定操作来处理本地请求。 调用NFS协议程序处理远程请求。 NFS服务层 - 处于该体系结构的最底层,实现NFS协议。 * * * * 将路径分成组件名称,并为每个组件名称和目录虚拟节点执行独立NFS lookup查找。 为了加速查找,客户端的路径转换缓存保存了远程目录名称的虚拟节点。 * * 在普通UNIX文件系统调用和NFS协议RPC之间,几乎是一一对应的。 NFS坚持远程服务形式,但实际上采用了缓冲和缓存技术来提高性能。 文件块
文档评论(0)