- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.缓冲区的工作方式.ppt
2. I/O设备的类型 1)按用户和系统分类 系统设备(一般是标准设备) 在操作系统生成时已登记于系统中标准设备 用户设备(一般为非标准设备) 在系统生成时未登入系统的非标准设备 2)按信息交换的单位分类 字符设备(character device) 以字符为单位进行输入输出设备 一般指慢速设备(打印机) 块设备(block device) 以块为单位进行输入输出设备 3)按设备的共享属性 独享设备: 为保证传递信息的连贯性,通常这类设备一经分配给某一作业,就在作业整个运行期间都为它占用。 共享设备 允许多个用户同时共享的设备 虚拟设备 通过SPOOLING技术把原来独享的设备改造成能为多个用户共享的设备 4)按设备硬件物理特性分类 顺序存取设备 存取时间与物理上当前位置有关 直接存取设备 存取时间与物理上的当前位置关系不大 5)按传输速率分类 低速设备 传输速率仅为每秒几个字节至数百个字节 中速设备 传输速度在每秒数千个字节至数十万个字节 高速设备 传输速度在每秒数百个千 字节至千兆字节 1.设备控制器的功能 1)接收和识别CPU发来的多种不同命令; 2)实现CPU与控制器之间、控制器和设备之间的数据交换; 3)记录和报告设备的状态。 4)地址识别。识别控制器控制的每个设备的地址 通道通过执行通道程序,并与设备控制器一起共同实现对I/O设备的控制。 通道程序是由一系列的通道指令(或称为通道命令)所构成。通道指令和一般的机器指令不同,在它的每条指令中通常包含下列信息:操作码,内存地址,计数,通道程序结束位P,记录结束标志R。 5.2 I/O控制方式 程序I/O方式 CPU执行I/O指令完成I/O操作,实现简单,CPU效率较低,是一种串行工作方式。 中断驱动I/O控制方式 外设主动,CPU与外设并行工作,CPU效率提高。 直接存储访问DMA控制方式 直接的存储器和外设的数据传送方式,高速,大量数据传送,CPU负荷较轻 I/O通道 由通道程序完成I/O操作,进一步减轻CPU负担 单缓冲是OS提供的一种最简单的缓冲。当用户进程发出一个I/O请求时,OS便在主存中分配一个缓冲区。 对于单缓冲,缓冲区属于临界资源,即不允许多个进程同时对一个缓冲区进行操作。因此,单缓冲虽然能匹配设备和CPU的处理速度,但无法实现设备与设备之间的并行操作。 以块设备为例: 假如磁盘把数据送入缓冲器时间为T,数据从缓冲 区传送到用户区为M,数据计算处理时间为C. 则不用缓冲器处理时间为T+C 用单缓冲器处理时间max(C,T)+M (M远小于T或C) 双缓冲提供两个缓冲区。 但双缓冲只是一种说明设备与设备、CPU与设备并行操作的简单模型,并不能用于实际系统中的并行操作 双缓冲情况下,系统处理时间MAX(T,C) 工作缓冲区: 收容输入数据的工作缓冲区 hin 提取输入数据的工作缓冲区sin 收容输出数据的工作缓冲区 hout 提取输出数据的工作缓冲区sout 3.缓冲池的管理 输入过程: 输入进程调用 get-buf(em, number),将空白缓冲区作 为输入缓冲区hin,当hin装满输入数据,系统调用put- buf(in, hin)将该缓冲区插入输入缓冲区队列in。 get-buf(in, number)从输入缓冲队列取出装满数据的 缓冲区,将其作为工作缓冲区sin,当CPU取完数据,系 统调用put-buf(em, sin)将缓冲区释放并插入空白队 列em中。 输出过程: 输出进程调用get-buf(em, number),将空白缓冲区作为 输出缓冲区hout,当hout装满数据,系统调用put- buf(out, hout)将该缓冲区插入输出缓冲区队列out。 get-buf(out, number)从输出缓冲队列取出装满数据的 缓冲区,将其作为工作缓冲区sout,当sout中数据输出完 毕,系统调用put-buf(em, sout),将缓冲区释放并插入 空白队列em中 2. SPOOLing系统的组成 输入进程Spi模拟脱机输入时的外围控制机,将用户要求 的数据从输入机通过输入缓冲区再送到输入井,当CPU需 要输入数据时,直接从输入井读入内存。 输出进程SPO模拟脱机输出时外围控制机,把用户要求输 出的数据,先从内存送到输出井,待输出设备空闲时, 再将输出井中数据经过输出缓冲区送到输出设备上。 定位一个物理记录需要三个参数: 柱面号 磁头号 扇区号 5.6.2 磁盘调度 磁盘调度策略很多,各有利弊。如何选择相应调度策略与磁盘的使用环境因素有关。
文档评论(0)