操作系统第6章ppt课件.ppt
《操作系统第6章ppt课件.ppt》由会员分享,可在线阅读,更多相关《操作系统第6章ppt课件.ppt(131页珍藏版)》请在三一办公上搜索。
1、,第六章 输入输出系统,6.1 I/O系统的功能、模型和接口6.2 I/O设备和设备控制器6.3中断机构和中断处理程序6.4 设备驱动程序6.5 与设备无关的I/O软件6.6 用户层的I/O软件6.7 缓冲区管理6.8 磁盘存储器的性能和调度习题,6.1 I/O系统的功能、模型和接口I/O系统管理的主要对象是I/O设备和相应的设备控制器。其最主要的任务是,完成用户提出的I/O请求,提高I/O速率,以及提高设备的利用率,并能为更高层的进程方便地使用这些设备提供手段。,6.1.1 I/O系统的基本功能1. 隐藏物理设备的细节I/O设备的类型非常多,且彼此间在多方面都有差异,诸如它们接收和产生数据的
2、速度,传输方向、粒度、数据的表示形式及可靠性等方面。,2. 与设备的无关性隐藏物理设备的细节,在早期的OS中就已实现,它可方便用户对设备的使用。与设备的无关性是在较晚时才实现的,这是在隐藏物理设备细节的基础上实现的。,3. 提高处理机和I/O设备的利用率在一般的系统中,许多I/O设备间是相互独立的,能够并行操作,在处理机与设备之间也能并行操作。因此,I/O系统的第三个功能是要尽可能地让处理机和I/O设备并行操作,以提高它们的利用率。为此,一方面要求处理机能快速响应用户的I/O请求,使I/O设备尽快地运行起来;另一方面也应尽量减少在每个I/O设备运行时处理机的干预时间。,4. 对I/O设备进行控
3、制对I/O设备进行控制是驱动程序的功能。目前对I/O设备有四种控制方式: 采用轮询的可编程I/O方式; 采用中断的可编程I/O方式; 直接存储器访问方式; I/O通道方式。,5. 确保对设备的正确共享从设备的共享属性上,可将系统中的设备分为如下两类:(1) 独占设备,进程应互斥地访问这类设备,即系统一旦把这类设备分配给了某进程后,便由该进程独占,直至用完释放。典型的独占设备有打印机、磁带机等。系统在对独占设备进行分配时,还应考虑到分配的安全性。(2) 共享设备,是指在一段时间内允许多个进程同时访问的设备。典型的共享设备是磁盘,当有多个进程需对磁盘执行读、写操作时,可以交叉进行,不会影响到读、写
4、的正确性。,6. 错误处理大多数的设备都包括了较多的机械和电气部分,运行时容易出现错误和故障。从处理的角度,可将错误分为临时性错误和持久性错误。对于临时性错误,可通过重试操作来纠正,只有在发生了持久性错误时,才需要向上层报告。,6.1.2 I/O系统的层次结构和模型 1. I/O软件的层次结构通常把I/O 软件组织成四个层次,如图6-1所示。,图6-1 I/O系统的层次结构,2. I/O系统中各种模块之间的层次视图为了能更清晰地描述I/O系统中主要模块之间的关系,我们进一步介绍I/O系统中各种I/O模块之间的层次视图。见图6-2所示。1) I/O系统的上、下接口(1) I/O系统接口。(2)
5、软件/硬件(RW/HW)接口。,图6-2 I/O系统中各种模块之间的层次视图,2) I/O系统的分层与前面所述的I/O软件组织的层次结构相对应,I/O系统本身也可分为如下三个层次:(1) 中断处理程序。(2) 设备驱动程序。(3) 设备独立性软件。,6.1.3 I/O系统接口 在I/O系统与高层之间的接口中,根据设备类型的不同,又进一步分为若干个接口。在图6-2中示出了块设备接口、流设备接口和网络接口。1. 块设备接口(1) 块设备。 (2) 隐藏了磁盘的二维结构。(3) 将抽象命令映射为低层操作。,2. 流设备接口流设备接口是流设备管理程序与高层之间的接口。该接口又称为字符设备接口,它反映了
6、大部分字符设备的本质特征,用于控制字符设备的输入或输出。(1) 字符设备。(2) get和put操作。(3) in-control指令。,3. 网络通信接口在现代OS中,都提供了面向网络的功能。但首先还需要通过某种方式把计算机连接到网络上。同时操作系统也必须提供相应的网络软件和网络通信接口,使计算机能通过网络与网络上的其它计算机进行通信或上网浏览。,6.2 I/O设备和设备控制器I/O设备一般是由执行I/O操作的机械部分和执行控制I/O的电子部件组成。通常将这两部分分开,执行I/O操作的机械部分就是一般的I/O设备,而执行控制I/O的电子部件则称为设备控制器或适配器(adapter)。在微型机
7、和小型机中的控制器常做成印刷电路卡形式,因而也常称为控制卡、接口卡或网卡,可将它插入计算机的扩展槽中。在有的大、中型计算机系统中,还配置了I/O通道或I/O处理机。,6.2.1 I/O设备 1. I/O设备的类型1) 按使用特性分类2) 按传输速率分类,2. 设备与控制器之间的接口通常,设备并不是直接与CPU进行通信,而是与设备控制器通信,因此,在I/O设备中应含有与设备控制器间的接口,在该接口中有三种类型的信号(见图6-3所示),各对应一条信号线。(1) 数据信号线。(2) 控制信号线。(3) 状态信号线。,图6-3设备与控制器间的接口,6.2.2 设备控制器1. 设备控制器的基本功能(1)
8、 接收和识别命令。(2) 数据交换。(3) 标识和报告设备的状态。(4) 地址识别。(5) 数据缓冲区。(6) 差错控制。,2. 设备控制器的组成由于设备控制器位于CPU与设备之间,它既要与CPU通信,又要与设备通信,还应具有按照CPU所发来的命令去控制设备工作的功能,因此,现有的大多数控制器都是由以下三部分组成:(1) 设备控制器与处理机的接口。(2) 设备控制器与设备的接口。(3) I/O逻辑。,图6-4 设备控制器的组成,6.2.3 内存映像I/O 1. 利用特定的I/O指令在早期的计算机中,包括大型计算机,为实现CPU和设备控制器之间的通信,为每个控制寄存器分配一个I/O端口,这是一个
9、8位或16位的整数,如图6-5(a)所示。另外还设置了一些特定的I/O指令。,2. 内存映像I/O在这种方式中,在编址上不再区分内存单元地址和设备控制器中的寄存器地址,都采用k。当k值处于0n-1范围时,被认为是内存地址,若k大于等于n时,被认为是某个控制器的寄存器地址。,图6-5 设备寻址形式,6.2.4I/O通道1. I/O通道设备的引入虽然在CPU与I/O设备之间增加了设备控制器后,已能大大减少CPU对I/O的干预,但当主机所配置的外设很多时,CPU的负担仍然很重。为此,在CPU和设备控制器之间又增设了I/O通道(I/O Channel)。,2. 通道类型1) 字节多路通道(Byte M
10、ultiplexor Channel)这是一种按字节交叉方式工作的通道。它通常都含有许多非分配型子通道,其数量可从几十到数百个,每一个子通道连接一台I/O设备,并控制该设备的I/O操作。这些子通道按时间片轮转方式共享主通道。,图6-6 字节多路通道的工作原理,2) 数组选择通道(Block Selector Channel)字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。,3) 数组多路通道(Block Multiplexor Channel)数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。数组多路通道是将数组选择通道传输速率高和字节多路通
11、道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。,3. “瓶颈”问题由于通道价格昂贵,致使机器中所设置的通道数量势必较少,这往往又使它成了I/O的瓶颈,进而造成整个系统吞吐量的下降。,图6-7单通路I/O系统,图6-8多通路I/O系统,6.3中断机构和中断处理程序对于操作系统中的I/O系统,本章采取从低层向高层的介绍方法,从本节开始首先介绍中断处理程序。中断在操作系统中有着特殊重要的地位,它是多道程序得以实现的基础,没有中断,就不可能实现多道程序,因为进程之间的切换是通过中断来完成的。另一方面,中断也是设备管理的基础,为了提高处理机的利用率和实现CPU与I/O设备并行执行,也
12、必需有中断的支持。中断处理程序是I/O系统中最低的一层,它是整个I/O系统的基础。,6.3.1 中断简介 1. 中断和陷入1) 中断2) 陷入,2. 中断向量表和中断优先级1) 中断向量表2) 中断优先级,3. 对多中断源的处理方式 1) 屏蔽(禁止)中断2) 嵌套中断,图6-9 对多中断的处理方式,6.3.2 中断处理程序 当一个进程请求I/O 操作时,该进程将被挂起,直到I/O设备完成I/O操作后,设备控制器便向CPU发送一个中断请求,CPU响应后便转向中断处理程序,中断处理程序执行相应的处理,处理完后解除相应进程的阻塞状态。,图6-10 中断现场保护示意图,图6-11 中断处理流程,6.
13、4 设备驱动程序设备处理程序通常又称为设备驱动程序,它是I/O系统的高层与设备控制器之间的通信程序,其主要任务是接收上层软件发来的抽象I/O要求,如read或write命令,再把它转换为具体要求后,发送给设备控制器,启动设备去执行;反之,它也将由设备控制器发来的信号传送给上层软件。由于驱动程序与硬件密切相关,故通常应为每一类设备配置一种驱动程序。例如,打印机和显示器需要不同的驱动程序。,6.4.1 设备驱动程序概述 1. 设备驱动程序的功能 (1) 接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求转换为与设备相关的低层操作序列。(2) 检查用户I/O请求的合法性,了解I/O设备的工
14、作状态,传递与I/O设备操作有关的参数,设置设备的工作方式。(3) 发出I/O命令,如果设备空闲,便立即启动I/O设备,完成指定的I/O操作;如果设备忙碌,则将请求者的请求块挂在设备队列上等待。(4) 及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理。,2. 设备驱动程序的特点 设备驱动程序属于低级的系统例程,它与一般的应用程序及系统程序之间有下述明显差异:(1) 驱动程序是实现在与设备无关的软件和设备控制器之间通信和转换的程序,具体说,它将抽象的I/O请求转换成具体的I/O操作后传送给控制器。又把控制器中所记录的设备状态和I/O操作完成情况,及时地反映给请
15、求I/O的进程。(2) 驱动程序与设备控制器以及I/O设备的硬件特性紧密相关,对于不同类型的设备,应配置不同的驱动程序。但可以为相同的多个终端设置一个终端驱动程序。,(3) 驱动程序与I/O设备所采用的I/O控制方式紧密相关,常用的I/O控制方式是中断驱动和DMA方式。(4) 由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。目前有很多驱动程序的基本部分已经固化在ROM中。(5) 驱动程序应允许可重入。一个正在运行的驱动程序常会在一次调用完成前被再次调用。,3. 设备处理方式 在不同的操作系统中,所采用的设备处理方式并不完全相同。,6.4.2 设备驱动程序的处理过程设备驱动程序的
16、主要任务是启动指定设备,完成上层指定的I/O工作。但在启动之前,应先完成必要的准备工作,如检测设备状态是否为“忙”等。在完成所有的准备工作后,才向设备控制器发送一条启动命令。,图6-12 状态寄存器中的格式,6.4.3 对I/O设备的控制方式对设备的控制,早期是使用轮询的可编程I/O方式,后来发展为使用中断的可编程I/O方式。,1. 使用轮询的可编程I/O方式处理机对I/O设备的控制采取轮询的可编程I/O方式,即在处理机向控制器发出一条I/O指令,启动输入设备输入数据时,要同时把状态寄存器中的忙/闲标志busy置为1,然后便不断地循环测试busy(称为轮询)。当busy=1时,表示输入机尚未输
17、完一个字(符),处理机应继续对该标志进行测试,直至busy=0,表明输入机已将输入数据送入控制器的数据寄存器中。于是处理机将数据寄存器中的数据取出,送入内存指定单元中,这样便完成了一个字(符)的I/O。接着再去启动读下一个数据,并置busy=1。,图6-13 程序I/O和中断驱动方式的流程,2. 使用中断的可编程I/O方式当前,对I/O设备的控制,广泛采用中断的可编程I/O方式,即当某进程要启动某个I/O设备工作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回继续执行原来的任务。设备控制器于是按照该命令的要求去控制指定I/O设备。此时,CPU与I/O设备并行操作。,3. 直接存
18、储器访问方式1) 接存储器访问方式的引入虽然中断驱动I/O比程序I/O方式更有效,但它仍是以字(节)为单位进行I/O的。每当完成一个字(节)的I/O时,控制器便要向CPU请求一次中断。,该方式的特点是:(1) 数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块。(2) 所传送的数据是从设备直接送入内存的,或者相反。(3) 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。可见,DMA方式较之中断驱动方式又进一步提高了CPU与I/O设备的并行操作程度。,2) DMA控制器的组成DMA控制器由三部分组成:主机与DMA控制器的
19、接口;DMA控制器与块设备的接口;I/O控制逻辑。图6-14示出了DMA控制器的组成。这里主要介绍主机与控制器之间的接口。,图6-14 DMA控制器的组成,3) DMA工作过程当CPU要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令。该命令被送入命令寄存器CR中。同时,需要将本次要读入数据在内存的起始目标地址送入内存地址寄存器MAR中。,图6-15 DMA方式的工作流程图,4. I/O通道控制方式1) I/O通道控制方式的引入虽然DMA方式比起中断方式来已经显著地减少了CPU的干预,即已由以字(节)为单位的干预减少到以数据块为单位的干预,但CPU每发出一条I/O指令,也只能去读(或写)一个
20、连续的数据块。而当我们需要一次去读多个数据块且将它们分别传送到不同的内存区域,或者相反时,则须由CPU分别发出多条I/O指令及进行多次中断处理才能完成。,2) 通道程序通道是通过执行通道程序并与设备控制器共同实现对I/O设备的控制的。通道程序是由一系列通道指令(或称为通道命令)所构成的。,下面示出了一个由六条通道指令所构成的简单的通道程序。该程序的功能是将内存中不同地址的数据写成多个记录。,6.5 与设备无关的I/O软件为了方便用户和提高OS的可适应性与可扩展性,在现代OS的I/O系统中,都无一例外地增加了与设备无关的I/O软件,以实现设备独立性,也称为设备无关性。其基本含义是:应用程序中所用
21、的设备,不局限于使用某个具体的物理设备。为每个设备所配置的设备驱动程序是与硬件紧密相关的软件。,6.5.1 与设备无关(Device Independence)软件的基本概念 1. 以物理设备名使用设备在早期OS中,应用程序在使用I/O设备时,都使用设备的物理名称,这使应用程序与系统中的物理设备直接相关。,2. 引入了逻辑设备名为了实现与设备的无关性而引入了逻辑设备和物理设备两个概念。逻辑设备是抽象的设备名。,3. 逻辑设备名称到物理设备名称的转换在应用程序中,用逻辑设备名称使用设备虽然方便了用户,但系统却只识别物理设备名称,因此在实际执行时,还必须使用物理名称。为此,在系统中,必须具有将逻辑
22、设备名称转换为某物理设备名称的功能。,6.5.2 与设备无关的软件1. 设备驱动程序的统一接口为了使所有的设备驱动程序有着统一的接口,一方面,要求每个设备驱动程序与OS之间都有着相同的接口,或者相近的接口,这样会使添加一个新的设备驱动程序变得很容易,同时在很大程度上方便了开发人员对设备驱动程序的编制。另一方面,要将抽象的设备名映射到适当的驱动程序上,或者说,将抽象的设备名转换为具体的物理设备名,并进一步可以找到相应物理设备的驱动程序入口。此外,还应对设备进行保护,禁止用户直接访问设备,以防止无权访问的用户使用。,2. 缓冲管理无论是字符设备还是块设备,它们的运行速度都远低于CPU的速度。为了缓
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 ppt 课件

链接地址:https://www.31ppt.com/p-1349994.html