欢迎来到天天文库
浏览记录
ID:39695465
大小:325.00 KB
页数:39页
时间:2019-07-09
《操作系统课件设备管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统第7章设备管理第7章设备管理7-1概述7-2I/O硬件特点7-3I/O软件的组成7-4设备分配7-5虚拟设备7-6LinuxI/O设备管理7-1-1设备的分类按所属关系分类系统设备、用户设备从资源分配角度分类独占设备、共享设备、虚拟设备从外部设备分类存储设备(或文件设备)、输入输出设备按信息交换方式分类块设备、字符设备7-1概述7-1-2设备管理的目标和功能设备管理的目标方便性、并行性、均衡性、独立性(或无关性)设备管理的功能监视所有设备的状态制定设备分配策略设备的分配设备的回收7-1概述7-2-1设备组成一般而言,I/O设备由物理设备和电子部
2、件两部分组成7-2-2设备接口接口的功能按照计算机主机与设备的约定格式和过程接收或发送数据和信号接口的标准化除了通用I/O接口之外,还有一些专用I/O接口。任何一种接口都有自己的技术特点,都要制定各自的标准7-2I/O硬件特点7-2-3设备控制器分类用于控制字符设备的控制器用于控制块设备的控制器设备控制器主要功能接收和识别命令数据交换地址识别标识和报告设备的状态数据缓冲差错控制7-2I/O硬件特点7-2-4通道由通道、设备控制器和设备三级组成。因为通道、设备控制器都是独立的功能部件,它们可以并行操作,所以可以构成I/O系统多通路情况7-2I/O硬件特点
3、通道的类型根据信息交换方式,通道可分成三种类型:字节多路通道数组选择通道数组多路通道7-2I/O硬件特点通道程序通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制通道程序是由一系列通道指令(或称为通道命令)所构成通道指令中包含如下信息:操作码、内存地址、计数、通道程序结束位P7-2I/O硬件特点7-2-5I/O控制方式程序查询方式采用程序查询方式,每当程序要使用某一外设进行I/O操作时,CPU要执行一段循环测试程序,以实现在外设准备好时执行一条输入/输出指令,进行一个字节或字的数据传送操作。7-2I/O硬件特点I/O中断方式每当设备完成I
4、/O操作时,便向CPU发出中断请求信号,通知CPU外设已准备好,可以进行数据传送操作。这样,CPU一旦启动I/O设备后便可执行其它程序,仅在收到I/O中断请求时才执行其中断服务程序,进行I/O处理和I/O操作。直接存储器访问采用DMA方式时,不仅允许CPU控制地址线,进行CPU与主存贮器的数据交换,而且允许DMA控制器接管地址线的控制权,直接控制DMA控制器与主存的数据交换。从而使磁盘设备与存贮器之间的数据传送不需要CPU介入,因而减轻了CPU的负担。7-2I/O硬件特点7-2-6缓冲技术缓冲的引入凡数据到达速度和离去速度不匹配的地方都可以采用缓冲技术
5、引入缓冲的主要原因-缓和CPU与I/O设备间速度不匹配的矛盾-减少对CPU的中断频率,放宽对中断响应时间的限制-提高CPU和I/O设备的并行性缓冲的类型按照缓冲区存在的位置分类硬件缓冲、软件缓冲7-2I/O硬件特点按照缓冲区的个数以及缓冲区的组织形式单缓冲双缓冲循环缓冲缓冲池缓冲池缓冲池的组成-在缓冲池中存在由三类缓冲区组成的三条队列:空缓冲队列emq输入队列inq输出队列outq7-2I/O硬件特点-在缓冲池中,有4种工作缓冲区:用于收容设备输入数据的收容输入缓冲区hin;用于提取设备输入数据的提取输入缓冲区sin;用于收容CPU输出数据的收容输出缓
6、冲区hout;用于提取CPU输出数据的提取输出缓冲区sout7-2I/O硬件特点缓冲池的操作从缓冲区队列中取出一个缓冲区的过程Take_buf(type)把缓冲区插入到相应的缓冲区队列的过程Add_buf(type,number)申请缓冲区用的过程Get_buf(type,number)将缓冲区插入到相应缓冲区队列的过程put_buf(type,work_buf)-Get_buf和Put_buf过程描述:voidGet_buf(type){Wait(RS(type));Wati(MS(type));B(number)=Take_buf(type);Si
7、gnal(MS(type));}7-2I/O硬件特点voidPut_buf(type,number){Wait(MS(type));Add_buf(type,number);Signal(MS(type));Signal(RS(type));}缓冲池的工作过程可描述如下:收容输入。在输入进程需要输入数据时,调用Get_buf(emq)过程,从空缓冲队列emq的队首摘下一空缓冲,把它作为收容输入工作缓冲区hin,把数据输入其中,装满后再调用Put_buf(inq,hin)过程,将该缓冲区挂在输入队列inq上。7-2I/O硬件特点提取输入。当计算进程需要输
8、入数据时,调用Get_buf(inq)过程,从输入队列inq的队首取得一缓冲区作为提取输入工作
此文档下载收益归作者所有