操作系统教程北京大学出版第7章+设备管理_第1页
操作系统教程北京大学出版第7章+设备管理_第2页
操作系统教程北京大学出版第7章+设备管理_第3页
操作系统教程北京大学出版第7章+设备管理_第4页
操作系统教程北京大学出版第7章+设备管理_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章设备管理概述I/O软件的组成I/O硬件特点有关技术设备处理典型外部设备一、概述1、I/O的特点(1)I/O性能经常成为系统性能的瓶颈CPU性能不等于系统性能 响应时间也是一个重要因素CPU性能越高,与I/O差距越大 弥补:更多的进程进程切换多,系统开销大(2)操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O 外设种类繁多,结构各异 输入输出数据信号类型不同 速度差异很大(3)理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键 I/O技术很实用(4)与其他功能联系密切,特别是文件系统1、I/O的特点(1)按使用特性分 存储型设备 输入型设备(外设主机) 输出型设备(

2、主机外设) 输入输出型设备(交互型设备)2、设备的分类(2)按数据组织分 块设备 以数据块为单位存储、传输信息 字符设备 以字符为单位存储、传输信息(3)按外部设备的从属关系分 系统设备 指操作系统生成时,登记在系统中的标准设备 (如终端、打印机、磁盘机等) 用户设备 指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理程序由用户提供,并将其纳入系统,由系统代替用户实施管理。 (如A/D,D/A转换器,CAD所用专用设备)(4)按资源分配角度分 独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备(如打印机,磁带等) 共享设备 在一段时间内可有多个进程共同使用的设备,

3、多个进程以交叉的方式来使用设备,其资源利用率高(如硬盘)虚设备在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备 目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率(实例:SPOOLing技术,利用虚设备技术 用硬盘模拟输入输出设备)SPOOLing技术 为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提出的一种设备管理技术(5)从程序使用角度分 逻辑设备、物理设备(6)按数据传输率分 高速设备、低速设备(7)按接口分 与用户交流:显示器,键盘,鼠标,打印机等 与电子设备交流:磁盘

4、、磁带等 通信:与远程设备通信:调制解调器各类设备的差别: 数据传输率 应用 控制的复杂性 传输单位 数据表示 出错条件(1)按照用户的请求,控制设备的各种操作,完成I/O设备与内存之间的数据交换(包括设备分配与回收;设备驱动程序;设备中断处理;缓冲区管理),最终完成用户的I/O请求3.设备管理的目标和任务设备分配与回收 记录设备的状态 根据用户的请求和设备的类型,采用一定的分配算法,选择一条数据通路 建立统一的独立于设备的接口完成设备驱动程序,实现真正的I/O操作处理外部设备的中断处理管理I/O缓冲区功能(2)向用户提供使用外部设备的方便接口,使用户摆脱繁琐的编程负担 方便性 友好界面 透明

5、性 逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同I/O的差异性)(3)充分利用各种技术(通道,中断,缓冲等)提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率 并行性 均衡性(使设备充分忙碌)(4)保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作(5)保护 设备传送或管理的数据应该是安全的、不被破坏的、保密的(6)与设备无关性(设备独立性) 用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换 用户能独立于具体物理设备而方便的使用设备 用户申请使用设备时,只需要指定设

6、备类型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程统一性: 对不同的设备采取统一的操作方式,在用户程序中使用的是逻辑设备优点: 设备忙碌或设备故障时,用户不必修改程序改善了系统的可适应性和可扩展性 IO软件的基本思想是按分层的思想构成,较低层软件要使较高层软件独立于硬件的特性,较高层软件则要向用户提供一个友好的、清晰的、简单的、功能更强的接口二、I/O软件的组成 在设计IO软件时的一个关键概念是设备独立性。用户在编写使用软盘或硬盘上文件的程序时,无需为不同的设备类型而修改程序就可以使用 与设备独立性密切相关的是统一

7、命名这一目标。一个文件或一个设备的名字只应是一个简单的字符串或一个整数,不应依赖于设备1. IO软件的目标 出错处理是IO软件的另一个目标。一般来说,数据传输中的错误应尽可能地在接近硬件层上处理 最后一个问题是可共享设备和独占设备的处理问题2.中断处理程序 每个进程在启动一个IO操作后阻塞 直到IO操作完成并产生一个中断 由操作系统接管CPU后唤醒该进程为止3.设备驱动程序 与设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型 每一个控制器都设有一个或多个设备寄存器,用来存放向设备发送的命令和参数。设备驱动程序负责释放这些命令,并监督它们正确执行 一般,设备驱动程序的任务是

8、接收来自与设备无关的上层软件的抽象请求,并执行这个请求 在设备驱动程序的进程释放一条或多条命令后,系统有两种处理方式,多数情况下,执行设备驱动程序的进程必须等待命令完成,这样,在命令开始执行后,它阻塞自已,直到中断处理时将它解除阻塞为止。而在其它情况下,命令执行不必延迟就很快完成 4.设备独立的软件 虽然IO软件中一部分是设备专用的,但大部分软件是与设备无关的。设备驱动程序与设备独立软件之间的确切界限是依赖于具体系统的 1.独立于设备的软件的基本任务是实现所有设备都需要的功能,并且向用户级软件提供一个统一的接口 2.如何给文件和设备这样的对象命名是操作系统中的一个主要课题。独立于设备的软件负责

9、把设备的符号名映射到正确的设备驱动上 3.设备保护 系统如何防止无权存取设备的用户存取设备呢? 4.不同的磁盘可以采用不同的扇区尺寸。向较高层软件掩盖这一事实并提供大小统一的块尺寸,这正是设备独立软件的一个任务。它可将若干扇区合成一个逻辑块。这样,较高层的软件只与抽象设备打交道,独立于物理扇区的尺寸而使用等长的逻辑块 5.缓冲技术 6.设备分配 7.出错处理 5.用户空间的IO软件 尽管大部分IO软件都包含在操作系统中,但仍有一小部分是由与用户程序连接在一起的库过程,甚至完全由运行于核外的程序构成。系统调用,包括IO系统调用,通常由库过程实现 这些过程所做的工作只是将系统调用时所用的参数放在合

10、适的位置,由其它的IO过程实际实现真正的操作(1)用户进程层执行输入输出系统调用,对IO数据进行格式化,为假脱机输入输出作准备(2)独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配(3)设备驱动程序设置设备寄存器、检查设备的执行状态(4)中断处理程序负责IO完成时,唤醒设备驱动程序进程,进行中断处理(5)硬件层实现物理IO的操作1.设备组成 IO设备一般由机械和电子两部分组成 把这两部分分开处理,以提供更加模块化,更加通用的设计三、I/O硬件特点 (1)物理设备 机械部分是设备本身(物理装置)(2)设备控制器 电子部分叫做设备控制器或适配器。 在小型和微型机中,它常采用

11、印刷电路卡插入计算机中(接口) 完成设备与主机间的连接和通讯 控制器卡上通常有一个插座,通过电缆与设备相连 控制器和设备之间的接口是一个标准接口,它符合ANSI、IEEE或ISO这样的国际标准CPU外部设备控制逻辑电路控制寄存器状态寄存器数据寄存器 一次I/O 传送过程: 准备传送后处理例:一个打印机有两个I/O设备寄存器 状态寄存器 数据寄存器设备完成技术四、设备有关技术(虚拟设备)技术 一个虚拟设备 一个资源转换技术(用空间,如输入,输出等换取CPU时间)解决问题: 在进程所需物理设备不存在或被占用时使用该设备(1)预输入程序预输入程序的任务是预先把作业的全部信息输入到磁盘的输入井中存放,

12、以便在需要作业信息以及作业运行过程中需要数据时,都可以从输入井中直接得到,而无须与输入机交往,避免了等待使用输入机的情况发生。(2)缓输出程序 缓输出程序总是定期查看“输出井”中是否有等待输出的作业信息。如果有,就启动输出设备(比如打印机)进行输出。因此,由于作业的输出信息都暂时存放在输出井中,输出设备有空就去输出,不会出现作业因为等待输出而阻塞。(3)井管理程序 井管理程序分为“井管理读程序”和“井管理写程序”。当请求输入设备工作时,操作系统就调用井管理读程序,它把让输入设备工作的任务,转换成从输入井中读取所需要的信息;当作业请求打印输出时,操作系统就调用井管理写程序,它把让输出设备工作的任

13、务,转换成为往输出井里输出。假若进程打开打印机特殊文件后几小时内无所事事,其他进程什么都打印不了!解决方案:创建值班(精灵)进程(daemon)、SPOOLing目录进程首先生成要打印的文件,放入SPOOLing目录值班进程:唯一获准使用打印机特殊文件的进程 用以打印SPOOLing目录里的文件通过禁止对特殊文件的直接使用、提高了使用效率打印机的SPOOLing值班进程(1)定义:通道是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入,输出操作可与CPU并行操作。 可以执行通道程序2.通道技术(2)引入通道的目的 为了

14、使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力(4)硬件连接结构 通道:执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。 一旦CPU发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接 主要目的是启动外设时:提高了控制器效率提高可靠性提高并行度交叉连接(5)通道工作原理 通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序技术 数据在内存与I/O设备间的直接成块传送 CPU在开始时向设备发“传送一块”命令,结束时

15、进行相应处理,实际操作由DMA硬件直接完成 DMA能够通过系统总线代替CPU管理数据的存入或取出 当CPU不需要系统总线时可以使用总线 DMA可以强迫CPU暂时延迟其他操作,获取一个总线周期(周期窃取)DMA方式与中断的主要区别中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理 DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行中断处理的次数中断方式的数据传送是由CPU控制完成的 而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的 不用DMA时,磁盘如何读: 首先,控制器从磁盘驱动器串行地一位一位地读一个块,直到将整块信息放入控制

16、器的内部缓冲区中 其次,它做和校验计算,以核实没有读错误发生 然后控制器产生一个中断。CPU响应中断,控制转给操作系统。当操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息,并将其送入内存中 采用DMA方式时,允许DMA控制器接管地址线的控制权,直接控制DMA控制器与内存的数据交换。从而使磁盘设备与储器之间的数据传送不需要CPU介入,因而减轻了CPU负担 当采用DMA时,除向控制器提供要读块的磁盘地址外,还要向控制器提供两个信息:要读块送往内存的起始地址和要传送的字节数 当DMA硬件控制磁盘与存储器之间进行信息交换时,每当磁盘把一个数据读入控制器的数据缓冲区时

17、,DMA控制器取代CPU,接管地址总线的控制权,并按照DMA控制器中的存储器地址寄存器内容把数据送入相应的内存单元中。然后,DMA硬件自动地把传送字节计数器减1,把存储器地址寄存器加1,并恢复CPU对内存的控制权,DMA控制器对每一个传送的数据重复上述过程,直到传送字节计数器为“0”时,向CPU产生一个中断信号。当操作系统接管CPU控制权时,再无需做块复制的工作了控制器按照指定存储器地址,把第一个字节送入主存然后,按指定字节数进行数据传送每当传送一个字节后,字节计数器值减1,直到字节计数器等于0此时,控制器引发中断,通知操作系统,操作完成CPU提供被读取块磁盘地址目标存储地址待读取字节数整块数

18、据读进缓冲区核准校验DMA工作示例(以硬盘为例)(1)缓冲技术的引入 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。 在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率减少了I/O设备对处理器的中断请求次数简化了中断机制节省了系统开销4. 缓冲技术(2)缓冲区设置 硬缓冲:在设备中设置缓冲区,由硬件实现 软缓冲:在内存中开辟一个空间,用作缓冲区(3)缓冲区管理 单缓冲 双缓冲 缓冲池: 多个缓冲区连接起来统一管理,常采用多缓冲管理(4)例子 终端输入软件中的键盘驱动程序 任务之一:收集字符 两种常见的字符缓冲方法:公共缓冲池(驱动程

19、序中)终端数据结构缓冲1. 设备分配与回收 当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换五、设备处理设备独立性,即不能因为设备的忙碌、故障或更换而影响程序的运行, 向用户屏蔽物理设备, 呈现给用户的一个操作简单的逻辑设备抽象的I/O 操作,即设计一类通用的I/O指令,它们的含义对不同类型的设备作不同解释。而且,在操作系统中,提供了若干I/O系统调用。由系统将抽象的I/O 操作映射到专门的设备驱动程序(1)数据结构:设备控制块DCB(设备控制表DCT)控制器控制块COCB (控制器控制表COCT)通道控制块CHCB (通道控制表CHCT)系统设备表SDT系统设备表SDT 整个系统一张表,记录系统中所有I/O设备的信息,表目包括: 设备类型、设备标识符、进程标识符、DCT表指针等设备控制表DCT 主要内容:设备类型、设备标识符、设备状态、与此设备相连的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论