缓冲、高速缓存.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文档。上传文档
查看更多
缓冲、高速缓存.ppt

* 操作系统内核的I/O子系统 内核I/O子系统 内核与I/O有关服务: I/O调度、缓冲、高速缓存、假脱机spooling、设备预订、错误处理. 内核I/O子系统负责: 文件和设备命名空间的管理 文件和设备访问控制 操作控制(for example,a modem cannot seek()) 文件系统空间的分配 设备分配 缓冲、高速缓存、假脱机 I/O调度 设备状态监控、错误处理、失败恢复 设备驱动程序的配置和初始化 I/O调度 I/O调度:调度一组I/O请求就是确定一个好的顺序来执行这些请求。 某些I/O需要按设备队列的顺序--先来先服务 某些操作系统尝试着公平--优先级高者优先 磁盘I/O调度 实现 OS通过为每个设备维护一个请求队列(设备状态表)来实现调度。 可以试图公平,也可以根据不同的优先级进行I/O调度。 缓冲buffer 缓冲 Buffering—用来保存在两设备之间或在设备和应用程序之间所传输数据的内存区域。 缓冲区管理:为了解决CPU与I/O之间速度不匹配的矛盾,在它们之间配置了缓冲区。这样设备管理程序又要负责管理缓冲区的建立、分配和释放。 缓冲作用: 解决设备速度不匹配 解决设备传输块的大小不匹配 为了维持拷贝语义“copy semantics”要求 单缓冲、双缓冲、多缓冲、缓冲池 高速缓存 高速缓存(cache):是可以保留数据拷贝的高速内存。 缓冲与高速缓存的差别是缓冲只是保留数据唯一一个现存拷贝,而根据定义高速缓存只是提供了一个驻留在其他地方的数据的一个高速拷贝。 高速缓存和缓冲是两个不同的功能,但有时一块内存区域也可以同时用于两个目的。 当内核接收到I/O请求时,内核首先检查高速缓存以确定相应文件的内容是否在内存中。如果是,物理磁盘I/O就可以避免或延迟。 假脱机技术 SPOOLing(Simultaneous Peripheral Operation On Line),称为假脱机技术。用来保存设备输出的缓冲,这些设备如打印机一次只能接收一个任务,不能接收交叉的数据流。 操作系统通过截取对打印机的输出来解决这一问题。应用程序的输出先是假脱机到一个独立的磁盘文件上。当应用程序完成打印时,假脱机系统将相应的待送打印机的假脱机文件进行排队 Printing:打印机虽然是独享设备,通过SPOOLing技术,可以将它改造为一台可供多个用户共享的设备。 设备预订和错误处理 设备预订—提供对设备的独占访问 分配和再分配的系统调用 有可能产生死锁 错误处理 Error Handling 操作系统可以恢复磁盘重读、网络重发等暂时的失败,但不能恢复某些重要系统组件的永久性出错 当I/O失败时,大多数返回一个错误码 系统日志记录了出错报告 内核数据结构 内核需要保存I/O组件使用的状态信息,可以通过若干内核数据结构例如文件打开表等来完成,跟踪网络连接,字符设备状态等 许多复杂的数据结构用来跟踪缓冲,内存分配,及“脏”块 某些OS用面向对象的方法和消息传递的方法来实现I/O UNIX I/O内核结构 转换I/O请求为硬件操作 I/O请求到硬件操作 考虑一个进程从磁盘中读取一个文件过程 确定保存文件的设备 转换名字到设备的表示法 把数据从磁盘读到缓冲区中 通知请求进程数据现在是有效的 把控制权返回给进程 I/O请求的周期 数据已在缓冲区 启动I/O设备 习题分析 1.在操作系统中,用户在使用I/O设备时,通常采用   A.设备的绝对号   B.设备的相对号   C.虚拟设备号    D.设备名 2.在现代操作系统中采用缓冲技术的主要目的是 A.改善用户编程环境 B.提高CPU的处理速度 C.提高CPU和设备之间的并行程度 D.实现与设备无关性 3. 设备的打开、关闭、读、写等操作是由 完成的。 A.用户程序 B.编译程序 C.设备分配程序 D.设备驱动程序 习题分析 4.I/O系统有三种常用方式来与主机交换数据,它们是程序轮询方式、中断方式和DMA方式,其中DMA方式主要由硬件来实现,此时高速外设和内存之间进行数据交换 。 A.不通过CPU的控制,不利用系统总线   B. 不通过CPU的控制,利用系统总线 C. 通过CPU的控制,不利用系统总线 D. 通过CPU的控制,利用系统总线 End 拷贝语义:某应用程序需要将缓冲区内的数据写入磁盘,它可以调用write()系统调用。当系统调用返回时,如果应用程序改变了缓冲区的内容,根据拷贝语义,操作系统保证要写入磁盘的数据就是write()系统调用发生时的版本。一个简单方法就是操作系统在write系统调用返回前将应用程序缓冲区复

文档评论(0)

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

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

1亿VIP精品文档

相关文档