I、O系统组成与控制过程.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文档。上传文档
查看更多
第6章 设备管理;教学内容 6.1 I/O系统组成 6.2 数据传输控制方式 6.3 中断技术 6.4 缓冲技术 6.5 设备分配 6.6 SPOOLING系统 6.7 I/O控制过程 6.8 磁盘I/O 6.9 LINUX系统的设备管理 本章小结 ;6.1 I/O系统组成;6.1.1 I/O设备;6.1.2 设备控制器;2. 设备控制器的组成;6.1.3 I/O通道;6.2 数据传输控制方式;6.2.2 中断控制方式;6.2.3 DMA方式;6.2.4 通道控制方式;6.3 中断技术;6.3.2 中断源;6.3.3 中断响应; 中断响应的过程:;6.4 缓冲技术;6.4.2 单缓冲;6.4.3 双缓冲;6.4.4 循环缓冲;6.4.5 缓冲池;6.5 设备分配;2. I/O设备的分配算法;3. 设备分配的安全性;6.5.2 虚拟设备技术;6.6 SPOOLING系统;6.6.2 SPOOLING系统的组成;6.7 I/O控制过程;6.8 磁盘I/O;6.8.2 磁盘I/O性能;(3)传输时间Tt 这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。由读写的字节数和磁盘旋转速度决定。 其中,b为一次读写的字节数,r为磁盘每秒的转数,N为每条磁道的字节数 对磁盘的访问时间为三部分时间之和:T=Ts + Tr + Tt。在这三个时间中,寻道时间和旋转延迟与读写的字节数无关,寻道时间所占比例最大。 ;6.8.3 磁盘调度;2. 最短寻道时间优先算法;3. 扫描算法;4. 循环扫描算法;6.8.4 磁盘高速缓存;6.9 LINUX系统的设备管理;6.9.2 LINUX设备驱动程序的接口;2. 设备开关表 LINUX系统把块设备和字符设备又分别细分为若干类。如:块设备可分为硬盘、软盘、磁带、光盘等类,字符设备可分为终端设备、打印机等。为指定一类设备,将设备类从0开始顺序编号,称为主设备号;同一类的设备可能有许多,为了指定一台具体设备,需要一个次设备号来标识。因此,在指定一台具体设备时要给出:块设备/字符设备、主设备号、次设备号。 ; 设备开关表相当于一个二维矩阵,每一行含有同一类设备的驱动程序入口地址,主设备号与行号一一对应;每一列是完成不同操作(open、close、read、write)的驱动程序的入口地址。 ;6.9.3 LINUX的磁盘高速缓存;当从磁盘中读数据时,文件系统先从磁盘高速缓存中读,如果数据已在高速缓存中,则可以不必启动磁盘I/O,如果数据不在高速缓存中,则启动磁盘I/O,从磁盘读取数据送往高速缓存,进程再从高速缓存中读取数据。 当进程往磁盘上写数据时,先往高速缓存中写,以便随后又读它时,能从高速缓存中读取,而不必启动磁盘读取。LINUX采取了“延迟写”策略,即:如果缓冲区还没有写满,则不急于把缓冲区的内容写到磁盘上,而是在缓冲管理数据结构中对该缓冲区设置延迟写标志,当高速缓存中的数据延迟到必须往磁盘上写的时候才进行写盘操作。 ;2. 磁盘缓冲管理的数据结构; 忙标志位BUSY:缓冲区当前是否正忙。 有效位AVE:缓冲区包含的数据是否有效。 延迟写位DELWR:是否延迟写。 写标志位WRITE:是否正在把缓冲区的内容写到磁盘上。 读标志位READ:是否从磁盘往缓冲区读取信息。 等待位WAIT:是否有一个进程正在等待该缓冲 区。 设备缓冲区队列前向指针b-forw 设备缓冲区队列后向指针b-back 空闲缓冲区队列前向指针av-forw 空闲缓冲区队列后向指针av-back ;要对所有缓冲区进行管理,必须将所有缓冲首部组织成一定的数据结构,LINUX建立了两个缓冲区队列:空闲缓冲区队列和设备缓冲区队列。 为了对缓冲区进行分配,把所有的空闲缓冲区组织成一个队列。此队列中的所有缓冲区的忙标志位BUSY均为0。该队列是一个双向循环链表。 ;对于每类设备都建立一个设备缓冲区队列,是与该类设备有关的所有缓冲区构成的队列。此队列中的所有缓冲区首部的忙标志位BUSY均为1。该队列是一个双向循环链表。 任何缓冲区首部,要么位于空闲缓冲区队列中,要么位于设备缓冲区队列中。 ;3. LINUX磁盘缓冲区管理算法;当缓冲区的信息读到相应进程的内存区后,或进程信息写到缓冲区后,便释放进程使用的缓冲区,将flag中的BUSY位置0,送入空闲缓冲区队尾,即使置为延迟写的缓冲区也送入空闲缓冲区队列。这样可以使有限的缓冲区得到充分利用,满足多个并发进程的需求。 当一个缓

文档评论(0)

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

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

1亿VIP精品文档

相关文档