1.62k likes | 1.79k Views
CH5 设备管理. 设备管理具有以下功能. • 缓冲区管理 • 外围设备的分配 • 外围设备驱动调度 • 虚拟设备及其实现 • 设备中断处理. 5.1 I/O 系统 (1). I/O 系统: I/O 设备及其接口线路、控制部件、通道和管理软件的总称。 I/O 操作:计算机的主存和外围设备的介质之间的信息传送操作。. I/O 的特点. 1.I/O 性能经常成为系统性能的瓶颈 (1)CPU 性能不等于系统性能 响应时间也是一个重要因素 (2)CPU 性能越高,与 I/O 差距越大 弥补:更多的进程 (3) 进程切换多,系统开销大.
E N D
设备管理具有以下功能 •缓冲区管理 •外围设备的分配 •外围设备驱动调度 •虚拟设备及其实现 •设备中断处理
5.1 I/O系统(1) • I/O系统:I/O设备及其接口线路、控制部件、通道和管理软件的总称。 • I/O操作:计算机的主存和外围设备的介质之间的信息传送操作。
I/O的特点 1.I/O性能经常成为系统性能的瓶颈 (1)CPU性能不等于系统性能 响应时间也是一个重要因素 (2)CPU性能越高,与I/O差距越大 弥补:更多的进程 (3)进程切换多,系统开销大
2.操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O2.操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O 外设种类繁多,结构各异 输入输出数据信号类型不同 速度差异很大 3.理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键 4.与其他功能联系密切,特别是文件系统
设备的分类 1.按使用特性分 存储型设备 输入型设备(外设主机) 输出型设备(主机外设) 输入输出型设备(交互型设备) 2.按信息交换的单位分 块设备 以数据块为单位存储、传输信息 字符设备 以字符为单位存储、传输信息
3.按外部设备的从属关系分 • 系统设备 指操作系统生成时,登记在系统中的标准设备 (如终端、打印机、磁盘机等) • 用户设备 指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理程序由用户提供,并将其纳入系统,由系统代替用户实施管理。 (如A/D,D/A转换器,CAD所用专用设备)
4.按设备的共享属性分 1)独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等) 2)共享设备 在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。(如硬盘)
3)虚设备 • 在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备 • 目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率 • 实例:SPOOLing技术,利用虚设备技术 ——用硬盘模拟输入输出设备)
SPOOLing技术 为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提出的一种设备管理技术。
设备的分类(续) 5.从程序使用角度分 逻辑设备 物理设备 6.按数据传输率分 高速设备 低速设备
2.设备与控制器之间的接口 • 操作系统基本上与控制器打交道,而非设备本身。 • 多数PC的CPU和控制器之间的通信采用单总线模型,CPU直接控制设备控制器进行I/O; p145
5.1.2设备控制器 • I/O设备包括一个机械部件和一个电子部件。为了达到设计的模块性和通用性,一般将其分开。 • 电子部件称为设备控制器或适配器,在PC中,它常常是插入主板扩充槽的印刷电路板; • 机械部件则是设备本身。
设备控制器 • 设备的I/O地址分配由控制器上的总线解码逻辑完成。 • 控制器通过中断通知CPU已经做好准备,寄存器可以读写。
设备控制器 • OS通过向控制器寄存器写命令字来执行I/O功能。 • 控制器接受一条命令后,CPU可以转向其它工作,而设备控制器自行完成具体的I/O操作。 • 当命令执行完毕后,控制器发出一个中断信号,以便OS重新获得CPU的控制权并检查执行结果。
设备控制器 • 设备控制器是CPU和设备之间的一个接口,它接收从CPU发来的命令,控制I/O设备操作,实现主存和设备之间的数据传输。 • 设备控制器是一个可编址设备,当它连接多台设备时,则应具有多个设备地址。
设备控制器功能 • 设备控制器的基本功能: ①接收和识别CPU或通道发来的命令; ②实现数据交换,包括设备和控制器间的数据传输; ③发现和记录设备及自身的状态信息,供CPU处理使用; ④设备地址识别。 ⑤数据缓冲 ⑥差错控制
2.设备控制器组成部分: • 命令寄存器及译码器, • 数据寄存器, • 状态寄存器, • 地址译码器, • 用于对设备操作进行控制的I/O逻辑。
5.1.4总线技术 新一代计算机出现,带来了总线技术的更新 1.总线的基本概念: 在计算机系统内各种子系统,如CPU、内存、I/O设备等之间构建公用的信号或数据传输通道,这种可共享连接的传输通道称为总线。
2. 总线的分类 CPU-内存总线 (非本课程范围) 总线的分类 数据总线 I/O总线 地址总线 控制总线
…... USB总线 PCI总线 VESA总线 (?) EISA总线 MCA总线 (?) ISA总线 (过时) PC/XT总线 微型计算机 总线的种类和发展 SCSI总线 1394总线
3.USB技术 USB(Universal Serial Bus)通用串行总线,是一种连接I/O串行设备的技术标准 • 冲破了计算机技术发展的两个历史局限性: (1)由于I/O设备的接口标准的不一致和有限的接口数量已无法满足各种应用迫切需要 (2)传统的I/O设备的接口无法满足实时数据传输与多媒体应用的需求 • USB以WDM(Windows Driver Model)模型为基础,WDM包含一套通用的I/O服务和二进制兼容的设备驱动程序
USB支持同步数据传输方式和异步数据传输方式,其数据传输率有低速1.5Mbps和全速12Mbps两种,比标准串口快100倍,比标准并口快10倍USB支持同步数据传输方式和异步数据传输方式,其数据传输率有低速1.5Mbps和全速12Mbps两种,比标准串口快100倍,比标准并口快10倍 • USB可以主动为外部设备提供电源,允许外部设备快速连接,具有即插即用的功能 • 允许外部设备的热插拔
1) USB的结构 • 控制器:控制器主要负责执行由控制器驱动程序发出的命令 • 控制器驱动程序:控制器驱动程序在控制器与USB设备之间建立通信信道 • USB芯片驱动程序:USB芯片驱动程序提供了对USB的支持 • USB设备分为两类: (1)USB集线器:本身可再接其他USB外围设备 (2)USB设备:连接在计算机上用来完成特定功能并符合USB规范的I/O设备单元,如鼠标、键盘等
2) USB的传输方式 4种不同的数据传输方式: (1)等时传输方式 以固定的传输速率,连续不断传输数据,发生错误时,USB不处理,而是继续传送新的数据。用于需要连续传输,且对数据的正确性要求不高而对时间极为敏感的外部设备,如麦克风、音箱以及电话等 (2)中断传输方式 该方式传送的数据量很小,但这些数据需要及时处理,以达到实时效果,此方式主要用在键盘、鼠标以及游戏手柄等外部设备上
USB的传输方式(续) (3)控制传输方式 处理主机的USB设备的数据传输,包括设备控制指令、设备状态查询及确认命令。当USB设备收到这些数据和命令后将按照先进先出的原则按队列方式处理到达的数据 (4)批传输方式 用来传输要求正确无误的数据。通常打印机、扫描仪和数码相机以这种方式与主机连接 • 除等时传输方式外,其他3种方式在数据传输发生错误时,都会试图重新发送数据以保证其准确性
4.SCSI接口技术 • 小型计算机系统接口 • (Small Computer System Interface) • 一个SCSI I/O设备控制器 • 可将新型高速I/O设备增加到计算机系统中 • SCSI 设备控制器的智能化I/O控制 • 降低了计算机系统的负担 • 使计算机系统具有更高的I/O能力
5.即插即用技术(Plug and Play) • 计算机系统I/O设备与部件配置的应用技术 • 顾名思义: 插入就可用,不需要进行任何设置操作
1) PnP技术的产生 由于一个系统可以配置多种外部设备,设备也经常变动和更换,它们都要占有一定的系统资源,彼此间在硬件和软件上可能会产生冲突。因此在系统中要正确地对它们进行配置和资源匹配;当设备撤除、添置和进行系统升级时,配置过程往往是一个困难的过程。
2) PnP技术的特点 (1)支持I/O设备及部件的自动配置,使用户能够简单方便地使用系统扩充设备 (2)减少由制造商装入的种种用户支持和限制,简化部件的硬件跳接设置,使I/O附加卡和部件不再具有人工跳接线设置电路 (3)在主机板和附加卡上保存系统资源的配置参数和分配状态,有利于系统对整个I/O资源的分配和控制 (4)支持和兼容各种操作系统平台,具有很强的扩展性和可移植性。 (5)在一定程度上具有“热插入”、“热拼接”技术
3) PnP技术的功能及支持 功能: (1)附加卡的识别与确认 (2)资源分配 (3)附加卡自动配置 多方面的支持:具有PnP功能的操作系统、配置管理软件、软件安装程序、设备驱动程序等;网络设备的PnP支持;系统平台的支持(如:PnP主机板、控制芯片组和PnP BIOS等);各种支持PnP规范的总线的I/O控制卡和部件
5.2 I/O控制方式 • 按照I/O控制器功能的强弱,以及和CPU之间联系方式的不同,对I/O设备的控制方式分类, • 主要差别在于:中央处理器和外围设备并行工作的方式不同,并行工作的程度不同。
1 询问方式(1) • 询问方式又称程序I/O直接控制方式,在这种方式下,输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。
设置计数值 传送一个字 设置内存缓冲首址 修改内存地址 启动外设 修改计数值 就绪 完 是 是 结束I/O 询问方式(2)
询问方式(3) • 一旦CPU启动I/O设备,便不断查询I/O设备的准备情况,终止原程序的执行,浪费CPU时间; • I/O准备就绪后,CPU参与数据传送工作,而不能执行原程序, • CPU和I/O设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统效率很低。
2 中断方式(1) • CPU启动I/O设备后,不必查询I/O设备是否就绪,继续执行现行程序。 • 直到在启动指令后的某条指令,响应了I/O中断请求,CPU才转至I/O中断处理程序执行。
中断方式(2) • 中断处理程序中,CPU全程参与数据传输操作,它从I/O接口读一个字(字节) 并写入主存,如果I/O设备上的数据尚未传送完成,转向现行程序再次启动I/O设备,重复上述过程;否则,中断处理程序结束后,继续从K+1条指令执行。
中断方式(4) • I/O操作直接由CPU控制,每传送一个字符或字,要发生一次中断,仍然消耗大量CPU时间。 • 程序中断方式I/O,不必忙式查询I/O准备情况,CPU和I/O设备可实现部分并行,与程序查询的串行工作方式相比,使CPU资源得到较充分利用。
3 DMA方式(1) • 如果I/O设备能直接与主存交换数据而不占用CPU,CPU的利用率还可提高,这就出现了直接存储器存取DMA方式。
DMA方式(2) DMA至少需要以下逻辑部件 • 主存地址寄存器 • 字计数器 • 数据缓冲寄存器或数据缓冲区 • 设备地址寄存器 • 中断机制和控制逻辑
5.5.4.DMA 技术 1. DMA 方式与中断的主要区别 • 中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理 • DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行中断处理的次数 • 中断方式的数据传送是由CPU控制完成的 而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的
不用DMA时,磁盘如何读: • 首先,控制器从磁盘驱动器串行地一位一位地读一个块,直到将整块信息放入控制器的内部缓冲区中 • 其次,它做和校验计算,以核实没有读错误发生 • 然后控制器产生一个中断。CPU响应中断,控制转给操作系统。当操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息,并将其送入内存中
3.DMA工作原理——窃取总线控制权 • 存放输入数据的内存起始地址、要传送的字节数送入DMA控制器的内存地址寄存器和传送字节计数器,中断允许位和启动位置成1,启动设备 • 发出传输要求的进程进入等待状态 • 执行指令被暂时挂起,进程调度其他进程占据CPU • 输入设备不断窃取CPU工作周期,数据不断写入内存 • 传送完毕,发出中断信号 • CPU接到中断信号转入中断处理程序处理 • 中断处理结束,CPU返回原进程或切换到新的进程
5.5.4.DMA 技术 1. DMA 方式与中断的主要区别 • 中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理 • DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行中断处理的次数 • 中断方式的数据传送是由CPU控制完成的 而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的
不用DMA时,磁盘如何读: • 首先,控制器从磁盘驱动器串行地一位一位地读一个块,直到将整块信息放入控制器的内部缓冲区中 • 其次,它做和校验计算,以核实没有读错误发生 • 然后控制器产生一个中断。CPU响应中断,控制转给操作系统。当操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息,并将其送入内存中
3.DMA工作原理——窃取总线控制权 • 存放输入数据的内存起始地址、要传送的字节数送入DMA控制器的内存地址寄存器和传送字节计数器,中断允许位和启动位置成1,启动设备 • 发出传输要求的进程进入等待状态 • 执行指令被暂时挂起,进程调度其他进程占据CPU • 输入设备不断窃取CPU工作周期,数据不断写入内存 • 传送完毕,发出中断信号 • CPU接到中断信号转入中断处理程序处理 • 中断处理结束,CPU返回原进程或切换到新的进程
DMA 程序I/O 中断I/O
引入通道的目的 为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力
4 通道方式 • 为获得CPU和外围设备间更高的并行工作能力,也为了让种类繁多,物理特性各异的外围设备能以标准的接口连接到系统中,计算机系统引入了自成独立体系的通道结构。