- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计_project4-快速文件系统
May 2007 Project4 快速文件系统 操作系统课程设计Project 4 快速文件系统 Project3 内存管理 结构 设计要求 设计目的 背景知识 思考题 观察体会 实习报告 设计要求 设计一个函数 int filter(char source, char *sink, int f) source: 源文件;sink:目标文件;f:操作 分别用三种方法来实现对文件的操作 无缓冲模式 缓冲模式 异步模式 设计要求 建立三个filter函数,不同功能的 自己做一个源文件(大小至少512k)作为File1 经过N步,把File文件写入到文件File N中 记录整个过程的时间 做多次(至少10次),取平均值 缓存模式 异步模式 设计要求 目的 编写一个程序,测试大文件随机访问时无文件缓冲模式、文件缓冲模式和异步模式这三种访问模式的效率,了解Windows 2000/XP中解决CPU和外设速度不匹配的方法。 深刻理解这三种传输模式的原理。 进一步了解各相关API函数的功能,参数限制和使用规则 背景知识 Windows 2k/xp的文件访问方式 不使用文件缓冲 普通的方式 使用文件缓冲 预读取。每次读取的块大小;缓冲区大小;替换方式 写回。写回时机选择;一致性问题 异步模式 不再等待磁盘操作的完成 使处理器和I/O并发工作 背景知识-在文件系统层次提高访问效率的方法 文件缓存(file cache) 类似处理器cache的思想 局部性原则的思想 区别 只涉及空间局部性 处理器cache对程序员不可见 文件cache需要显式地由程序员控制 所在层次不同,file cache是在内存中为文件做缓冲 异步传输 基本思想:填充I/O操作间等待的CPU时间 背景知识-文件缓存 用户对磁盘的访问通过访问缓存来实现 由系统的cache manager来实现对缓存的控制 读取数据的时候的prefetch 定期地更新磁盘上的内容使其与cache一致 在cache满的情况下,根据LRU原则清除缓存的内容 Write-back机制 在用户要对磁盘写数据时,只更改cache中的内容,由cache manager来决定何时将更新反映到磁盘 背景知识-文件缓存的实现 黑影的部分为需要访问的数据,可见数据在磁盘,系统cache空间和进程空间有3份拷贝,一般情况下用户对数据的修改并不直接反映到磁盘上,而是通过write-back机制由lazy writer定期地更新到磁盘 背景知识-文件缓存的实现 系统默认的缓存的块大小为256k Cache manager每隔1秒调用lazy writer将最近的未刷新的cache写回磁盘,同时清除cache 用户可以指定不通过cache,将修改的内容立即写回磁盘 类似于处理器cache中的write-through概念 这个操作也可以通过windows提供的FlushFileBuffer函数实现 背景知识-同步传输I/O流程 背景知识-异步传输I/O的基本思想 数据处理和I/O操作不存在严格的时序关系,只有逻辑关系 只要数据就绪,对其的操作就可以进行 数据没有就绪的情况下,也可以做对其他数据进行处理 背景知识-异步传输模式的实现 系统实现 如上页图示,通过切换到其他线程保证CPU利用率 对少量数据的I/O操作会引入切换的开销 用户实现 将访问控制分成两段进行 发出读取指令后继续做其他操作 当需要用读入的数据的时候,再使用wait命令等待其完成 不引入线程切换,减少开销 思考题 思考题 高速文件访问各种模式有什么主要区别,适用于什么场合? 了解Linux的文件缓冲机制,说明在常规的ext2文件系统以及某种日志文件系统例如ext3/jfs/raiseFS中缓冲机制有什么不同? 注意的问题 注意测量时间的函数的选择,使得测量结果尽可能的精确 程序运行时间会较长 在程序实现上注意随机数的产生和重新定位文件的指针的问题 观察与体验:设置“写入缓存”选项 目的:通过设置“写入缓存”提高系统性能 步骤:在“我的电脑”上点击右键,点击“属性”,出现“系统属性”,打开硬件\设备管理器,展开“磁盘驱动器”,接着在下面任何一个驱动器图标上点击鼠标右键并选择“属性”,然后切换到“策略”标签。在这里你应该会看到两个选项:“为快速删除而优化”(所有的东西都直接写入硬盘驱动器)和“为提高性能而优化”(写入到缓存)。第一个选项可以允许你快速的断开设备与电脑的连接,例如一个USB闪存,你不用点击任务栏里面的“安全删除硬件”图标就可以直接把这些设备和电脑断开。如果两个选项都处于灰色无法选择的状态,那么说明你的磁盘驱动器默认已经把“写入缓存”选项打开了。 实习报告要求 设计思路和程序结构 对关键代码进行分析 运行结果
文档评论(0)