I/O控制方式
I/O设备
现代计算机系统总是配有各种类型的外部设备,除了显示器、键盘、打印机、磁带、磁盘外,又出现了光盘、绘图仪、图形数字化仪、鼠标器、激光打印机、声音输入输出设备等,种类繁多。不同外设之间的差异较大,因此I/O性能经常成为系统的瓶颈。
操作系统设备管理的目标包括:
-
向用户提供使用外部设备的方便、统一的接口,按照用户的要求和设备的类型,控制设备工作,完成用户的输入输出请求。方便是指用户能独立于具体设备的复杂物理特性而方便地使用设备;统一是指对不同设备尽量能统一操作方式。方便和统一要求对用户屏蔽实现具体设备I/O操作的细节,呈现给用户的是一种性能理想化的、操作简便的逻辑设备。系统的这种性能亦称为设备的独立性(设备无关性)。
-
充分利用中断技术、通道技术和缓冲技术,提高CPU与设备、设备与设备间的并行工作能力,充分利用设备资源,提高外部设备的使用效率。
-
设备管理就是要保证在多道程序环境下,当多个进程竞争使用设备时,按照一定的策略分配和管理设备,以使系统能有条不紊地工作。
I/O控制方式
早期,计算机设计者没有将CPU的执行与I/O操作分开,甚至大多数人认为输入输出与计算的时间应该是同一数量级。后来,他们意识到,CPU要比I/O操作速度高几个数量级。于是,硬件和软件设计师开始寻找一种技术,使CPU计算可以不用等待I/O操作而持续执行。
I/O控制方式包括:
-
程序控制I/O(Programmed I/O):处理器代表一个进程给I/O模块发送一个I/O命令,该进程进入忙等待(busy waiting),直到操作完成。
-
中断驱动I/O(Interrupt I/O):处理器代表进程向I/O发送命令,如果来自进程的I/O指令是非阻塞的,那么处理器继续执行进程的后续指令。如果I/O指令是阻塞的,那么处理器执行来自操作系统的指令,将当前进程设置为阻塞态并且调度其它进程。
-
直接存储器访问(DMA):DMA模块控制内存和I/O模块之间的数据交换。为传送一块数据,处理器给DMA模块发送请求,通常当整个数据块传送结束后,DMA模块通过中断向处理器报告完成。
跟踪一次I/O传送
解锁完整互动实验、进阶解析与精选参考答案。
知识测验
知识测验
比较CPU的工作
把Lab中的三种方式分别推进到最后一个时隙。记录CPU忙等时隙、其它计算时隙和中断次数。每种方式由谁搬运数据?如果I/O请求阻塞,是否所有进程都必须停止?