第五章设备管理教案解析.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文档。上传文档
查看更多
4.设备分配与状态跟踪 分配: 根据设备的物理特性,系统制订分配策略 静态分配 动态分配 虚拟分配 状态跟踪 系统检查相应设备的使用状态,来决定是否接受请求 一种简单的处理办法,用OPEN打开设备相应文件 独立于设备的I/O软件(续) 5.错误处理和报告 I/O经常出错,多数错误是与硬件紧密相关,应尽可能在底层处理 通常驱动程序知道如何处理错误 如果处理不成功,报告给独立于设备的I/O软件 独立于设备的I/O软件(续) 1.库函数 大部分I/O软件属于操作系统,但是有一小部分是与用户程序链接在一起的库函数。 I/O系统调用通常先是库函数调用 5.2.5 用户空间的I/O软件 2.spooling软件 SPOOLing又称为假脱机操作,它是在多道程序环境下,利用其中一道程序来模拟脱机输入时的外围控制机的功能,把低速I/O设备上的数据传送到高速磁盘上;再利用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。此时的外围操作与CPU对数据的处理同时进行。这种在联机的情况下实现的同时外围操作称为SPOOLing 用户进程 进行I/O调用;格式化I/O;SPOOLING 设备无关软件 命名;保护;阻塞;缓冲;分配 设备驱动程序 建立设备寄存器;检查状态 硬件 执行I/O操作 中断处理程序 当I/O结束时,唤醒驱动程序 层次 I/O应答 I/O功能 I/O请求 I/O软件组织成四个层次:?I/O中断处理程序、设备驱动程序、与设备无关的操作系统I/O软件、用户层I/O软件 实现一个I/O操作所应执行的步骤 应用进程对已打开文件的文件描述符执行读库函数 I/O软件检查参数是否正确 若正确,检查高速缓存中有无要读取的信息块 若有,从缓冲区直接读至用户区,完成I/O请求 若无,执行物理I/O操作,并阻塞应用进程,成功完成物理I/O操作时,则将应用进程放入就绪队列 物理I/O操作完成,应用程序从断点恢复 独立于设备的I/O软件(续) 执行物理I/O操作的过程: 内核启动设备驱动程序,分配缓冲区,并向设备控制寄存器发送启动买了,或建立DMA传输,启动I/O 设备控制器操纵设备,执行数据传输 采用DMA控制器控制时间传输时,一旦完成,则产生I/O结束中断 CPU响应中断,转向中断处理,检查中断原因 若有错,处理错误 若无错,将数据传输该指定的用户空间 独立于设备的I/O软件(续) 5.3.1 单缓冲 5.3.2 双缓冲 5.3.3 多缓冲 5.3.4缓冲区高速缓存 5.3 缓冲技术 改善中央处理器与外围设备之间速度不匹配的矛盾 协调逻辑记录大小与物理记录大小不一致 提高CPU和I/O设备的并行性 减少I/O操作对CPU的中断次数 放宽对CPU中断响应时间的要求 引入缓冲技术的目的 进程执行写操作输出数据时,向系统申请一个缓冲区,若为顺序写请求,则不断把数据填到缓冲区,直到被装满。此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上 进程执行读操作输入数据时,向系统申请一个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程 在输出数据时,只有在系统还来不及腾空缓冲而进程又要写数据时,它才需要等待 在输入数据时,仅当缓冲区空而进程又要从中读取数据时,它才被迫等待 缓冲技术实现基本思想 缓冲区的类型 缓冲区有不同的类型: 1.单缓冲 2.双缓冲 3.循环缓冲:空缓冲区、装满数据的缓冲区 4.缓冲池:空缓冲区、装满输入数据的缓冲区、装满输出数据的缓冲区   在单缓冲情况下,每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区。假定从磁盘把一块数据输入到缓冲区的时间为T,操作系统将该缓冲区中的数据传送到用户区的时间为M,而CPU对这一块数据处理(计算)的时间为C。由于T和C是可以并行的,当TC时,系统对每一块数据的处理时间为M+T,反之则为M+C可把系统对每一块数据的处理时间表示为Max(C,T)+M。 1.单缓冲(Single Buffer) 工作区 处理 ( C ) 缓冲区 传送 ( M ) 输入 ( T ) I/O 设备 ( a ) 用户进程 T 1 M 1 C 1 T 2 M 2 C 2 T 3 M 3 C 3 T 4 t ( b )   为了加快输入和输出速度,提高设备利用率,引入了双缓冲区机制,也称为缓冲对换(Buffer Swapping)。在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时操作系统可以从第一缓冲区中移出数据,并送入用户进程。接着由CPU对数据进行计算。 工作区 用户进程 缓冲区 1 缓冲区 2 I/O 设备 ( a ) 2.双缓冲(Double Buffer)

文档评论(0)

阿里山的姑娘 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档