您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 《操作系统原理及应用(Linux)》-第6章 设备管理
第6章设备管理学习目标I/O设备是计算机系统的一个重要组成部分。随着计算机技术的发展以及计算机应用的推广,I/O设备日趋多样化、复杂化和智能化。由于I/O设备种类种类繁多,它们的特性和操作方式差别很大,这使得设备管理成为操作系统中最繁杂且与硬件关系最密切的部分。通过本章学习,读者应该掌握以下内容:数据传输方式中断技术缓冲技术设备分配技术设备独立性设备驱动第六章设备管理1教学内容6.1I/O系统组成6.2数据传输控制方式6.3中断技术6.4缓冲技术6.5设备分配6.6SPOOLING系统6.7I/O控制过程6.8磁盘I/O6.9LINUX系统的设备管理本章小结6.1I/O系统组成I/O系统是计算机系统中完成数据输入、输出的子系统。它包括输入/输出设备、相应于各设备的设备控制器,在大、中型计算机中,还配置了I/O通道。第六章设备管理36.1.1I/O设备从不同的角度,可以对设备进行不同的分类。1.按使用特性分类(1)存储设备(2)输入/输出设备2.按传输速率分类(1)低速设备(2)中速设备(3)高速设备3.按信息传输单位分类(1)块设备(2)字符设备4.按资源分配方式分类(1)独占设备(2)共享设备(3)虚拟设备第六章设备管理46.1.2设备控制器设备控制器是CPU和I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作,并向CPU发送中断信号。1.设备控制器的功能(1)接收并识别来自CPU的命令(2)数据传输(3)记录设备的状态(4)识别设备地址和寄存器地址(5)差错控制第六章设备管理52.设备控制器的组成第六章设备管理6寄存器数据寄存器CPU与控制器接口数据线地址线控制线I/O逻辑控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制控制器与设备接口…控制/状态寄存器6.1.3I/O通道I/O通道是一种专门负责I/O操作的小型处理机,它接受CPU的命令,独立地管理I/O操作过程,实现内存和设备之间的成批数据传输。通道相当于一个协处理器,类似于以前的微机中配置的数学协处理器。通道有自己的一套简单的指令系统,可以构成通道程序,通过独立执行通道程序来完成CPU交付的I/O操作。第六章设备管理76.2数据传输控制方式6.2.1程序直接控制方式由程序直接控制内存与I/O设备之间的数据传输,又称为“忙等”方式或循环测试方式。详细而言,即当要在内存和I/O设备之间进行信息传输时,由CPU向相应的设备控制器发出命令,由设备控制器控制I/O设备进行实际操作。在I/O设备工作时,CPU执行一段循环测试程序,不断测试I/O设备的完成状况——“忙等”,以决定是否继续传输下一个数据。若设备未完成此次数据传输,则继续测试,若设备完成了此次数据传输,则进行下一次数据传输或继续执行程序。第六章设备管理86.2.2中断控制方式当要在主机和I/O设备之间进行信息传输时,由CPU向相应的设备控制器发出命令,由设备控制器控制I/O设备进行实际操作,每次的数据传输单位是设备控制器的数据缓冲寄存器的容量。在I/O设备工作时,相应进程放弃处理机,处于等待状态,由操作系统调度其它就绪进程占用CPU。I/O操作完成时,由设备控制器向CPU发出中断信号,通知CPU本次I/O操作完成,然后由CPU执行一个中断处理程序,对此情况做出相应反应。中断处理过程一般是这样的:首先保护现场;然后将等待I/O操作完成的进程唤醒,使其进入就绪状态;然后转进程调度。第六章设备管理96.2.3DMA方式引入原因:减少中断次数,提高CPU利用率。减少中断次数,有两种方法:(1)增大数据缓冲寄存器的容量。(2)另外配置一个数据传输控制器件,进行成批数据传输。DMA方式的数据传输单位是数据块,仅在数据块传输结束时才向CPU发出中断信号,从而减少了中断次数。第六章设备管理106.2.4通道控制方式为了提高计算机系统的运行效率,就要使CPU摆脱繁忙的I/O事务,而配置专门处理I/O事务的机构——通道。通道是一个专门进行I/O操作的处理机,它接受主机的命令,独立地执行通道程序,对外部设备的I/O操作进行控制,在内存和外设之间直接进行数据传送。当主机交付的I/O任务完成后,通道向中央处理机发出中断信号,请求CPU处理。第六章设备管理116.3中断技术6.3.1中断的概念所谓中断,是指处理机在执行进程的过程中,由于某些事件的出现,中止当前进程的运行,转而去处理出现的事件,待处理完毕后返回原来被中断处继续执行或调度其他进程执行。第六章设备管理126.3.2中断源引起中断的事件称为中断源。计算机中的中断源种类有很多,大致可分为:1.强迫性中断源(1)硬件故障如电源故障、主存储器故障,等等。(2)程序性错误由执行机器指令引起的错误,如除数为零、操作数溢出、非法指令、目态下使用特权指令、地址越界等等。(3)外部事件时钟中断、重启动中断等。(4)I/O中断事件外设完成I/O操作或I/O操作出错,如打印完成、打印缺纸等。2.自愿性中断源指进程执行访管指令请求OS服务,如请求分配外设、请求I/O等。由访管指令引起的中断称为访管中断。第六章设备管理136.3.3中断响应中断源向CPU发出请求中断处理信号称为中断请求。当中央处理机发现有中断请求信号时,中止当前程序的执行,并自动进入相应的中断处理程序的过程称为中断响应。中断响应由硬件中断机构完成。第六章设备管理14中断响应的过程:(1)保护被中断进程的现场。为了在以后能从断点处继续执行被中断的进程,系统必须保存当前程序状态字PSW和程序计数器PC的值。(2)分析中断原因,转入相应的中断处理子程序。只要将中断处理程序的入口地址送入程序计数器,将程序状态字送入程序状态字寄存器,便转入了中断处理程序。第六章设备管理156.4缓冲技术6.4.1缓冲的引入引入缓冲技术的原因:(1)减少读块设备的次数(2)减少对CPU的中断次数,放宽对中断响应时间的限制。(3)用于无法直接通信的设备间的中转站(4)解决程序所请求的逻辑记录大小和设备的物理记录大小不匹配的问题。(5)加快进程(作业)的推进速度在需要采取缓冲技术的场合,可以采用以下几种不同的缓冲技术:单缓冲、双缓冲、循环缓冲、缓冲池。第六章设备管理166.4.2单缓冲在单缓冲方式中,当用户进程发出I/O请求时,操作系统便在内存中为其分配一个缓冲区。其数据输入的过程是这样的:当一个用户进程要求输入数据时,操作系统控制输入设备将数据送往缓冲区存放,再送往用户进程的数据存储区。第六章设备管理176.4.3双缓冲为输入或输出操作设置两个缓冲区buffer1和buffer2。当进程要求输入数据时,首先输入设备将数据送往缓冲区buffer1,然后进程从buffer1中取出数据进行处理;在进程从buffer1中取数据的同时,输入设备可向缓冲区buffer2中送入数据。当buffer1中的数据取完时,进程又可不需等待地从buffer2中提取数据,同时输入设备又可将数据送往buffer1。如此交替使用buffer1和buffer2两个缓冲区。当进程进行输出时的操作与输入类似。第六章设备管理186.4.4循环缓冲循环缓冲技术是在内存中分配大小相等的存储区作为缓冲区,并将这些缓冲区连接起来,每个缓冲区中有一个指向下一个缓冲区的指针,最后一个缓冲区的指针指向第一个缓冲区第六章设备管理196.4.5缓冲池上述缓冲机制是针对某特定的I/O进程和计算进程,是专用缓冲结构,而不是针对整个系统的公用缓冲结构。当系统较大时,会有很多这样的缓冲结构,这不仅要消耗大量的内存空间,而且其利用率不高。为了提高缓冲区的利用率,目前普遍采用公用缓冲池结构,在缓冲池中设置了可供多个并发进程共享的缓冲区。第六章设备管理206.5设备分配6.5.1与设备分配相关的因素1.I/O设备的固有属性独占设备:这类设备被分配给一个进程后,就被该进程独占使用,其他任何进程不能使用,直到该进程使用完毕(不再使用)主动释放为止。共享设备:是指可以由多个进程交替使用的设备。如磁盘机。第六章设备管理212.I/O设备的分配算法(1)先来先服务算法在先来先服务算法中,对同一设备,按并发进程中I/O请求发出的时间先后,将I/O请求块排队。当设备可用(可以分配)时,则将设备分配给队首元素对应的进程,即最先对此设备提出I/O请求的进程。(2)优先级算法按一定原则设置进程的优先级,按进程的优先级由高到低的顺序对各并发进程对同一设备的I/O请求块排队。当设备可用(可以分配)时,则将设备分配给队首元素对应的进程——在对同一设备提出I/O请求的并发进程中优先级最高的进程。第六章设备管理223.设备分配的安全性对独占设备的静态分配不会引起死锁。在对共享设备进行动态分配时,从系统安全性角度看,有两种分配方式。(1)安全分配方式(2)不安全分配方式第六章设备管理234.设备无关性设备无关性是指,当在应用程序中使用某类设备时,不直接指定具体使用哪个设备,而只指定使用哪类设备,由操作系统来为进程分配具体的一个该类设备。6.5.2虚拟设备技术用一共享设备——高速存储设备(如高速磁盘机)上的存储区域模拟独占设备。虚拟设备技术的关键是预输入、缓输出。预输入:在作业执行前,操作系统先将作业信息从独占设备预先输入到高速外存中。此后,作业执行中不再占有独占输入设备,使用数据时不必再从独占设备输入,而是从高速外存中读取。缓输出:在作业执行过程中,当要进行输出操作时,不必直接启动独占设备输出数据,而可以先将作业输出数据写入高速外存中,在作业执行完毕后,再由操作系统来组织信息输出。第六章设备管理246.6SPOOLING系统6.6.1什么是SPOOLING系统SPOOLING(SimultaneausPeripheralOperatingOnLine)的含义是外围设备同时联机操作,又称为假脱机操作。它不需要额外配置卫星机,而是将输入输出设备同时连接在主机上。它是对脱机输入输出的模拟。用一道输入程序模拟脱机输入时的卫星机,通过通道把低速I/O设备上的数据传送到高速磁盘上;用另一道程序模拟脱机输出时的卫星机,通过通道把数据从磁盘传送到低速的输出设备上。第六章设备管理256.6.2SPOOLING系统的组成第六章设备管理26输出设备输入设备输入缓冲区输出缓冲区内存磁盘输入井输出井图6-8SPOOLING系统输入进程输出进程6.7I/O控制过程当用户进程通过系统调用提出I/O请求时,从系统响应此请求开始,至系统完成用户要求的I/O操作,并唤醒相应的等待I/O完成的进程为止,这整个过程称为I/O控制过程。I/O控制过程包括以下步骤:(1)响应I/O请求,为在具体物理设备上进行I/O操作做准备。包括将逻辑设备名转换为物理设备名(设备分配)、I/O请求的合法性等。(2)设备驱动,控制设备完成I/O操作,对每类设备分别设置不同的设备驱动程序。(3)中断处理,I/O操作完成之后,设备控制器向CPU发送中断信号,CPU响应后转向相应的中断处理程序进行善后处理。第六章设备管理276.8磁盘I/O6.8.1磁盘存储格式磁盘可包含一个或多个圆形盘片,每片有两面。每面首先划分为若干半径不同的同心磁道,然后将每个磁道等分为若干扇区。各磁道虽然周长不同,但存储容量相同,各扇区的存储容量也相同,一般每个扇区的容量为512字节,内层磁道的存储密度比外层磁道高。磁盘存储空间分配以整数N个扇区为单位,称为簇,在不同的操作系统中,N可有不同的取值。这样一个文件在磁盘上占有整数个簇,一个簇只能分配给一个文件使用。磁盘I/O以扇区为单位,一次传送一个扇区。第六章设备管理286.8.2磁盘I/O性能一般以磁盘存取速度来衡量磁盘I/O性能。对磁盘的存取操作包括三个步骤:首先磁头径向运动到指定磁道,然后旋转盘片,将指定要访问的扇区旋转到磁头下,使磁头处于扇区开始位置,然后开始读或写数据。因此磁盘访问时间可以分为以下三部分。(1)寻道时间Ts这是把磁头移到指定磁道上用的时间。(2)旋转延迟Tr这是指定扇区旋转到磁头下经历的时间。第六章设备管理29(3)传输时间Tt这
本文标题:《操作系统原理及应用(Linux)》-第6章 设备管理
链接地址:https://www.777doc.com/doc-1308316 .html