资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,I/O 系统,第五章 设备管理,5.1 I/O系统,5.2 I/O控制方式,5.3 缓冲管理,5.4 设备分配,5.5 设备处理,第五章 设备管理 5.1 I/O系统,1,上节回顾,I/O设备分类:,传输速率、信息单位、共享属性,设备控制器:,功能,组成,I/O,通道:通道类型,解决瓶颈问题,I/O,控制方式,程序,I/O,中断驱动,DMA,通道控制,上节回顾I/O设备分类:传输速率、信息单位、共享属性,2,5.3 缓 冲 管 理,5.3.1 缓冲的引入,缓和CPU与I/O设备间速度不匹配的矛盾。,(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制。,(3)提高CPU和I/O设备之间的并行性。,5.3 缓 冲 管 理 5.3.1 缓冲的引入 缓和,3,图 5-10 利用缓冲寄存器实现缓冲,图 5-10 利用缓冲寄存器实现缓冲,4,5.3.2 单缓冲和双缓冲,1.单缓冲(Single Buffer),5.3.2 单缓冲和双缓冲 1.单缓冲(Single Bu,5,2.双缓冲(Double Buffer),图 5-12 双缓冲工作示意图,2.双缓冲(Double Buffer)图 5-12 双,6,图 5-13 双机通信时缓冲区的设置,图 5-13 双机通信时缓冲区的设置,7,5.3.3 循环缓冲,1.循环缓冲的组成,图 5-14 循环缓冲,5.3.3 循环缓冲 1.循环缓冲的组成 图 5-14 循,8,2.循环缓冲区的使用,Getbuf过程。,(2)Releasebuf过程。,2.循环缓冲区的使用 Getbuf过程。,9,3.进程同步,Nexti指针追赶上Nextg指针。,(2)Nextg指针追赶上Nexti指针。,3.进程同步 Nexti指针追赶上Nextg指针。,10,5.3.4 缓冲池(Buffer Pool),1.缓冲池的组成,对于既可用于输入又可用于输出的公用缓冲池,其中至少应含有以下三种类型的缓冲区:,空(闲)缓冲区;,装满输入数据的缓冲区;,装满输出数据的缓冲区。,5.3.4 缓冲池(Buffer Pool)1.缓冲池,11,5.3.4 缓冲池(Buffer Pool),1.缓冲池的组成,为了管理上的方便,可将相同类型的缓冲区链成一个队列,于是可形成以下三个队列:,1)空缓冲队列emq。,2)输入队列inq。,3)输出队列outq。,四种工作缓冲区:,1)收容输入,2)提取输入,3)收容输出,4)提取输出,5.3.4 缓冲池(Buffer Pool)1.缓冲池,12,2.Getbuf过程和Putbuf过程,Procedure Getbuf(type),begin,Wait(RS(type);,Wait(MS(type);,B(number)=Takebuf(type);,Signal(MS(type);,end,Procedure Putbuf(type,number),begin,Wait(MS(type);,Addbuf(type,number);,Signal(MS(type);,Signal(RS(type);,end,2.Getbuf过程和Putbuf过程 Procedur,13,3.缓冲区的工作方式,四种缓冲区的工作方式,1、收容输入,2、提取输入,3、收容输出,4、提取输出,3.缓冲区的工作方式 四种缓冲区的工作方式,14,5.4 设 备 分 配,5.4 设 备 分 配,15,5.4.1 设备分配中的数据结构,5.4.1 设备分配中的数据结构,16,1.设备控制表DCT,图 5-16 设备控制表,1.设备控制表DCT 图 5-16 设备控制表,17,2.控制器控制表、通道控制表和系统设备表,图 5-17 COCT、CHCT和SDT表,2.控制器控制表、通道控制表和系统设备表 图 5-17,18,控制器控制表、通道控制表、设备控制表的联接,CHCT,COCT,DCT,控制器控制表、通道控制表、设备控制表的联接CHCT C,19,5.4.2 设备分配时应考虑的因素,设备的固有属性,设备分配算法,设备分配安全性,5.4.2 设备分配时应考虑的因素 设备的固有属性,20,1.设备的固有属性,1.设备的固有属性,21,2.设备分配算法,2.设备分配算法,22,3.设备分配中的安全性,3.设备分配中的安全性,23,5.4.3 设备独立性,1.设备独立性(Device Independence)的概念,为了提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性,也称为设备无关性。其基本含义是:,应用程序独立于具体使用的物理设备。,5.4.3 设备独立性 1.设备独立性(,24,1.设备独立性(Device Independence)的概念,引入了逻辑设备和物理设备这两个概念。,在应用程序中,使用逻辑设备名称来请求使用某类设备;,在实际执行时,还必须使用物理设备名称。,因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。,1.设备独立性(Device Indep,25,在实现了设备独立性的功能后,可带来以下两方面的好处。,在实现了设备独立性的功能后,可带,26,2.设备独立性软件,1)执行所有设备的公有操作,对独立设备的分配与回收;,将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序;,对设备进行保护,禁止用户直接访问设备;,缓冲管理,即对缓冲区进行有效的管理,差错控制。设备独立性软件只处理那些设备驱动程序无法处理的错误。,2.设备独立性软件 1)执行所有设备的公,27,2)向用户层(或文件层)软件提供统一接口,无论何种设备,它们向用户所提供的接口应该是相同的。例如,对各种设备的读操作,在应用程序中都使用read;而对各种设备的写操作,也都使用write。,2)向用户层(或文件层)软件提供统一接口,28,MCI的全称是Media Control Interface,是Microsoft提供的多媒体控制接口。MCI向Windows提供高层次的,独立于设备的,控制多种多媒体设备的命令。它的优点包括:,1、MCI封装了各种多媒体设备的具体控制细节,开发者只需要通过接口函数进行操作,就可以完全有效地对设备进行控制,缩短了多媒体开发时间,提高开发效率,2、MCI是一种访问多媒体设备的高层次方法,独立于设备的品牌、控制参数差异等,提高了程序的可移植性和可靠性。,3、MCI提供了功能强大的,可以在C语言直接调用的函数库。使得开发更加简单方便。,MCI的全称是Media Control Interface,29,MCI提供的基本操作:,Open 使用 MCI_OPEN 命令打开一设备,Close 使用 MCI_CLOSE 命令关闭一设备。,Play 使用 MCI_PLAY 命令播放一设备。,Pause 使用 MCI_PAUSE 命令暂停播放或记录。,Stop 使用 MCI_STOP 命令停止播放或记录。,Status 使用MCI_STATUS查询设备状态信息,Set 使用MCI_SET设定播放属性,Seek 使用MCI_SEEK定位到指定的播放位置,MCI提供的基本操作:,30,3.逻辑设备名到物理设备名映射的实现,逻辑设备表,2)LUT的设置问题,图 5-18 逻辑设备表,3.逻辑设备名到物理设备名映射的实现 逻辑设备表图 5-1,31,5.4.4 独占设备的分配程序,1.基本的设备分配程序,分配设备:检查安全性,分配控制器,分配通道,保证找到设备控制器通道的三者分配成功的链路,5.4.4 独占设备的分配程序 1.基本的设备分配程序 分,32,2.设备分配程序的改进,缺点:,1)以物理设备名I/O请求,2)采用单通路结构,容易产生“瓶颈”,改进:,增加设备的独立性,考虑多通路情况,2.设备分配程序的改进 缺点:,33,5.4.5 SPOOLing技术,1.什么是SPOOLing,为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上;或者相反。,事实上,当系统中引入了多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样,便可在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On-Line),或称为假脱机操作。,5.4.5 SPOOLing技术 1.什,34,2.SPOOLing系统的组成,2.SPOOLing系统的组成,35,2.SPOOLing系统的组成,2.SPOOLing系统的组成,36,2.SPOOLing系统的组成,2.SPOOLing系统的组成,37,2.SPOOLing系统的组成,图 5-19 SPOOLing系统的组成,2.SPOOLing系统的组成 图 5-19 SPOOLi,38,3.共享打印机,共享打印机技术已被广泛地用于多用户系统和局域网络中。当用户进程请求打印输出时,SPOOLing系统同意为它打印输出,但并不真正立即把打印机分配给该用户进程,而只为它做两件事:由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。,3.共享打印机 共享打印机技术已被广泛地用,39,4.SPOOLing系统的特点,提高了I/O的速度。,(2)将独占设备改造为共享设备。,(3)实现了虚拟设备功能。,4.SPOOLing系统的特点 提高了I/O的速度。,40,
展开阅读全文