操作系统-设备管理.ppt
《操作系统-设备管理.ppt》由会员分享,可在线阅读,更多相关《操作系统-设备管理.ppt(90页珍藏版)》请在三一办公上搜索。
1、第五章,设备管理,第五章 设备管理,5.1 I/O系统,引述在计算机系统中,除了处理机和存储器外,还有用于实现信息输入、输出和存储的设备,以及相应的设备控制器,I/O通道或I/O处理机等。设备管理的对象主要是I/O设备,另外还有设备控制器和I/O通道。设备管理的基本任务完成用户提出的I/O请求,提高I/O速率以及提高I/O设备的利用率。I/O设备种类多,且特性和操作方式相差很大,使得设备管理成为OS中最繁杂且与硬件最紧密相关的部分。I/O性能经常成为系统性能的瓶颈。,5.1 I/O系统,5.1.1 I/O设备1、I/O设备的类型(1)按使用特性分类存储设备:如磁盘。输入/输出设备:输入:如键盘
2、、鼠标、扫描仪、摄像头、传感器输出:如打印机显示器、音响输出。(2)按传输速率分类低速设备:速度每秒几字节至数百个字节如键盘、鼠标器、语音的输入输出等设备。中速设备:每秒数千个字节至数十万个字节如行式打印机、激光打印机等。高速设备:每秒数百个千字节至千兆字节如磁带机、磁盘机、光盘机等。,5.1 I/O系统,5.1.1 I/O设备1、I/O设备的类型(3)按信息交换的单位分类块设备:以数据块为单位存取信息,如磁盘。传输速率高几兆位每秒,可寻址字符设备:以字符为单位存取信息,如键盘、打印机等。传输速率低,几百至几千字节,不可寻址,常采用中断驱动方式进行输入输出。(4)按共享属性分类独占设备:一段时
3、间内存只允许一个进程访问的设备。共享设备:一段时间内允许多个进程同时访问的设备。虚拟设备:通过虚拟技术将一台独占设备变幻成多台逻辑设备,供多个进程同时使用。,5.1 I/O系统,5.1.1 I/O设备2、I/O设备与控制器之间的接口通常,设备并不是直接与CPU进行通信,而是与设备控制器通信。因此,在设备与设备控制器之间应有一接口。数据信号线:传输数据信号控制信号线:发送控制信号,规定设备执行的操作状态信号线:指示设备当前状态信号,5.1 I/O系统,5.1.2 设备控制器1、基本概念设备控制器是CPU与I/O设备间的接口设备控制器接收从CPU发来的命令,并控制I/O设备工作,使处理机从繁杂的设
4、备控制事务中解脱出来。设备控制器常做成印刷电路卡形式,称为接口卡,如显卡、声卡等。设备控制器可控制一个或多个同类I/O设备。,5.1 I/O系统,5.1.2 设备控制器2、基本功能(1)接收和识别命令(2)数据交换(3)标识和报告设备的状态(4)地址识别(5)数据缓冲(6)差错控制,5.1 I/O系统,5.1.2 设备控制器3、设备控制器的组成设备控制器处于CPU与设备之间,它既要与CPU通信,又要与设备通信,还应具有 按照CPU所发来的命令去控制设备工作的功能。由以下三部分组成:设备控制器与CPU的接口 设备控制器与设备的接口 I/O逻辑,5.1 I/O系统,5.1.2 设备控制器3、设备控
5、制器的组成,设备控制器,设备1,设备i,CPU,5.1 I/O系统,5.1.3 I/O通道1、I/O通道的引入虽然在CPU与I/O设备之间增加了设备控制器,但当外设很多时,CPU的负担仍很重。为此,在CPU和设备控制器之间又增设了I/O通道。其目的是使一些原来由CPU处理的I/O任务转由通道来承担,从而进一步把CPU从繁杂的I/O任务中解脱出来。I/O通道是一种特殊的处理机,专门负责数据的输入输出操作。具有执行I/O指令的能力,I/O指令用来控制I/O操作。,5.1 I/O系统,5.1.3 I/O通道2、I/O通道的类型字节多路通道主通道以字节为单位传送数据,多个子通道与每个设备连接,子通道按
6、时间片轮转方式共享主通道。抢占式。数组选择通道主通道按数组方式传送数据,只有一个子通道连接设备,子通道非抢占式使用通道传输数据。数组多路通道主通道按数组方式传送数据,多个子通道与设备连接,子通道按时间片轮转方式共享主通道。,5.1 I/O系统,5.1.3 I/O通道2、I/O通道的类型字节多路通道的工作原理,5.1 I/O系统,5.1.3 I/O通道3、“瓶颈”问题由于通道价格昂贵,致使机器中所设置的通道数量势必较少,这又往往使它成为I/O 的瓶颈,进而造成整个系统吞吐量的下降。,5.1 I/O系统,5.1.3 I/O通道3、“瓶颈”问题解决方案:增加设备到主机间的通路而不增加通道。,5.1
7、I/O系统,5.1.4 总线系统计算机系统中的各部件,如cpu、存储器及各种I/O设备之间的联系,都是通过总线实现的。,5.1 I/O系统,5.1.4 总线系统与主板连接的接口主要ISA、EISA、VESA、PCI、AGP等几种。ISA和EISA总线带宽窄、速度慢,VESA总线扩展能力差,这三种总线已经被市场淘汰。现在常见的是PCI和AGP接口。PCI总线接口,以1/2或1/3的系统总线频率工作,如果要在处理图像数据的同时处理其它数据,那么流经PCI总线的全部数据就必须分别地进行处理,这样势必存在数据滞留现象,在数据量大时,PCI总线就显得很紧张。AGP接口可以解决这个问题,它是一种专用的显示
8、接口,具有独占总线的特点,只有图像数据才能通过AGP端口,数据传输率高。,5.1 I/O系统,5.1.4 总线系统,5.1 I/O系统,5.1.4 总线系统,5.1 I/O系统,5.1.4 总线系统,第五章 设备管理,5.2 I/O控制方式,随着计算机技术的发展,I/O控制方式也在不断地发展。I/O控制方式的发展经历了以下四个阶段:5.2.1 程序I/O方式5.2.2 中断驱动I/O控制方式5.2.3 直接存储器访问(DMA)I/O控制方式5.2.4 I/O通道控制方式,5.2 I/O控制方式,5.2.1 程序I/O方式又称忙等待方式。在该方式中,由于CPU的高速性和I/O设备的低速性,致使C
9、PU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。,5.2 I/O控制方式,5.2.2 中断驱动I/O控制方式在I/O设备输入每个数据过程中,无须CPU干预,可使CPU与I/O设备并行工作。仅当传输完一个数据时,才需CPU花极短时间处理中断。这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。这种方式适用于打印机、键盘等以字符为单位传送的字符设备。,5.2 I/O控制方式,5.2.3 直接存储器访问(DMA)I/O控制方式虽然中断驱动I/O比程序I/O方式更有效,但它是以字(节)为单位进行I/O的,若将这种方式用于块设备的I
10、/O,显然将会是极其低效的。为进一步减少CPU对I/O的干预,引入了直接存储器访问(Direct Memory Access)方式。DMA控制方式适用于磁盘等块设备的I/O。,5.2 I/O控制方式,5.2.3 直接存储器访问(DMA)I/O控制方式特点 数据传输的基本单位是数据块;所传送的数据是从设备直接送入内存的,或者相反;仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。,5.2 I/O控制方式,5.2.3 直接存储器访问(
11、DMA)I/O控制方式DMA控制器的组成主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑;,5.2 I/O控制方式,5.2.3 直接存储器访问(DMA)I/O控制方式DMA从处理器那里取得控制权,通过系统总线在主存和设备之间传输数据DMA使用“周期挪用技术”挪用一个总线周期来传输数据,使得CPU的执行变得慢了。,5.2 I/O控制方式,5.2.4 I/O通道控制方式采用DMA方式可一次性读取一个数据块的内容,但当我们需要一次去读多个数据块且将它们分别传送到不同的内存区域时,则需要CPU进行多次中断来处理。I/O通道方式是DMA方式的发展,可一次完成多个数据块的读/写及有关的
12、控制和管理,期间不需要CPU的干预,从而实现CPU、通道、I/O设备三者并行操作,提高系统资源利用率。例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。,第五章 设备管理,5.3 缓冲管理,5.3.1 缓冲的引入目的(1)缓和CPU与I/O设备间速度不匹配的矛盾。(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制。(3)提高CPU和I/O设备之间的并行性。缓冲技术 单缓冲 双缓冲 循环缓冲 缓冲池,5.3 缓冲管理,5.3
13、.2 单缓冲和双缓冲1、单缓冲单缓冲是OS提供的最简单的一种缓冲形式。每当一个用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区。在块设备输入时,缓冲区用于暂存块设备输入的一块数据;在字符设备输入时,缓冲区用于暂存用户输入的一行数据。,5.3 缓冲管理,5.3.2 单缓冲和双缓冲1、单缓冲系统对每一块数据的处理时间表示为Max(C,T)+M。,5.3 缓冲管理,5.3.2 单缓冲和双缓冲2、双缓冲为了加快输入、输出速度和提高设备利用率,又引入了双缓冲工作方式,也称为缓冲对换(Buffer Swapping)方式。在设备输入时,先将数据输入第一缓冲区,装满后便转向第二缓冲区。此时操作
14、系统可从第一缓冲区中移出数据送用户进程区,接着由CPU对数据进行计算。,5.3 缓冲管理,5.3.2 单缓冲和双缓冲2、双缓冲在双缓冲时,系统处理一块数据的时间可粗略地认为是Max(C,T)。,5.3 缓冲管理,5.3.2 单缓冲和双缓冲2、双缓冲当两台机器之间通信时,如果采用单缓冲技术,它们之间的任一时刻都只能实现单方向的数据传输。为了实现双向数据传输,必须在两台机器中都设置两个缓冲区。,5.3 缓冲管理,5.3.3 循环缓冲当输入、输出或生产者-消费者的速度相差甚远时,双缓冲的效果则不够理想,但可以增加缓冲区数量而使情况有所改善。因此,引入了多缓冲,并将多缓冲组织成循环缓冲形式。,5.3
15、缓冲管理,5.3.3 循环缓冲循环缓冲的组成多个缓冲区:每个缓冲区大小相同,分成三类:空缓冲区R、已装满数据的缓冲区G、现行工作缓冲区C多个指针Nextg指示计算进程下一个可用的缓冲区G;Nexti指示输入进程下次可用的空缓冲区R;Current指示计算进程正在使用的缓冲区单元。,5.3 缓冲管理,5.3.4 缓冲池(Buffer Pool)1、缓冲池的组成循环缓冲属专用缓冲。当系统较大时,为了提高缓冲区的利用率,目前广泛流行公用缓冲池,池中的缓冲区可供多个进程共享。由以下部分组成多个缓冲区队列四种工作缓冲区,5.3 缓冲管理,5.3.4 缓冲池(Buffer Pool)1、缓冲池的组成多个缓
16、冲区队列空缓冲队列emq输入队列inq装满输入数据输出队列outq装满输出数据四种工作缓冲区用于收容输入数据的工作缓冲区;用于提取输入数据的工作缓冲区;用于收容输出数据的工作缓冲区;用于提取输出数据的工作缓冲区。,5.3 缓冲管理,5.3.4 缓冲池(Buffer Pool)2、工作方式缓冲区可以工作在收容输入、提取输入、收容输出、提取输出四种工作方式。,第五章 设备管理,5.4 I/O软件,5.4.1 I/O软件的设计目标I/O软件的总体目标是高效率和通用性高效率:确保I/O设备和CPU的并发性通用性:尽量提供简单抽象、清晰统一的接口。通常将I/O软件组织成层次结构低层:用于实现与硬件相关的
17、操作,屏蔽硬件细节高层:向用户提供一个简洁、友好、规范的接口。,5.4 I/O软件,5.4.1 I/O软件的设计目标I/O软件的具体目标(1)设备无关性:屏蔽细节,与具体设备无关(2)统一命名:使用逻辑名称访问设备,逻辑名称在不同情况下可能对应不同具体的物理设备。(3)对错误的处理:尽量在接近硬件的低层,低层能解决的错误高层不需要知道。(4)缓冲技术:缓解CPU和设备的速度,不论以块还是字节为单位,都屏蔽,使高层与抽象设备交互。(5)设备的分配和释放:对共享设备、独占设备等需要妥善解决。(6)I/O控制方式:对不同传输速率设备采取不同I/O控制方式,低速采用中断驱动,高速采取DMA等。,5.4
18、 I/O软件,5.4.1 I/O软件的设计目标I/O软件的层次结构通常分为四层层次5.4.5 用户层软件:用户可直接调用的对设备操作的函数。5.4.4 设备独立性软件:实现前述I/O软件具体的目标5.4.3 设备驱动程序:对设备发出操作指令,调用驱动程序5.4.2 中断处理程序:保存中断现场,进行处理,恢复现场,5.4 I/O软件,5.4.2 中断处理程序一般分成以下几个步骤(1)唤醒被阻塞的驱动程序(2)保护被中断进程的CPU环境(3)转入相应的设备处理程序(4)中断处理(5)恢复被中断进程的现场,5.4 I/O软件,5.4.3 设备驱动程序I/O进程与设备控制器之间的通信程序。接收上层软件
19、发来的抽象I/O请求,如read/write,转换成为具体要求,发给设备控制器,启动设备去执行。将由设备控制器发来的信号传给上层软件。由于驱动程序与硬件密切相关,故应为每类设备设置一种驱动程序。有时也为类似几类设备设置一个驱动程序。,5.4 I/O软件,5.4.4 设备独立性软件为了提高OS的可适应性和可扩展性,OS都实现了设备独立性(Device Independence),也称为设备无关性。含义:应用程序独立于具体使用的物理设备。在应用程序中,使用逻辑设备名称来请求使用某类设备;而在系统实际执行时,还必须使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,类似于存储
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 设备管理
链接地址:https://www.31ppt.com/p-4979471.html