操作系统Chapter6教案分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二、第二级容错技术(SFT-II) 1、磁盘镜像 将两个磁盘驱动器连在一个磁盘控制器上 每次向主磁盘写入的数据,同样也向备份磁盘写入,并写入相同的位置 主磁盘和备份磁盘中的所有数据完全相同 当主磁盘驱动器损坏时,启用备份磁盘 2、磁盘双工 控制器镜像 * 主机 磁盘 控制器 二、第二级容错技术(SFT-II) 3、集群技术容错 双机热备份模式 双机互为备份模式 公用磁盘模式 * 二、第二级容错技术(SFT-II) 优点: 具有容错能力 缺点: 浪费严重(只有50%效率) * 一、数据一致性问题 6.8 数据一致性控制 当数据同时被存放到不同的文件中时,如何保证对数据的修改在各文件中保持一致 文件的多个备份,如何保持一致 共享数据的顺序修改 * 二、事务 1、事务 事务是用于访问和修改各种数据项的一个程序单位 系列读和写操作、可以分散在不同文件中 事务操作具有“原子性”,即要么数据都进行修改,要么数据都不进行修改 如果只做了一半,则撤销或重做 * 二、事务 2、事务记录 事务记录存放事务运行时数据项修改的全部信息 事务记录必须存放在稳定存储器中 事务记录包括: ⑴、事务名 ⑵、数据项名 ⑶、旧值 ⑷、新值 * 二、事务 3、恢复算法 Undo(Ti):把所有被事务Ti修改过的数据,恢复为旧值 Redo(Ti):把所有需要被事务Ti修改的数据,置为新值 事务通过事务记录和恢复算法,实现数据一致性 * 三、并发控制 1、利用互斥锁实现“互斥性” 每个对象设置一把“锁” 对对象的访问,必须先获得“锁”(关锁) 访问完对象,释放“锁”(开锁) * 三、并发控制 2、利用信号量机制实现“顺序性” 利用互斥信号量(Mutex)实现对象的顺序访问 利用一般信号量,实现访问者情况的记录 文件操作的读写锁 * 四、磁盘块号的一致性 空闲盘块: 通过空闲盘块管理机制实现 数据盘块管理 通过目录及FAT(或索引节点)实现 正常情况下,空闲盘块与数据盘块互补,即盘块要么是空闲盘块,要么是数据盘块 * 四、磁盘块号的一致性 空闲盘块计数器 通过空闲盘块管理,记录空闲盘块的情况,每个盘块对应一个计数器(1-空闲盘块,0-非空闲盘块) 数据盘块计数器 通过FAT(或索引节点)记录数据盘块的情况,每个盘块对应一个计数器(1-数据盘块,0-非数据盘块) * 四、磁盘块号的一致性 正常情况 * 盘块号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 空闲盘块计数器组 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 数据盘块计数器组 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 四、磁盘块号的一致性 丢失盘块 将第2块放入空闲盘块中 * 盘块号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 空闲盘块计数器组 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 数据盘块计数器组 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 四、磁盘块号的一致性 空闲盘块重复出现 从空闲盘块管理机制中删除一个3号盘块 * 盘块号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 空闲盘块计数器组 1 1 0 2 0 1 1 1 1 0 0 1 1 1 0 0 数据盘块计数器组 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 四、磁盘块号的一致性 数据盘块重复出现 这是一个严重错误,必须立即报告并修复 * 盘块号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 空闲盘块计数器组 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 数据盘块计数器组 0 0 1 0 2 0 0 0 0 1 1 0 0 0 1 1 硬链接计数值一致性 -遍历整个目录树,将所有目录项的索引节点计数进行统计 -将上述索引节点引用统计值与索引节点自身保存的引用计数值比较,看是否有差异 实例:Ext2文件系统 代码 12?1 ext2_super_block (linux-3.13/fs/ext2/ext2.h) 410 struct ext2_super_block { 411 __le32 s_inodes_count; /* Inodes count */ 索引节点总数 412 __le32 s_blocks_count; /* Blocks count */ 盘块的总数 413 __le32 s_r_blo

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档