第十二章 文件系统实现.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
空闲空间管理 位向量(位示图) 链表 组 计数 空闲空间管理:位向量 An example 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 讨论: 实现简单 方便查找连续空闲块 方便查找第一个空闲块 块号的计算(每次从位向量中读一个字) 位向量需要额外的空间。如: block size = 212 bytes disk size = 230 bytes (1 gigabyte) n = 230/212 = 218 bits (or 32K bytes) 空闲空间管理:链表 空闲块链表 不浪费空间 不方便获得一个连续空间 空闲空间管理:其他方法 组 对空闲链表的一个改进 可以很快找到大量连续的空闲块 计数 对于连续的空闲分区,只需记录第一块地址和其后连续空闲块的数量 效率与性能 效率 性能 增加磁盘Cache 预先读取 恢复 一致性检查 备份和恢复 备份计划 Day 1: 完全备份 Day 2,3,4,…n: 增量备份 备份保存在不同的地方 基于日志结构的文件系统 一个文件操作可能被中断,则导致不一致性,恢复困难 所有元数据都按顺序写到日志上 事务(DBMS) 执行一个特殊任务的一组操作 日志记录文件系统中将文件系统的每次更新都看作是一个事务 所有事务都写入一个日志,一个事务写入日志后就已经提交 当一个完整提交事务已完成,那么就可从日志文件中删除 Log Structured File System Homework 12.1 12.4 12.5 12.6 CHAPTER 12: 文件系统实现 文件系统结构 文件系统实现 目录实现 分配算法 空闲分区管理 效率和性能 恢复 基于日志结构的文件系统 文件系统结构 磁盘提供大量的外存空间来维持文件系统 可写数据在磁盘上 可顺序和随机访问 I/O 转移以块为单位 文件系统在磁盘上方便的存储、定位、检索数据 定义文件系统和用户接口 创建数据结构和算法将逻辑文件系统映射到物理外存设备上 文件系统结构: 分层结构 文件系统结构: 文件系统实例 Windows: FAT (File Allocation Table) (12, 16, 32) NTFS (Windows NT File System) UNIX: UFS (Unix File system) ? ext2 ? ext3 文件系统实现 文件系统中数据结构的实现 在磁盘上的数据结构 在内存中的数据结构 分区和挂载 虚拟文件系统VFS 文件系统实现 磁盘上的结构 引导控制块(引导扇区) 用于引导操作系统的分区 分区控制块 块数量、块大小、空闲块计数 文件目录结构 线性表/ hash表 FCB 文件系统实现 内存中的结构 内存分区表:包括每个挂载分区的信息 内存目录结构:包括最近访问过的目录信息 系统打开文件表:包括当前每个打开文件的FCB的备份和其他信息 进程打开文件表:包括指向系统打开文件表中适当条目,及其他信息 文件系统实现 创建新文件 应用程序调用逻辑文件系统 逻辑文件系统 分配一个新的FCB 读入一个适当的目录 UNIX 处理目录如同一个文件 Windows NT 处理目录如同在主控文件表中插入一条记录. 增加一个新条目 在条目中填入文件名和新的FCB 写入磁盘 文件系统实现 打开文件 传送文件名到逻辑文件系统 在目录在搜索给定文件名 读入该文件的FCB 将FCB添加到系统打开文件表中 在进程打开文件表中增加一条目,在条目中填入指向系统打开文件表的指针及其他信息 返回进程打开文件表中的相关指针 (文件描述符;文件句柄) 文件系统实现 关闭文件 删除进程打开文件表中的相关条目 系统打开文件表对应条目的打开记数减1 如果打开记数为 0, 基于目录结构,将修改后的文件信息拷贝到磁盘上,后删除该条目 文件系统实现 文件系统实现:分区和挂载 分区 vs 磁盘 一个磁盘可以分成多个分区 一个分区可以包含多个磁盘 每个分区可装入一个文件系统 “raw”或“cooked” 生盘分区: 没有文件系统 交换空间,数据库 熟盘分区: 装有文件系统 引导区引导操作系统(双引导) 超级块(UNIX) 文件系统实现: VFS 如何支持多个文件系统? 如何将多个文件系统整合到一个目录结构? 如何在多个文件系统间无缝移动的访问? ?To use VFS (VFS 应用面向对象技术来简化、组织和模块化实现过程) 文件系统实现: VFS 最高层:文件系统接口 Open, read, write, and close 中间层: VFS 能过

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档