您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 孙钟秀操作系统第五章设备管理
15.1概述一、设备的分类二、设备控制器三、设备管理的目标四、设备管理的功能2一、设备的分类1、按传输速率分低速设备:每秒几个到数百字节。如Modem,键盘,鼠标等中速设备:每秒数千到数万字节。如激光打印机高速设备:每秒数百K到数兆。如磁盘、磁带32、按信息交换的单位分类字符设备:I/O传输的单位是字节,如打印机、modem等。特征:速率较低、I/O常采用中断驱动。块设备:I/O传输的单位是块,如磁盘、磁带。特征:速率高(几兆)、可随机访问任一块、I/O常采用DMA方式。43.按资源管理方式分类独占设备:在一段时间内只允许一个进程访问的设备。字符设备及磁带机属独占型设备。即临界资源。共享设备:一段时间内允许多个进程同时访问的设备,多个进程对它的访问可以交叉进行,除磁带机外的块设备(如磁盘)属共享设备。虚拟设备:通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机(SPOOLing)技术实现虚拟设备。5二、设备控制器I/O设备通常由机械部分和电子部分所组成,电子部件称设备控制器或适配器,它是可插入主板扩充槽的印刷电路板,机械部件则是设备本身。一个控制器可以控制两个或更多同类设备。操作系统是与控制器打交道而非与设备本身交互,微机和小型机采用单总线模型,实现CPU和控制器间的数据传送,中、大型机则采用多总线结构和多通道方式,以提高并行操作程度。如果没有控制器,复杂操作必须由操作系统来解决,引入控制器后,通过传递简单参数就可进行I/O操作,大大简化系统的设计,有利于计算机系统对各类控制器和设备的兼容性。6设备控制器是CPU和设备之间的一个接口,它接收从CPU发来的命令,控制I/O设备操作,实现主存和设备之间的数据传输。设备控制器是一个可编址设备,当它连接多台设备时,则应具有多个设备地址。设备控制器主要功能:①接收和识别CPU或通道发来的命令②实现数据交换,包括设备和控制器间的数据传输,控制器和主存储器间传输数据③发现和记录设备及自身的状态信息,供CPU处理使用④设备地址识别7CPU主存显示器控制器显示器打印机控制器打印机……8二、设备管理的目标1、设备独立性设备独立性:应用程序独立于具体使用的物理设备。用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换。用户能独立于具体物理设备而方便的使用设备。这很象程序对逻辑地址的使用。例如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。9设备独立性带来的好处1)便于系统增减或变更外围设备2)便于实现I/O重定向;易于对付外设故障3)提高了设备分配的灵活性和利用率102、提高设备利用率提高设备的使用效率是操作系统设备管理的重要目标。为达到此目标除了要合理分配和使用外部设备外,还应努力提高设备同CPU的并行程度。与此有关的技术有:中断技术、DMA技术、通道技术和缓冲技术。113、设备的统一管理外设的种类繁多,特性各异,主要差别反映在以下几个方面:速度:不同的设备处理和传递信息的速度差别甚大,如键盘每秒钟只能处理几个或几十个字符,而磁盘的处理速度可达几十MB/S传递单位:有的设备以字符为单位传递信息,如键盘。有的以字符块为单位传递信息,如磁盘。操作方法和特性:各种设备都有自己的特性和操作方法,如打印机只允许写操作,键盘只能做读操作,而磁盘既可读,也可写;卡片机中的卡片不能倒退,磁带机可反绕,磁盘可随机存取。出错条件:各种设备的出错条件不同,即数据传输失败的原因各种各样,如打印机有缺纸错,磁盘I/O有奇偶校验错等。12设备管理程序力图隐蔽上述各种设备的差别,向用户提供统一的设备使用接口,这会给系统的设计带来困难,但方便了用户。如UNIX系统把外设作为特别文件处理,把设备看作文件,用操作文件的方法来操作设备,这极大地方便了用户。这种设备管理方法无疑是个重大的突破。131、设备分配在多用户或多进程的环境中,每个用户在完成各自的任务时总是要使用外设,为用户或进程分配设备是设备管理的主要功能之一。设备分配包括:设备分配策略、分配的方式、分配技术和算法。2、设备控制设备控制是设备管理的另一功能,它包括设备驱动和设备中断处理。3、实现其他功能包括对缓冲区的管理功能及实现设备独立性、虚拟设备等。三、设备管理的功能145.2I/O控制方式一、轮询方式二、中断方式三、DMA方式四、通道方式15一、轮询方式在早期的计算机系统中,由于无中断机构,对设备的控制采用程序轮询方式。工作过程(以输入为例)CPU向控制器发出一条I/O指令启动输入设备输入数据,同时把状态寄存器中的忙/闲标志busy置为1;然后不断地循环检测busy。如果busy=1,说明输入设备尚未输入一个字,CPU继续检测;直至busy=0,说明输入设备已将数据送入控制器的数据寄存器中,CPU将数据寄存器数据取出送入内存指定单元中。轮询方式使CPU的绝大部分时间都处于循环测试中,浪费大量CPU时间。16二、中断方式为了提高CPU和设备的利用率,就应使CPU与设备并行工作,采用I/O中断方式。中断方式要求CPU与设备控制器及设备之间有中断请求线,控制器的状态寄存器有相应中断允许位。CPU与设备之间数据传输过程:1)进程发出启动I/O指令,这时CPU会加载控制信息到设备控制器的寄存器,然后,进程继续执行或放弃CPU等待设备操作完成;2)设备控制器检查按照I/O指令的要求,执行相应I/O操作,一旦传输完成,设备控制器通过发出I/O中断信号;3)CPU收到并响应I/O中断后,转向处理该设备的I/O中断处理程序执行;4)中断处理程序执行数据读取操作,将I/O缓冲寄存器的内容写入主存,操作结束后退出中断处理程序,返回中断前的执行状态;5)进程调度程序在适当时刻恢复得到数据的进程执行。17分析在I/O设备输入/输出每个数据过程中,无需CPU干预,可使CPU与I/O设备并行工作,仅当输完一个数据时,才需发费极短时间去做中断处理,因此CPU利用率大大提高。缺点:每台设备每输入输出一个字节的数据都有一次中断。如果设备较多时,中断次数会很多,CPU的利用率也会降低。为减少中断对CPU造成的负担,可采用DMA方式和通道方式。18三、DMA(DirectMemoryAcess)方式DMA方式又称直接存储器访问方式。其基本思想是在外设和主存之间开辟直接的数据交换通路。控制器功能更强,除有中断功能外,还有一个DMA控制机构。在DMA控制器的控制下,设备同主存之间可成批交换数据,不用CPU干预。19数据传送的基本单位是数据块。所传送的数据是从设备送内存,或者相反。仅在传送一个或多个数据块的开始和结束时,才需中断CPU,请求干预,整块数据的传送是在DMA控制器控制下完成的。DMA方式较之中断方式,大大减少了CPU进行中断处理的次数,进一步提高了CPU与I/O设备的并行程度.DMA方式的特点20四、通道方式I/O系统结构在大型计算机系统中较为典型的I/O系统结构是主机、通道、控制器和外部设备。21为使中央处理机从繁忙的I/O处理中摆脱出来,现代大、中型计算机系统中设置了专门的处理I/O操作的处理机,并把这种处理机称为通道。通道在CPU的控制下独立地执行通道程序,对外部设备的I/O操作进行控制,以实现内存与外设之间成批的数据交换。通道=I/O处理机22采用通道后的I/O操作过程:CPU在执行主程序时遇到I/O请求,它启动指定通道上选址的外围设备,一旦启动成功,通道开始控制外围设备进行操作。CPU就可执行其他任务并与通道并行工作,直到I/O操作完成。通道发出操作结束中断时,CPU才停止当前工作,转向处理I/O操作结束事件。23通道的发展新的通道思想综合了许多新的技术在个人计算机中,芯片组中有专门的I/O处理芯片,称为IOP(IOProcessor),发挥通道的作用IBM390中,沿用了输入输出通道概念IBM于1998年推出光纤通道技术(称为FICON),可通过FICON连接多达127个大容量I/O设备。传输速度是333MHz/s,未来将达到1GHz/s。光纤通道技术具有数据传输速率高、传输距离远,可简化大型存储系统设计的优点在大容量高速存储,如大型数据库、多媒体、数字影像等应用领域,有广泛前景245.3缓冲技术缓冲技术的目的是为了提高中央处理机与外设的并行程度。计算机系统中的各种设备(包括中央处理机)的运行速度差异甚大,CPU的运行速度是以微秒甚至以纳秒计,而设备的运行速度则是以毫秒甚至以秒计;(速度的差异)另一方面系统的负荷也不均匀,有时处理机进行大量的计算工作,没有I/O操作,有时又会进行大量的I/O操作,这两个极端都会造成系统中的一些设备过于繁忙,一部分设备过于空闲,严重地影响CPU与外设的并行工作。25为此人们提出用缓冲技术来匹配CPU与设备的速度的差异和负荷的不均匀,从而提高处理机与外设的并行程度。凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。26缓冲技术可以用硬件缓冲器来实现,在设备控制器中有硬件缓冲器,通常容量较小,一般为1个字节。软件缓冲技术是应用广泛的一种缓冲技术,它由缓冲区和对缓冲区的管理两部分组成。27常用的缓冲技术1、单缓冲2、双缓冲3、环形缓冲4、缓冲池281、单缓冲最简单的一种缓冲形式。当进程发出一I/O请求时,OS为之分配一缓冲区。对于输入:设备先将数据送入缓冲区,OS再将数据传给进程。对于输出:进程先将数据传入缓冲区,OS再将数据送出到设备。用户进程工作区缓冲区I/O设备输入传送292、双缓冲技术为了加快输入输出速度,引入双缓冲技术。原理:设置两个缓冲区buf1和buf2。读入数据时,首先输入设备向buf1填入数据,然后进程从buf1提取数据,在进程从buf1提取数据的同时,输入设备向buf2中填数据。当buf1取空时,进程又从buf2中提取数据,与此同时输入设备向buf1填数。如此交替使用两个缓冲区,使CPU和设备的并行操作的程度进一步提高。用户进程工作区buf1I/O设备buf2303、环形缓冲技术当生产和消费数据的速度基本匹配时,双缓冲能获得较好效果。但若两者速度相差甚远时,效果不太理想。但随着缓冲区的数量增加,使情况有所改善。因此引入环形缓冲技术。环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来。这样若干个缓冲区就形成了一个环,故称环形缓冲区。系统可循环使用这些缓冲区。环形缓冲区用于输入(输出)时,还要有两个指针IN和OUT。31324、缓冲池环形缓冲区一般用于特定的进程,属于专用缓冲区,当系统较大时,将会有许多这样的环形缓冲区,这不仅要消耗大量的内存空间,利用率也不高。为了提高缓冲区的利用率,目前广泛流行公用缓冲池,池中的缓冲区可供多个进程共享。缓冲池由内存中一组大小相等的缓冲区组成,池中各缓冲区的大小与用于I/O的设备的基本信息单位相似,缓冲池属于系统资源,由系统进行管理。缓冲池中各缓冲区可用于输出信息,也可用于输入信息,并可根据需要组成各种缓冲区队列。例如,UNIX系统中,在块设备管理中设置了一个15个缓冲区组成的缓冲池。335.4I/O软件I/O软件组织成四个层次I/O中断处理程序设备驱动程序独立于设备的I/O软件用户层I/O软件34一、I/O中断处理程序唤醒被阻塞的驱动(程序)进程保护被中断进程的CPU环境转入相应的设备处理程序中断处理恢复被中断进程的现场35二、设备驱动程序设备驱动程序包括与设备相关的代码,其工作是:把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等。设备驱动程序从与设备无关的软件中接收抽象的I/O请求。一条典型的请求是读第n块。如果请求到来时驱动程序空闲,则立即执行。如果它正在处理另一条请求,它将该请求挂在等待队列中。36设备驱动程序主要功能
本文标题:孙钟秀操作系统第五章设备管理
链接地址:https://www.777doc.com/doc-3442829 .html