电子科技大学计算机操作系统课件第五章 设备管理.pptVIP

  • 42
  • 0
  • 约7.99千字
  • 约 78页
  • 2019-05-06 发布于广东
  • 举报

电子科技大学计算机操作系统课件第五章 设备管理.ppt

第五章 设备管理 5.1 I/O系统 5.1.1 I/O设备 一、类型 (1)按速度分: 低:键盘 中:打印机 高:磁盘。 (2)按信息交换单位分: 块:磁盘,可定位 字符:打印机、串口 5.1 I/O系统 5.1.1 I/O设备 一、类型 (3)按设备的共享属性分: 独占:如临界资源 共享:磁盘 虚拟:如本身因有属性为独占,但将其虚拟为几个逻辑设备。 二、设备与控制器之间的接口:(图5.1) CPU―――控制器―――设备 三种信号: (1)数据信号:——双向,有缓存 (2)控制信号:控制器发给设备;要求其完成相关操作 (3)状态信号:设备发给控制器,后者“显示”; 5.1.2 设备控制器 一、功能:接收CPU命令,控制I/O设备工作,解放CPU. 1.接收和识别命令。 应有相应的Register来存放命令(“命令寄存器”) 2.数据交换 CPU——控制器的数据寄存器——设备 3.设备状态的了解和报告 设备控制器中应用“状态寄存器” 4.地址识别 CPU通过“地址”与设备通信,设备控制器应能识别它所控制的设备地址以及其各寄存器的地址。 5.1.2 设备控制器 一、功能:接收CPU命令,控制I/O设备工作,解放CPU, 5.数据缓冲 6.差错控制 二、组成(图5.2) 各类寄存器:数据、命令、状态 信号线:数据线(独立寻址、内存寻址)、地址线、控制线 I/O逻辑:在其控制下完成与CPU、设备的通信。 5.1.3 I/O通道 一、引入 通道 一种特殊的执行I/O指令的处理机,与CPU共享内存,可以有自己的总线。 引入目的 解脱CPU对I/O的组织、管理。 CPU只需发送I/O命令给通道,通道通过调用内存中的相应通道程序完成任务。 5.1.3 I/O通道 二、类型 1.字节多路通道:(图5-3) 各子通道以时间片轮转方式共享通道,适用于低、中速设备。 2.数组选择通道: 无子通道,仅一主通道,某时间由某设备独占,适于高速设备。 但通道未共享,利用率低。 3.数组多路通道: 在图5-3中,多子通道不是以时间片方式,而是“按需分配”,综合了前面2种通道类型的优点。 5.1.3 I/O通道 三、通道“瓶颈”问题: 解决:采用复联方式 图5.4 5.1.4 总线系统 微机I/O系统 5.1.4 总线系统 二、主机I/O系统(四级结构) 计算机―――I/O通道―――I/O控制器―――设备 I/O通道相当于对总线的扩展,即多总线方式,且通道有一定的智能性,能与CPU并行,解决其负担。 ISA/EISA/LocalBUS/VESA/PCI 5.2 I/O控制方式 四个阶段: 程序I/O——中断I/O——DMA控制——通道控制。 趋势:提高并行度。 5.2.1 程序I/O(忙—等待方式) 查询方式:CPU需花代价不断查询I/O状态(图5-7a) CPU资源浪费极大。 例:99.9ms+0.1ms=100ms 在5.2.1中99.9在忙等 5.2.2 中断I/O 向I/O发命令——返回——执行其它任务。 I/O中断产生——CPU转相应中断处理程序。 如:读数据,读完后以中断方式通知CPU,CPU完成数据从I/O——内存 5.2.3 DMA方式——用于块设备中 一、引入 中断I/O,CPU“字节”干预一次,即每“字节”传送产生一次中断。 DMA:由DMA控制器直接控制总线传递数据块。DMA控制器完成从I/O——内存。 图5.7c 二、组成 一组寄存器+控制逻辑。图5.8 CR(命令/状态); DR(数据); MAR(内存地址); DC(计数) DMA工作过程(例): Direct Memory Access DMA DMA DMA 5.2.4 I/O通道控制方式 DMA方式:对需多离散块的读取仍需要多次中断。 通道方式:CPU只需给出 (1)通道程序首址。 (2)要访问I/O设备 后,通道程序就可完成一组块操作 5.3 缓冲管理 目的:组织管理、分配、释放buffer 5.3.1 引入 1.缓和CPU和I/O设备间速度不匹配的矛盾。 如:计算——打印buffer——打印 2.减少对CPU的中断频率 如:buffer越大,“buffer满”信号发生频率越低。 3.提高CPU和I/O并行性 5.3 缓冲管理 5.3.2 单缓冲 5.3 缓冲管理 5.3.2双缓冲 5.3 缓冲管理 5.3.3 循环多缓冲 循环多缓冲的使用 nextg:指示下一个应取数据的buf nexti:指示下一个空buf. Getbuf: 取nextg对应缓冲区提供使用,将Nextg置为空,Nextg=(Nextg+1)Mod N 将Nexti对应缓冲区提供使用,将Nexti置为满,Nexti=

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档