中南大学_宋虹_操作系统课件

上传人:xzh****18 文档编号:53772032 上传时间:2018-09-05 格式:PPT 页数:126 大小:918KB
返回 下载 相关 举报
中南大学_宋虹_操作系统课件_第1页
第1页 / 共126页
中南大学_宋虹_操作系统课件_第2页
第2页 / 共126页
中南大学_宋虹_操作系统课件_第3页
第3页 / 共126页
中南大学_宋虹_操作系统课件_第4页
第4页 / 共126页
中南大学_宋虹_操作系统课件_第5页
第5页 / 共126页
点击查看更多>>
资源描述

《中南大学_宋虹_操作系统课件》由会员分享,可在线阅读,更多相关《中南大学_宋虹_操作系统课件(126页珍藏版)》请在金锄头文库上搜索。

1、2018年9月5日星期三8时50分57秒,计算机操作系统,操作系统原理 Principles of Operating System,中南大学信息科学与工程学院 Central South University College of Information Science and Engineering,2018年9月5日星期三,计算机操作系统,目 录,REFERANCE 第1部分 绪论 第2部分 进程管理 第3部分 存储管理 第4部分 I/O设备管理 第5部分 文件管理 第6部分 OS安全与保护,2018年9月5日星期三,计算机操作系统,第4部分(第6章)I/O设备管理,6.1 I/O系统的

2、组成 6.2 I/O控制方式 6.3 缓冲管理 6.4 设备分配 6.5 设备处理,2018年9月5日星期三,计算机操作系统,6.1 I/O系统的组成,6.1.1 I/O系统的结构 一、微型机I/O系统无通道的I/O系统,以CPU为中心(图例)。 二、主机I/O系统有通道的I/O系统,以主存为中心,属四级结构(图例) OVER,设备类型,2018年9月5日星期三,计算机操作系统,微型机I/O系统结构图例,CPU,RAM,I/O1,I/On,. .,2018年9月5日星期三,计算机操作系统,主机I/O系统结构图例,主机,RAM,CPU,通道1,控制器1,控制器2,设备1,设备2,设备3,设备4,

3、通道2,控制器3,控制器4,设备5,设备6,设备7,设备8,增加通路按任意键.,2018年9月5日星期三,计算机操作系统,6.1.2设备类型,一、按传输速率分1、低速设备:几百字节/秒,键盘、鼠标;2、中速设备:几千字节/秒,打印机;3、高速设备:数兆字节/秒,HDD、TYPE; 二、按信息交换单位分1、块设备:信息存取以块为单位(Block);2、字符设备:以字符为单位; 三、按共享属性1、独占设备; 2、共享设备; 3、虚拟设备;,设备控制器,2018年9月5日星期三,计算机操作系统,四、设备控制器DC(Device Controller),DC是CPU与I/O设备间的接口,属于可编址设备

4、,即:DC连接多个设备时,具有多个设备地址。分为:控制字符设备/块设备的控制器。 一、功能1、接收、识别CPU发来的I/O命令(Read,Write.);2、通过数据寄存器,完成数据的存储、转发;3、借助状态寄存器,记录所连接设备的状态;4、通过地址译码器,实现所连接设备的地址识别; 二、组成: 由3部分组成(图例),通道,2018年9月5日星期三,计算机操作系统,设备控制器组成图例,与CPU接口 与设备接口,数据寄存器,控制/状态 寄存器,I/O逻辑,接口1,接口n,数据线,地址线,控制线,数据,数据,状态,状态,控制,控制,2018年9月5日星期三,计算机操作系统,6.1.4 I/O通道,

5、一、通道设备的引入目的:提高CPU的利用率。 与CPU的2个区别:1、仅能执行与I/O有关指令;2、无独立主存,与CPU共享; 有通道系统I/O示例:,进程需I/O,CPU给通道发I/O指令 (通道程序首址、设备),通道取通道程序,执行I/O,中断通知CPU,通道的类型,2018年9月5日星期三,计算机操作系统,二、通道的3种类型,1、字节多路通道(Byte Multiplex Channel) (图) 实现:通道含有许多非分配型子通道,每个子通道连接一台I/O设备。各子通道按时间片轮转方式使用主通道,每次传输一个字节。(用于连接低中速设备) 2、数组选择通道(Block Selector C

6、hannel) 实现:一个通道可连接多台I/O设备,但某段时间只允许一台设备I/O,并独占通道直到传输完成。传输时,每次传输一批数据。(用于连接高速外设) 3、数组多路(Block Multiplex Channel ) 实现:结合选择通道的高速与字节多路通道分时并行的优点,传输按成组分时方式进行。,瓶颈问题,2018年9月5日星期三,计算机操作系统,三、瓶颈问题,为降低系统成本,并非每一个I/O设备都有自己独立的控制器和通道,所以造成多台I/O设备争用控制器、通道。使通道成为I/O的主要瓶颈,造成系统吞吐量下降。解决2方法:1、增加通路,提高系统的灵活性、可靠性;(图例)2、设置缓冲区,增加

7、I/O设备的独立性。,2018年9月5日星期三,计算机操作系统,字节多路通道示意图,字节多路通道,控制器1,控制器2,控制器n,.,2018年9月5日星期三,计算机操作系统,6.2 I/O控制方式,I/O控制方式发展宗旨:尽量减少CPU对I/O的干预,提高CPU的利用率。 发展的四个阶段:6.2.1 程序I/O方式;6.2.2 中断驱动I/O控制方式;6.2.3 DMA方式;6.2.4 通道方式;,2018年9月5日星期三,计算机操作系统,6.2.1 程序I/O方式(Programmed I/O),早期无中断系统 工作特点:1、“忙测试”:(1) CPU向I/O控制器发一条I/O命令,启动I/

8、O设备;(2) 置设备状态寄存器中busy为1;(3) 循环测试busy,直到busy=0;2、每一次,I/O一个字(符),2018年9月5日星期三,计算机操作系统,6.2.2 中断驱动I/O控制方式,有中断的系统。 工作过程:1、进程I/O时,CPU发I/O命令给设备控制器DC(Device Controller),并继续工作;2、DC接到命令,控制设备I/O;3、I/O完成,DC向CPU发中断信号;4、CPU检查I/O中是否有错, 有:处理; 无:继续;每次I/O一个字(符),2018年9月5日星期三,计算机操作系统,6.2.3 DMA(Direct Memory Access)方式,特点

9、:1、I/O基本单位是数据块(Block);2、I/O是直接从设备入内存,或相反;3、一块/多块完成后,CPU才干预; DMA组成 工作过程3步:1、进程I/O,CPU给控制器发送:I/O命令、内存/外存起址、传输字节数;2、CPU启动控制器进行数据I/O;3、I/O完成,DMA向CPU发送中断信号;,2018年9月5日星期三,计算机操作系统,DMA组成,Count,内存,起址,CPU,数据寄存器DR,内存地址MAR,计数器DC,命令寄存器DR,I/O 逻 辑,接口1,接口n,2018年9月5日星期三,计算机操作系统,6.2.4 通道方式,工作过程:1、进程I/O,CPU向通道发送I/O命令,

10、给出通道程序的起址、需访问的设备等;2、通道执行通道程序,完成I/O,并中断通知CPU。I/O量:以一组数据块为单位。,2018年9月5日星期三,计算机操作系统,6.3 缓冲管理,一、缓冲引入原因1、缓和CPU与I/O设备间速度不匹配的矛盾;2、减少CPU对I/O的干预;3、提高CPU和I/O设备之间的并行程度; 二、缓冲的种类1、单缓冲 2、双缓冲3、循环缓冲(多缓冲,类似于生产者-消费者中的缓冲区)4、缓冲池,2018年9月5日星期三,计算机操作系统,1、单缓冲(Single Buffer),工作方式:进程发出I/O请求时,操作系统在主存分配一个缓冲区,通过缓冲区完成I/O。 例:从块设备

11、输入处理 (性能分析)1、将一块输入数据输入缓冲区,时间T;2、系统将缓冲区数据复制到用户区,时间M;3、CPU对输入的数据处理,时间C;,用户进程,操作系统,BUF,数据区,CPU处理C,复制M,设备输入T,2018年9月5日星期三,计算机操作系统,单缓冲性能分析,无缓冲区时,每一块数据的处理时间为: T+C 单缓冲区时,每一块数据的处理时间为:MAX(C,T)+M由于MT或C,所以上式近似为:MAX(T,C),2018年9月5日星期三,计算机操作系统,3、缓冲池(Buffer Pool),单、双、循环缓冲都属专用缓冲。为提高缓冲区的利用率,目前广泛采用共用缓冲池,即缓冲池中的缓冲区可供多个

12、进程共享。 (1)缓冲池的组成缓冲池中的缓冲区既可用作输入缓冲,也可用作输出缓冲,所以缓冲池中的缓冲区应有三个队列: 空缓冲队列emq;队首F(emq),队尾L(emq) 输入队列inq;队首F(inq),队尾L(inq) 输出队列outq;队首F(outq),队尾L(outq),四种工作缓冲区,2018年9月5日星期三,计算机操作系统,(2)四种工作缓冲区,为标志缓冲池中各缓冲区的动态过程,系统设置了四个工作缓冲区。 用于收容输入数据的工作缓冲区hin 用于收容输出数据的工作缓冲区hout 用于提取输入数据的工作缓冲区sin 用于提取输出数据的工作缓冲区sout相应缓冲区可工作在收容输入、收

13、容输出、提取输入、提取输出四种工作方式下。图例,Getbuf和Putbuf过程,2018年9月5日星期三,计算机操作系统,缓冲区工作方式图例,缓冲池,hin,sin,sout,hout,用 户 进 程,收容输入,收容输出,提取输入,提取输出,2018年9月5日星期三,计算机操作系统,(3)Getbuf和Putbuf过程,Getbuf(type):用于从type指定的队列中得到一个缓冲区; Putbuf(type,number)用于将参数number所指示的缓冲区,挂在type所指队列的队尾;由于缓冲池中的缓冲区被多个进程共享,所以出、入队的操作应该互斥。系统对每个队列type设置2个信号量:资

14、源信号量RS(type);互斥信号量MS(type);Getbuf和Putbuf过程描述,工作方式,2018年9月5日星期三,计算机操作系统,Getbuf和Putbuf过程描述,Getbuf(type) wait(RS(type);wait(MS(type);B(number):=Takebuf(type);signal(MS(type); ,Putbuf(type,number) wait(MS(type);Addbuf(type,number);signal(MS(type);signal(RS(type); ,2018年9月5日星期三,计算机操作系统,(4) 工作方式,收容输入工作方式(

15、从I/O设备输入到缓冲) 进程需输入数据时,调用Getbuf(emq),得到一个空缓冲作为收容输入的工作缓冲区hin;图例 将数据输入到hin中; 调用Putbuf(inq,hin),将hin入inq的队尾; 提取输入工作方式(从inq提取所需的数据使用) 计算进程需输入数据时,调用Getbuf(inq),取得一个缓冲区作为提取输入工作缓冲区sin; 计算进程使用完成后,调用Putbue(emq,sin),将缓冲区挂到emq队尾; 其余方式自学,2018年9月5日星期三,计算机操作系统,收容输入工作方式图例,emq.,inq.,输入进程 Getbuf(emq),hin,从设备 输入 数据,Putbuf (inq,hin),F(inq),L(inq),2018年9月5日星期三,计算机操作系统,6.4 设备分配,功能:进程发出I/O请求时,按照一定的策略将I/O所需设备分配给进程。(有通道结构) 6.4.1设备分配中的4个数据结构 一、设备控制表DCT(Device Control Table)系统为每个设备配置一张DCT,用于记录该设备的相关参数。 二、控制器控制表COCT(Controller Control Table) 三、通道控制表CHCT(Channel Control Table) 四、系统设备表SDT(System Device Table),

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号