《[2017年整理]13 设备管理》由会员分享,可在线阅读,更多相关《[2017年整理]13 设备管理(113页珍藏版)》请在金锄头文库上搜索。
1、操作系统原理操作系统原理 第第1313章章 设备管理设备管理广东邮电职业技术学院计算机系广东邮电职业技术学院计算机系http:/http:/ /2Agendan13.1概述n13.2Linux的设备管理结构n13.3I/O控制方式n13.4 缓冲技术n13.5 设备分配n13.6 Linux的设备管理n13.7 Linux的设备驱动程序的框架313.1 概述n13.1.1 外设的分类n按使用特性n存储设备n输入输出(I/O)设备n网络设备n按数据组织分n块设备(block device)n字符设备(character device)413.1 概述n13.1.2 设备管理的目标和功能n目标n支
2、持计算机与各种外部设备交换信息。n为用户提供方便、统一的界面。n提高外设的利用率。n功能n实现I/O 操作。n对缓冲区的管理。n设备的分配和回收。513.3 I/O 控制方式n13.3.1 设备控制器nI/O 设备一般分为机械部分和电子部分。机械部分是设 备本身。电子部分称做设备控制器(device controller)或 适配器(adapter)。n控制器上通常有一个可以插接的连接器,通过信号线电 缆将控制器与计算机内部进行连接。n一般操作系统主要是和控制器打交道,而不是与机械设 备打交道。n控制器的任务是把采集到的串行比特位流数据转换成字 节块,存入控制器内部的缓冲区。n每个控制器有几个
3、寄存器用来与CPU 进行通信。613.3 I/O 控制方式n13.3.1 设备控制器nPC 机上某些控制器的I/O 地址和中断向量7基本概念输入输出(I/O)系统的功能n输入输出系统的功能:n为了得到高效可靠的数据传输,选择输入输出 设备。n在选定的输入输出设备和CPU之间进行数据交换 。8输入输出(I/O)系统的类型n程序查询方式n程序中断方式nDMA方式n通道方式9n输入输出设备和CPU交换数据的过程:n输入过程:nCPU把一个地址值放在地址总线上,这一 步将选择一个输入设备nCPU等候输入设备的数据成为有效nCPU从数据总线上读入数据,并放在一个 相应的寄存器中n输出过程:nCPU把一个
4、地址值放在地址总线上,这一 步将选择一个输出设备nCPU把数据放在数据总线上n输出设备认为数据有效,从而把数据取 走。输入输出(I/O)系统10基本概念CPU和外围设备的定时nCPU和外围设备的定时,分为三种情况:n慢速外围设备 n中速外围设备n高速外围设备11基本概念CPU和外围设备的定时n速度极慢或简单的外围设备:对于这类设备 CPU总是能足够快地作出响应,也可以说,CPU 认为输入的数据一直有效,在这种情况下, CPU只要接受和发送数据就可以了。n常用的有:机械开关,显示二极管等。开关-CPU认为输入数据一直有效;显示二极管-输出一定准备就绪。12基本概念CPU和外围设备的定时n慢速或中
5、速的外围设备:CPU与这类设备之间 的数据交换通常采用异步定时方式。n在这种情况下,CPU和外设之间用问答信号进 行定时的方式叫做应答式数据交换。采用异步定时方式设备状态:工作(忙)就绪等待结束再启动等待启动暫停13启动就绪?传送一个字传送完?CPU发响应信号复位就绪结束NNYYCPU接收外设 一批数据字的过程 :基本概念CPU和外围设备的交互14基本概念CPU和外围设备的定时n高速外围设备:CPU和这类设备之间通常采 用同步定时方式,一旦CPU和外设发生同步, 他们之间的数据交换用时钟控制来进行。 1)同步定时方式CPU以等间隔的速率执行I/O指令。靠时钟脉冲控制进行。2)DMA方式15基本
6、概念CPU和外围设备之间信息交换的方式nCPU和外设之间信息交换的方式:n程序查询方式n程序中断方式n直接内存访问(DMA)方式n通道方式n外围处理机方式16基本概念CPU和外围设备之间信息交换的方式I/O设备控制方式主要由程序实现主要由附加硬件实现 程序 查询方式程序 中断方式DMA方式通道方式PPU方式17程序查询方式基本概念n程序查询方式:通过由I/O指令所编的程序,来 控制主机与外设之间的信息传送。n工作过程:先由主机通过启动指令启动外设工作 ,启动后主机用测试指令不断查询外设工作是否完成 ,一旦外设工作完成,就可进行数据传送了。n特点:这种方式控制简单,但是主机和外设是串 行工作的。
7、当外设速度很慢时,主机大量时间被消耗 在测试等待中,使主机不能充分发挥效率。18程序查询方式基本概念CPU存储器I/O控制器外设状态位CPU需要不断监测状态位以确定是否该做下一个I/O操作。由于CPU比I/O设备快得多,所以轮询就要浪费大量的CPU时间。19程序查询方式程序流程图设置计数值设置内存缓冲区首址启动外设传送一个数据修改内存地址结束I/O传送修改计数器准备好?传送完?程序查询 方式的程序 流程图否 是是否20程序中断方式n中断:是指CPU中止现行程序的执行,转而执 行另一个更紧迫事件的程序,一旦处理完毕, 自动返回原来被中断的程序。n中断技术的出现,提供了一种以响应外部异 常事件而改
8、变状态流程的有效手段,它支持了 多重程序的运行及多个用户同时共享整个计算 机资源,充分发挥了计算机的高速处理和实时 处理能力,以及自动处理机内部故障的能力。21程序中断方式基本概念n中断的基本概念n中断问题的提出n中断类型n多重中断和单级中断n中断的功能22n中断问题的提出:n在程序查询方式中,CPU和外设的工作是串行 的,当CPU和外设交换信息时,就把CPU的控制权 交给了该设备,而CPU只能做测试等待,直到外 设工作完成。CPU的大部分工作时间被浪费了。n假若CPU在启动外设工作后,设备释放对CPU 的控制权使CPU继续工作,当外设工作完成后向 CPU发中断请求信号,若CPU响应中断,则停
9、止正 在执行的程序,转中断服务程序为该程序服务, 这样就能实现CPU和外设并行工作,使CPU的效率 充分发挥。程序中断方式基本概念23程序中断方式基本概念n中断类型:n按中断处理方法分类:n程序中断:主机响应中断请求后 ,通过执行一段程序来处理有关的事宜。n简单中断:主机响应中断请求后, 不需要执行服务程序,而是让出一个或几 个主存周期,使I/O设备和主存直接交换 数据 。24程序中断方式基本概念n按中断源分类:n强迫中断:是随机产生的。产生强迫中断的中 断源有四个方面:n内中断:由硬件故障及程序故障引起的中断 。n外中断:是由系统配置的外部设备引起的中 断。n正在执行着的现行程序所引起的中断
10、。n处理机之间的中断。n自愿中断(程序自中断):事先在程序某初设 置断点,并借用中断处理方式保护现场,引出一段 服务程序。25程序中断方式基本概念n按中断源是否提供向量地址分类:n向量中断:CPU响应中断后,由中断机构自 动地将向量地址通知处理机,由向量地址指明中 断向量位置并实现向量切换,不必经过处理程序 来查询中断源的中断功能,称为向量中断 。n非向量中断:是不能直接提供中断服务程序 的入口地址,而要采用软件查询措施最后找到服 务程序入口地址,然后再转入相应的中断服务程 序。26程序中断方式基本概念多级中断和单级中断:n单级中断:在执行中断的过程中,如 果只能为本次中断服务,不允许打断服务
11、 程序,只有在服务程序完成后,才能响应 新的请求,称为单级中断。n多级中断:如在一次服务程序执行中 ,允许优先级高的中断级别低的中断服务 程序,在保存断点和现场后,转去响应优 先级别更高的中断程序,并执行新的中断 服务程序。主程序第1中断服务程序第2中断服务程序27n根据系统的配置不同,多级中断可分为一维多 级中断和二维多级中断。n一维多级中断是指每一级中断里只有一个中断 源,而二维多级中断是指每一级中断里又有多个 中断源。程序中断方式基本概念28程序中断方式基本概念n中断功能:n引入中断系统后,可使CPU和I/O设备并行工 作,从而大大提高了CPU的工作效率。n利用中断来处理故障,提高了机器
12、的可靠性 。n利用中断进行实时处理。实时处理是指在某 个事件或现象出现的实际时间内及时地进行处理 ,而不是积压起来再进行批处理。n利用中断进行人机对话。n实现多道程序的运行,需要借助于中断系统 。29程序中断方式中断的基本接口n中断的基本接口:n工作标志触发器BSn就绪标志触发器RDn允许中断触发器EIn中断请求触发器IRn中断屏蔽触发器IM30程序中断方式中断的基本接口控制IMIR公用寄存器PCIR0 1 BSEIRD数据缓冲寄存器中断向量逻辑设备选择动作开始动作结束传送数据CPU接口设备31程序中断方式中断的基本接口n各个触发器的具体功能:n准备就绪标志(RD):一旦设备做好一次 数据的接
13、受和发送,便发出一个设备动作完毕 信号,使RD标志置“1”。n允许中断触发器(EI):可以用程序指令 来置位。EI为1时,某设备可以向CPU发出中断 请求;EI为0时,不能向CPU发出中断请求。这 意味着某中断源被禁止。32程序中断方式中断的基本接口n中断请求触发器(IR):暂存中断请 求线上由设备发出的中断请求信号。当 IR为“1”时,表示设备发出了中断请求 。n中断屏蔽触发器(IM):是CPU是否 受理中断或批准中断的标志。IM为“0” 时,CPU可以受理外界的中断请求,反之 ,CPU 不受理外界的中断。33程序中断方式中断的基本接口控制IMIR公用寄存器0 1 BSEIRD数据缓冲寄存器
14、中断向量逻辑设备选择PCIR动作开始动作结束传送数据动作开始数据缓冲寄存器传送数据12345动作结束67PCIR8公用寄存器10934程序中断方式中断结构n中断过程:n中断过程由中断请求、中断响应、状态保 存、中断屏蔽、中断处理、恢复和返回组成。n中断源:n中断源是引起中断的事件及发生中断请求 的来源。n中断结构:是指处理机与设备、设备与设备之间 在中断系统中互相连接的关系。35程序中断方式中断结构n中断结构n中断请求的提出n中断请求的传送和中断的优先排队36程序中断方式中断结构n中断请求的提出:n中断申请:由中断源向处理机发出的中 断请求,称为中断请求。中断源发中断请求 要满足两个条件:n外
15、设工作已经完成。n该外设的中断没有被系统屏蔽。37程序中断方式中断结构n中断请求的传送和中断的优先排队:n中断源的优先权n几种排队判优的方法n单线请求软件查询判优n单线请求菊花链响应n多线请求判优响应n多线请求菊花链响应38程序中断方式中断结构n中断源的优先权:n在各种类型的中断请求中:n一般是故障引起的中断最优先;n其次是简单中断及I/O程序中断。n在I/O程序中断中:n一般高速外设优先级高于低速外设的 优先级;n输入设备的优先级高于输出设备的优 先级。39程序中断方式中断结构n排队判优的方法:n单线请求软件查询判优:所有的设备的中 断请求连到一根公用的中断请求线IRQ上。40CPU I/OI/O程序中断方式中断结构具有公共请求线的中 断请求传送方案保存断点和现场有0#的 中断请求?有1#的 中断请求?有n#的 中断请求?恢复现场执行0#设备 中断服务程序执行1#设备 中断服务程序执行n#设备 中断服务程序是否 是否是否软件查询中断源IRQ41程序中断方式中断结构n单线请求菊花链响应:n各设备的中断请求仍公用一根请求线来传送, 当CPU接到中断请求后设备的优先级不是用查询程 序依排队次序来决定,而是用硬件排队线路来代 替软件排队。即用硬接线逻辑将设备连在中断响 应线INACK上,使优先级最高的设备离CPU最近。42CPUINACK1# 设备2# 设备