[精选]操作系统课件_设备管理.pptx
《[精选]操作系统课件_设备管理.pptx》由会员分享,可在线阅读,更多相关《[精选]操作系统课件_设备管理.pptx(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、*1第四章第四章 设备设备 在计算机系统中,除了需要有处理机和存储器外,还需要有用于实现信息输入、输出和存储的设备。设备管理程序便是用于对这类设备进行控制和管理的一组程序。4.1 设备管理基本知识4.2 设备分配4.3 设备驱动4.4 磁盘设备4.5 Linux设备管理4.6 Linux设备驱动开发*24.1 设备设备管理基本知识管理基本知识 计算机系统是一个复杂的系统,常见的设备有显示器、键盘、鼠标、外存等大、中型机上还有通道等*31 设备管理的对象-I/O系统主机I/O系统:通常为主机所配置的I/O设备较多,所以增加一级I/O通道,用以代替CPU与各设备控制器进行通信,实现对它们的控制。微
2、型机I/O系统:多采用总线I/O系统结构*4Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,成为设备文件。应用程序可以翻开、关闭、读写这些设备文件,对设备的操作就像操作普通的数据文件一样。I/O系统包括:常用的输入/输出设备包括外存设备控制器通道*5I/O系统的管理对象之 设备与设备控制器I/O设备通常由物理设备和电子部件两局部组成。物理设备:以某种物理方式机械、电磁、光电、压电等运作,实际执行数据I/O操作的物理装置。电子部件:以数字方式操作的硬件,用于与计算机接口,控制物理设备的I/O操作。*6NOTE!一个物理设备是无法直接与CPU相连接的控制方式
3、不同:CPU产生的是数字化命令,而设备需要某种物理信号来控制。传输方式不同:CPU以字节为单位传输数据,而设备可能是以位为单位传输的。速度不匹配:时序不一致:设备有自己的定时控制电路,与CPU时钟不一致。信息形式不同:CPU表达信息的形式是数字的,设备则可能是模拟的。*7Conclusion!CPU与设备的连接必须解决译码解码、数据装配、速度匹配、时序同步以及信息格式转换等诸多问题。这需要借助一个介于CPU与物理设备之间的硬件接口I/O接口来实现,这就是I/O设备的电子部件要完成的功能。*8在许多情况下,I/O设备的电子部件与物理设备是别离的。电子部件称为设备控制器,物理设备就简称为设备。例如
4、:显卡是显示控制器,显示器是由显卡控制的设备;声卡是音频控制器,音箱或耳机是音频设备。设备控制器组成:I/O端口:由一组存放器组成,是设备与CPU的接口缓冲区:在块设备以及数据流量大的设备音频、视频等设备的控制器中设备控制逻辑:翻译作用中断与DMA控制控制器与设备之间的接口*9 出于通用性设计的考虑,系统遵照统一的标准设计了一些标准接口来实现某些设备和系统的连接。分为两类:通用接口,如串口、并口、USB接口等;连接某类设备而设置的专用接口,如IDE和SCSI接口都是块存储设备的专用接口。Then another concept 接口*10 通过I/O标准接口连接设备的方式可以看做是将设备控制器
5、的功能分散实现了:标准接口实现与CPU直接连接局部的功能,包括I/O端口、缓冲区、中断及DMA控制等。而与设备直接相关的控制逻辑则由设备自行实现即集成在设备上。打印系统:打印机设备+通用并行接口主板上+具体的打印控制在打印机中;磁盘系统:硬盘连接在IDE接口上,设备通过该接口与CPU通信,与磁盘直接相关的控制局部则与物理的磁盘驱动器集合在一起。*11I/O系统的管理对象之 I/O通道尽管在CPU与设备之间增加了设备控制器,实现了数据的传送由设备控制器完成,已大大减少了CPU对I/O的干预,实现CPU与I/O的并行,但CPU仍要对I/O操作的组织、管理及结束后的处理工作,所以为了让CPU有更多的
6、时间用于数据处理,而引入了通道技术。def:一种特殊的处理机,具有执行I/O指令的能力,并通过通道程序来控制I/O操作通道控制器Channel Processor有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制,如网卡上信道访问控制。通道程序通常由操作系统所构造,放在内存里。*12通道的特殊性:通道所执行的指令简单主要只限于I/O操作指令;通道没有自己的内存,其通道程序是放在主存中的。分为:字节多路通道、数据多路通道和数据选择通道。选择通道selector channel:可以连接多个外设,而一次只能访问其中一个外设。多路通道multiplexor cha
7、nnel:可以并发访问多个外设。分为字节多路byte和数据多路block通道。*13NOTE!通道的瓶颈问题由于通道价格昂贵,致使机器中所设置的通道数量势必较少,这往往使它成为I/O的瓶颈,进而造成整个系统吞吐量的下降。如图,为了启动磁盘4,必须用到通道1和控制器2;但假设这两者已被其它设备占用;必然无法启动磁盘4。解决瓶颈问题的最有效方法,便是增加设备到主机间的通路,而不增加通道。*14缓冲管理设备分配设备驱动:实现CPU与设备控制器间的通信虚拟设备:通过虚拟技术,将一台物理设备映射为多个逻辑设备设备独立性:设备无关性,应用程序独立于具体使用的物理设备 2 设备管理的任务设备管理的任务*15
8、3 中断技术中断技术 在计算机运行期间,当系统内部或外部发生了某个异步事件需要CPU处理时,CPU将暂时中止当前正在执行的程序,而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处,继续执行或者调度新的进程执行,这个过程就称为“中断interrupt。异步事件是指与系统运行没有时序关系的、不可预期的事件,如用户按下键盘按键、磁盘传输数据完成、系统硬件出现故障等都是异步产生的事件。中断技术最早应用在I/O传输过程中,它使外部设备和CPU的并行工作成为可能。而后中断技术扩大到设备之外的其他事件。现在,但凡需要CPU干预或处理的异步事件都采用中断的手段进行处理。*16n中断源与中断分类 引起
9、中断发生的事件称为中断源。通常中断源是由硬件产生的信号,目的是通知CPU某个需要处理的事件。如,当敲打键盘时,键盘控制器就会产生一个键盘中断源信号。在计算机系统中有很多种类的中断源。由设备数据传输过程中发生的中断属于I/O中断,是中断源中的一大类。其他中断源有周期性的时钟中断、电源掉电产生的中断等。此外,一些来自CPU内部的事件或程序执行中的异常事件如CPU故障、除数为0、内存溢出、执行了陷入指令等也会被作为中断对待和处理。这类由内部故障或程序故障引起的中断事件称为“异常exception。*17n中断响应 对中断请求的整个处理过程是由硬件和软件相结合的一整套中断机构实施的。中断响应由硬件实施
10、,中断处理主要由软件实施。CPU在收到来自中断控制器的中断信号后,暂停执行当前的进程,转入相应的中断处理程序进行处理,这个反响的过程称为中断响应。通常CPU在执行完一条指令后,会检查有无中断请求。如有,则会立即作出响应。中断处理程序的入口地址都保存在一个中断向量表中。CPU在响应中断时,根据中断源检索中断向量表,得到的中断向量中包含相应中断处理程序的入口地址和程序状态字。将中断向量加载到CPU中,在下一个指令周期CPU就会转去执行相应的中断处理程序了。并不是所有中断请求都会得到及时的响应。在很多情况下,比方系并不是所有中断请求都会得到及时的响应。在很多情况下,比方系统正在执行内核的进程调度或者
11、内存调度操作,为了保证操作的原统正在执行内核的进程调度或者内存调度操作,为了保证操作的原子性,这时不允许子性,这时不允许CPUCPU响应中断。响应中断。*18n中断处理 中断处理主要由软件实施。响应中断后,CPU转去执行相应的中断处理程序。每个中断都对应一个特定的中断处理程序,因而系统中会有许多中断处理程序,如时钟中断处理程序、键盘中断处理程序等。在设备的驱动程序中包含了对该设备所有中断的处理程序。中断处理程序的执行过程大致分为如下几个阶段:保存现场:CPU中的各个存放器、计数器的状态。处理中断:中断的处理方式因中断的不同而异。对于I/O中断来说,通常是从设备控制器读取设备状态,判别此次中断是
12、正常完成中断还是异常结束中断。假设是完成中断,则进行结束处理,需要的话再向控制器发送新的命令,启动下一轮数据传送。恢复现场:中断返回:中断处理程序完成处理后,执行一个特定的中断返回指令根据断点信息恢复原来被中断的程序或唤醒进程或重新进程调度。*19中断技术的引入,使得系统中各I/O设备之间以及I/O设备和CPU之间可以并行工作。但I/O设备与CPU的处理速度存在着巨大的差异,这导致进程在需要传输大量数据时不得不经常等待。因此,I/O设备与CPU的速度不匹配的问题制约了系统性能的进一步提高。解决此问题的有效方法是缓冲buffer技术。n对于I/O操作来说,缓冲的思想就是在高速存储区内存或高速缓存
13、cache内设置缓冲区。n根据缓冲区所在的位置,可以分为硬缓冲和软缓冲两种。硬缓冲就是设备自带的缓冲区,位于设备控制器或设备上,软缓冲是在内存中开辟的缓冲区。4 缓冲技术缓冲技术*20n硬缓冲设备自带的缓冲区,位于设备控制器或设备上。CPU与内存之间设置高速缓存Cache Memory:CPU内部的L1Cache和L1Cache。主存与显示器之间设置显示缓存-显存*21n软缓冲是在内存中设置缓冲区,用于暂存数据供进程快速地获取或输出。进程执行写操作输出数据时,向系统申请一个缓冲区,把数据填到缓冲区,此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上。进程执行读操作输入数据时,向系统申请一
14、个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。*22按组织方式分为:单缓冲最简单。每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区;双缓冲:循环缓冲:缓冲池:以上缓冲区属于专用缓冲区,利用率不高。缓冲池是一组公用缓冲区,由专门的管理程序统一管理,供多个I/O进程共享。进程需要时就申请,使用完毕后再释放。缓冲按使用方式分为专用缓冲为某设备/进程专门设置和公用换冲为所有的设备/进程所共享。*23NOTE!缓冲溢出buffer overflow,smash the stack,memory leak是指当计算机向缓冲区内
15、填充数据位数时超过了缓冲区本身的容量,使得溢出的数据覆盖在合法数据上。第一个缓冲区溢出攻击-Morris蠕虫,发生在1988年,由罗伯特,莫里斯Robert Morris制造,它曾造成全世界6000多台网络效劳器瘫痪。向程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序堆栈,造成程序崩溃或使程序转而执行其它指令,以到达攻击的目的。例如下面程序:void functionchar*str char buffer16;strcpybuffer,str;类似的标准函数有strcat,sprintf,gets,scanf等。*24I/O控制就是控制数据在I/O设备与CPU、内存之间的传输,
16、这是设备管理的一个主要功能。n随着计算机技术的开展,I/O控制方式也在不断地开展。从最早的程序I/O方式,开展到中断驱动方式、DMA控制方式和通道方式,数据传输速率不断提高。n开展宗旨就是尽量减少CPU对I/O控制的干预,把CPU从繁杂的I/O控制事务中解脱出来,提高CPU与外设的并行化程度。5 I/O控制技术控制技术*25I/O控制方式之一 程序I/O方式在设备控制器的状态存放器中,有一个用于表示设备工作状态的“忙/闲busy标志位。进程通过执行I/O测试指令可以检测这个标志位,获得设备的当前工作状态。程序I/O方式就是由执行I/O的程序直接访问这个标志位来控制设备的I/O操作的方式。该方式
17、下进程一直占用着CPU,而CPU所做的大量工作是不断地查询设备的状态,由于外备的速度比CPU要低很多,使CPU的大量时间浪费在轮询polling方式上。*26I/O控制方式之二 中断I/O方式当进程需要数据传输时,CPU为其启动设备进行I/O操作。此后CPU不是被动地测试等待,而是将原进程挂起,继续执行其他进程。设备控制器按照I/O命令的要求控制设备进行数据传输当设备完成I/O操作后,采用中断方式向CPU报告。CPU响应中断后,暂时停止当前进程的执行,转去进行中断处理,然后唤醒等待数据传输的进程,转入就绪状态。中断处理完成后,CPU转到被中断的进程或新调度的进程继续执行。*27比照 中断I/O
18、方式/中断方式例如:设从终端输入一个字符的时间约为100 ms,而将字符送入终端缓冲区的时间小于 0.1 ms。采用程序I/O方式:CPU约有99.9 ms的时间处于忙-等待中。采用中断驱动方式:CPU可利用这99.9 ms的时间去做其它事情,而仅用0.1 ms的时间来处理由控制器发来的中断请求。可见,中断驱动方式可以成百倍地提高CPU的利用率。*28I/O控制方式之三 直接存储器访问方式中断方式需要硬件中断机构用来响应中断和软件一组中断处理程序来处理中断事件的支持。响应中断时的保存和恢复现场以及处理中断时执行的中断处理程序都要消耗CPU的时间。CPU每次处理的数据量少通常不超过几个字节,中断
19、方式只适于数据传输率较低的设备,在进行大量数据交换时,频繁发生的中断会使系统的性能降低。引入直接存储器访问方式DirectMemoryAccess,DMA,适用于大数据量传输。DMA方式中,对数据传送过程进行控制的硬件称为DMA控制器DMAC。*29DMA方式DirectMemoryAccess在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。*30DMA方式工作原理以磁盘读入数据为例。CPU要从磁盘读入数据块时,发送读命令-DMA控制器命令-命令存放器CR;数据读入的内存起始目标地址-地址存放器MAR;数据的字节数-数据计数器DC
20、;数据的磁盘源地址-I/O控制逻辑;启动DMAC进行数据传送,以后,CPU便可去处理其它任务,整个的数据传送便由DMAC进行控制。*31DMA方式一般用在主存与高速外设间的数据传送。应用场合包括磁盘、光盘等外设接口;网络通信接口;动态存储器的刷新;高速数据采集接口。Tips!l翻开硬盘的DMA模式将大幅度的提高硬盘系统的功能,能更快更好的进行视频处理和文件传输。l翻开刻录机的DMA选项,可以保障刻录品质,并降低刻录时的CPU占用率。所以在我们首次连接好DVD刻录机,进入Windows系统后要做的第一件事情就是要确认DVD刻录机的DMA模式已翻开。*32数据传输的基本单位是数据块;仅在传送下一个
21、或多个数据块的开始和结束时,才需干预,整块数据的传送是在DMAC的控制下完成的;主存中要开辟专用缓冲区,及时供给和接收外设的数据;DMA在传送开始前要通过程序进行预处理,结束后通过中断方式进行后处理。中断机制仍被用于设备与CPU间的通信,但仅限于报告数据传送操作的结束及错误发生的情况。FDMA方式特点*33I/O控制方式之四 通道方式对于追求高效的中大型机器多采用具有独立处理器的通道来实现I/O传输控制。n是DMA方式的延伸。n引入:把对一个数据块的读或写为单位的干预,减少为对一组数据块的读或写及有关的控制和管理为单位的干预,可实现CPU、通道和I/O设备三者的并行工作,从而有效的提高了整个系
22、统的资源利用率。n通道channel是一个专门用于控制I/O操作的处理机,它执行通道程序,控制外设与主存之间交换数据。*34n通道的工作过程:CPU生成通道程序由一系列的通道指令所构成,启动通道执行,然后继续执行进程。n通道指令的构成:操作码:规定指令所执行的操作;内存地址:计数:本条指令所要读或写数据的字节数;通道程序结束位P:0/1表示通道程序是否结束。记录结束标志R:R=0表示本通道指令与下一条通道指令所处理的数据同属于一个记录,R=1表示这是处理某记录的最后一条指令。*35NOTE:执行一个通道程序可以完成几批I/O操作!一个由六条通道指令所构成的简单的通道程序。该程序的功能是将内存中
23、不同地址的数据,写成多个记录。其中,前三条指令是分别将813、1034、5830单元中的280个字符写成一个记录;第4条指令是单独写一个具有300个字符的记录;第5、6条指令共写500个字符的记录*36由于设备资源的有限性,系统中的设备不允许用户自行使用,所有的设备都由I/O管理系统进行统一地管理和调度。进程需要进行I/O操作时,必须向系统提出申请,由系统为它分配设备。如果进程得不到所申请的设备资源,它将被放入等待队列中等待,直到所需的设备可用。4.2 设备的分配设备的分配*37系统对外设的使用涉及四张表-DCT,COCT,CHCT,SDT1.设备分配的数据结构设备分配的数据结构 系统为每个设
24、备、控制器和通道都配置了一张对应的控制表,SDT是磁铁范围的数据结构,记录系统中全部设备的情况,每个设备占一个表目。联想记忆:联想记忆:I/OI/O系统管理对象系统管理对象*38根据用户请求的I/O设备的逻辑名,查找逻辑设备和物理设备的映射表;以物理设备为索引,查找SDT,找到该设备所连接的DCT;继续查找与该设备连接的COCT和CHCT,就找到了一条通路Question:用户发出了一个I/O请求例如打印,则前述数据结构四张表的访问次序如何?*39设备属性:设备属性:独占、共享设备。由于独占设备的利用率低,为解决此问题采用虚拟分配,即为进程分配一个虚拟的设备-SPOOLING技术。分配方式:分
25、配方式:静态分配和动态分配。因为设备是资源,要考虑分配时的安全性-防止死锁。静态分配在进程创立时分配,在进程退出时释放不会出现死锁;设备利用率不高;在进程执行过程中根据需要分配,使用结束后释放,有利于提高设备利用率,需要考虑死锁问题,做法每当进程发出I/O请求,即阻塞;分配算法:分配算法:先来先效劳和优先级算法。2.设备分配时应考虑的因素设备分配时应考虑的因素*403.设备虚拟技术设备虚拟技术-SPOOLING系统系统SPOOLing技术的引入是为了将独占设备改造为共享设备。n独占设备在一个期间内只能被一个进程使用,由于设备的速度很慢,造成其他要使用同一设备的进程不得不长时间地等待。n要解决独
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 操作系统 课件 设备管理
限制150内