[精选]《操作系统原理及应用(Linux)》-第6章 设备管理.pptx
《[精选]《操作系统原理及应用(Linux)》-第6章 设备管理.pptx》由会员分享,可在线阅读,更多相关《[精选]《操作系统原理及应用(Linux)》-第6章 设备管理.pptx(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第6 章 设备管理学习目标 I/O设备是计算机系统的一个重要组成局部。随着计算机技术的开展以及计算机应用的推广,I/O设备日趋多样化、复杂化和智能化。由于I/O设备种类种类繁多,它们的特性和操作方式差异很大,这使得设备管理成为操作系统中最繁杂且与硬件关系最密切的局部。通过本章学习,读者应该掌握以下内容:l数据传输方式l中断技术l缓冲技术l设备分配技术l设备独立性l设备驱动第六章 设备管理1教学内容6.1 I/O6.1 I/O系统组成系统组成6.2 6.2 数据传输控制方式数据传输控制方式6.3 6.3 中断技术中断技术6.4 6.4 缓冲技术缓冲技术6.5 6.5 设备分配设备分配6.6 S
2、POOLING6.6 SPOOLING系统系统6.7 I/O6.7 I/O控制过程控制过程6.8 6.8 磁盘磁盘I/OI/O6.9 LINUX6.9 LINUX系统的设备管理系统的设备管理 本章小结本章小结 6.1 I/O 系统组成I/O系统是计算机系统中完成数据输入、输出的子系统。它包括输入/输出设备、相应于各设备的设备控制器,在大、中型计算机中,还配置了I/O通道。第六章 设备管理36.1.1 I/O 设备从不同的角度,可以对设备进行不同的分类。1.按使用特性分类1存储设备2输入/输出设备2.按传输速率分类1低速设备2中速设备3高速设备3.按信息传输单位分类1块设备2字符设备4.按资源分
3、配方式分类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.3 I/O 通道I/O通道是一种专门负责I/O操作的小型处理机,它接受CPU
4、的命令,独立地管理I/O操作过程,实现内存和设备之间的成批数据传输。通道相当于一个协处理器,类似于以前的微机中配置的数学协处理器。通道有自己的一套简单的指令系统,可以构成通道程序,通过独立执行通道程序来完成CPU交付的I/O操作。第六章 设备管理76.2 数据传输控制方式6.2.1 程序直接控制方式 由程序直接控制内存与I/O设备之间的数据传输,又称为“忙等方式或循环测试方式。详细而言,即当要在内存和I/O设备之间进行信息传输时,由CPU向相应的设备控制器发出命令,由设备控制器控制I/O设备进行实际操作。在I/O设备工作时,CPU执行一段循环测试程序,不断测试I/O设备的完成状况“忙等,以决定
5、是否继续传输下一个数据。假设设备未完成此次数据传输,则继续测试,假设设备完成了此次数据传输,则进行下一次数据传输或继续执行程序。第六章 设备管理86.2.2 中断控制方式 当要在主机和I/O设备之间进行信息传输时,由CPU向相应的设备控制器发出命令,由设备控制器控制I/O设备进行实际操作,每次的数据传输单位是设备控制器的数据缓冲存放器的容量。在I/O设备工作时,相应进程放弃处理机,处于等待状态,由操作系统调度其它就绪进程占用CPU。I/O操作完成时,由设备控制器向CPU发出中断信号,通知CPU本次I/O操作完成,然后由CPU 执行一个中断处理程序,对此情况做出相应反响。中断处理过程一般是这样的
6、:首先保护现场;然后将等待I/O操作完成的进程唤醒,使其进入就绪状态;然后转进程调度。第六章 设备管理96.2.3 DMA 方式 引入原因:减少中断次数,提高CPU利用率。减少中断次数,有两种方法:1增大数据缓冲存放器的容量。2另外配置一个数据传输控制器件,进行成批数据传输。DMA方式的数据传输单位是数据块,仅在数据块传输结束时才向CPU发出中断信号,从而减少了中断次数。第六章 设备管理106.2.4 通道控制方式 为了提高计算机系统的运行效率,就要使CPU摆脱繁忙的I/O事务,而配置专门处理I/O事务的机构通道。通道是一个专门进行I/O操作的处理机,它接受主机的命令,独立地执行通道程序,对外
7、部设备的I/O操作进行控制,在内存和外设之间直接进行数据传送。当主机交付的I/O任务完成后,通道向中央处理机发出中断信号,请求CPU处理。第六章 设备管理116.3 中断技术6.3.1 中断的概念 所谓中断,是指处理机在执行进程的过程中,由于某些事件的出现,中止当前进程的运行,转而去处理出现的事件,待处理完毕后返回原来被中断处继续执行或调度其他进程执行。第六章 设备管理126.3.2 中断源 引起中断的事件称为中断源。计算机中的中断源种类有很多,大致可分为:1.强迫性中断源 1硬件故障 如电源故障、主存储器故障,等等。2程序性错误 由执行机器指令引起的错误,如除数为零、操作数溢出、非法指令、目
8、态下使用特权指令、地址越界等等。3外部事件 时钟中断、重启动中断等。4I/O中断事件 外设完成I/O操作或I/O操作出错,如打印完成、打印缺纸等。2.自愿性中断源 指进程执行访管指令请求OS效劳,如请求分配外设、请求I/O等。由访管指令引起的中断称为访管中断。第六章 设备管理136.3.3 中断响应 中断源向CPU发出请求中断处理信号称为中断请求。当中央处理机发现有中断请求信号时,中止当前程序的执行,并自动进入相应的中断处理程序的过程称为中断响应。中断响应由硬件中断机构完成。第六章 设备管理14 中断响应的过程:1保护被中断进程的现场。为了在以后能从断点处继续执行被中断的进程,系统必须保存当前
9、程序状态字PSW和程序计数器PC的值。2分析中断原因,转入相应的中断处理子程序。只要将中断处理程序的入口地址送入程序计数器,将程序状态字送入程序状态字存放器,便转入了中断处理程序。第六章 设备管理156.4 缓冲技术6.4.1 缓冲的引入 引入缓冲技术的原因:1减少读块设备的次数 2减少对CPU的中断次数,放宽对中断响应时间的限制。3用于无法直接通信的设备间的中转站 4解决程序所请求的逻辑记录大小和设备的物理记录大小不匹配的问题。5加快进程作业的推进速度 在需要采取缓冲技术的场合,可以采用以下几种不同的缓冲技术:单缓冲、双缓冲、循环缓冲、缓冲池。第六章 设备管理166.4.2 单缓冲在单缓冲方
10、式中,当用户进程发出I/O请求时,操作系统便在内存中为其分配一个缓冲区。其数据输入的过程是这样的:当一个用户进程要求输入数据时,操作系统控制输入设备将数据送往缓冲区存放,再送往用户进程的数据存储区。第六章 设备管理176.4.3 双缓冲为输入或输出操作设置两个缓冲区buffer1和buffer2。当进程要求输入数据时,首先输入设备将数据送往缓冲区buffer1,然后进程从buffer1中取出数据进行处理;在进程从buffer1中取数据的同时,输入设备可向缓冲区buffer2中送入数据。当buffer1中的数据取完时,进程又可不需等待地从buffer2中提取数据,同时输入设备又可将数据送往buf
11、fer1。如此交替使用buffer1和buffer2两个缓冲区。当进程进行输出时的操作与输入类似。第六章 设备管理186.4.4 循环缓冲循环缓冲技术是在内存中分配大小相等的存储区作为缓冲区,并将这些缓冲区连接起来,每个缓冲区中有一个指向下一个缓冲区的指针,最后一个缓冲区的指针指向第一个缓冲区第六章 设备管理196.4.5 缓冲池上述缓冲机制是针对某特定的I/O进程和计算进程,是专用缓冲结构,而不是针对整个系统的公用缓冲结构。当系统较大时,会有很多这样的缓冲结构,这不仅要消耗大量的内存空间,而且其利用率不高。为了提高缓冲区的利用率,目前普遍采用公用缓冲池结构,在缓冲池中设置了可供多个并发进程共
12、享的缓冲区。第六章 设备管理206.5 设备分配6.5.1 与设备分配相关的因素1.I/O设备的固有属性 独占设备:这类设备被分配给一个进程后,就被该进程独占使用,其他任何进程不能使用,直到该进程使用完毕不再使用主动释放为止。共享设备:是指可以由多个进程交替使用的设备。如磁盘机。第六章 设备管理212.I/O设备的分配算法1先来先效劳算法 在先来先效劳算法中,对同一设备,按并发进程中I/O请求发出的时间先后,将I/O请求块排队。当设备可用可以分配时,则将设备分配给队首元素对应的进程,即最先对此设备提出I/O请求的进程。2优先级算法 按一定原则设置进程的优先级,按进程的优先级由高到低的顺序对各并
13、发进程对同一设备的I/O请求块排队。当设备可用可以分配时,则将设备分配给队首元素对应的进程在对同一设备提出I/O请求的并发进程中优先级最高的进程。第六章 设备管理223.设备分配的平安性对独占设备的静态分配不会引起死锁。在对共享设备进行动态分配时,从系统平安性角度看,有两种分配方式。1平安分配方式2不平安分配方式第六章 设备管理234.设备无关性设备无关性是指,当在应用程序中使用某类设备时,不直接指定具体使用哪个设备,而只指定使用哪类设备,由操作系统来为进程分配具体的一个该类设备。6.5.2 虚拟设备技术用一共享设备高速存储设备如高速磁盘机上的存储区域模拟独占设备。虚拟设备技术的关键是预输入、
14、缓输出。预输入:在作业执行前,操作系统先将作业信息从独占设备预先输入到高速外存中。此后,作业执行中不再占有独占输入设备,使用数据时不必再从独占设备输入,而是从高速外存中读取。缓输出:在作业执行过程中,当要进行输出操作时,不必直接启动独占设备输出数据,而可以先将作业输出数据写入高速外存中,在作业执行完毕后,再由操作系统来组织信息输出。第六章 设备管理246.6 SPOOLING 系统6.6.1 什么是SPOOLING 系统 SPOOLINGSimultaneaus Peripheral Operating On Line的含义是外围设备同时联机操作,又称为假脱机操作。它不需要额外配置卫星机,而是
15、将输入输出设备同时连接在主机上。它是对脱机输入输出的模拟。用一道输入程序模拟脱机输入时的卫星机,通过通道把低速设备上的数据传送到高速磁盘上;用另一道程序模拟脱机输出时的卫星机,通过通道把数据从磁盘传送到低速的输出设备上。第六章 设备管理256.6.2 SPOOLING 系统的组成第六章 设备管理26输出设备输入设备输入缓冲区输出缓冲区内 存 磁 盘输入井输出井图6-8 SPOOLING系统输入进程输出进程6.7 I/O 控制过程当用户进程通过系统调用提出I/O请求时,从系统响应此请求开始,至系统完成用户要求的I/O操作,并唤醒相应的等待I/O完成的进程为止,这整个过程称为I/O控制过程。I/O
16、控制过程包括以下步骤:1响应I/O请求,为在具体物理设备上进行I/O操作做准备。包括将逻辑设备名转换为物理设备名设备分配、I/O请求的合法性等。2设备驱动,控制设备完成I/O操作,对每类设备分别设置不同的设备驱动程序。3中断处理,I/O操作完成之后,设备控制器向CPU发送中断信号,CPU响应后转向相应的中断处理程序进行善后处理。第六章 设备管理276.8 磁盘I/O6.8.1 磁盘存储格式 磁盘可包含一个或多个圆形盘片,每片有两面。每面首先划分为假设干半径不同的同心磁道,然后将每个磁道等分为假设干扇区。各磁道虽然周长不同,但存储容量相同,各扇区的存储容量也相同,一般每个扇区的容量为512字节,
17、内层磁道的存储密度比外层磁道高。磁盘存储空间分配以整数N个扇区为单位,称为簇,在不同的操作系统中,N可有不同的取值。这样一个文件在磁盘上占有整数个簇,一个簇只能分配给一个文件使用。磁盘I/O以扇区为单位,一次传送一个扇区。第六章 设备管理286.8.2 磁盘I/O 性能一般以磁盘存取速度来衡量磁盘I/O性能。对磁盘的存取操作包括三个步骤:首先磁头径向运动到指定磁道,然后旋转盘片,将指定要访问的扇区旋转到磁头下,使磁头处于扇区开始位置,然后开始读或写数据。因此磁盘访问时间可以分为以下三局部。1寻道时间Ts这是把磁头移到指定磁道上用的时间。2旋转延迟Tr这是指定扇区旋转到磁头下经历的时间。第六章
18、设备管理293传输时间Tt 这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。由读写的字节数和磁盘旋转速度决定。其中,b为一次读写的字节数,r为磁盘每秒的转数,N为每条磁道的字节数对磁盘的访问时间为三局部时间之和:T=Ts+Tr+Tt。在这三个时间中,寻道时间和旋转延迟与读写的字节数无关,寻道时间所占比例最大。第六章 设备管理306.8.3 磁盘调度1.先来先效劳算法 这种调度算法按进程请求访问磁盘的时间先后次序进行调度。此算法的优点是实现简单,且公平,每个进程的磁盘I/O请求都能依次得到处理,不会出现某一进程的请求长时间得不到满足的情况。缺点是未对寻道进行优化,平均寻道时间较长。第六章 设
19、备管理312.最短寻道时间优先算法 该算法选择这样的磁盘I/O请求,其要访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。此算法只从当前角度考虑,没有考虑全局,外表看来平均寻道时间应该最短,但是不一定。第六章 设备管理323.扫描算法扫描算法不仅考虑到要访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向。例如,当磁头正在从里向外移动时,扫描算法选择的下一个访问对象,是在当前磁头所在磁道之外的距离当前磁道最近的磁道。这样从里向外地访问,直至再无更外的磁道需要访问时,磁头才返回从外向里移动,同样每次也是选择当前磁道之内的距离最近的磁道,到头后再返回,从里向外移动访问。由于
20、此算法中磁头移动的规律很象电梯的运行,因此又称为电梯调度算法。第六章 设备管理334.循环扫描算法规定磁头单向移动。例如,只从里向外移动,当磁头移到最外的磁道并访问后,磁头立即返回到最里的要访问的磁道,再从里向外移动。第六章 设备管理346.8.4 磁盘高速缓存当进程从磁盘读取数据时,为了提高读盘速度,可以采用缓冲技术。即在内存中开辟一个缓冲区用于接收从磁盘读取的数据,这个缓冲区称为磁盘高速缓存,缓冲区的大小与磁盘块相匹配。其工作原理类似于内存和CPU之间的高速缓存。当有一进程请求访问某盘块中的数据时,先去查看磁盘高速缓存,看其中是否有进程所需访问的盘块数据的拷贝。假设有,则直接从磁盘高速缓存
21、中提取数据,而不必访问磁盘;假设没有,则先将所需盘块读到磁盘高速缓存,然后从中提取数据送往请求进程的数据存储区。第六章 设备管理356.9 LINUX 系统的设备管理6.9.1 LINUX 系统设备管理的特点 LINUX系统把设备分为两类:1块设备。用于存储信息,它对信息的存取是以信息块为单位的,如通常使用的磁盘、磁带等。2字符设备。通常用于输入输出,作为人和计算机之间的接口,它对信息的俄存取是以字符为单位进行的,如键盘、鼠标、显示器、打印机等。LINUX系统把I/O设备看作文件,称为特别文件。第六章 设备管理366.9.2 LINUX 设备驱动程序的接口1.文件系统与设备驱动程序的接口第六章
22、 设备管理37对字符设备特殊文件的系统调用 open close read write 文 件 系 统 open close read write对块设备文件的系统调用对普通文件的系统调用 字符设备开关表 块设备开关表 open close read write 字符设备驱动程序 设备中断处理程序 open close strategy 块设备驱动程序设备中断处理程序块设备字符设备 中断向量表高速缓冲模块设备驱动设备中断设备中断设备驱动图6-9 文件系统与设备驱动程序的接口2.设备开关表 LINUX系统把块设备和字符设备又分别细分为假设干类。如:块设备可分为硬盘、软盘、磁带、光盘等类,字符设备
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 操作系统原理及应用Linux 精选操作系统原理及应用Linux-第6章 设备管理 操作系统 原理 应用 Linux
限制150内