18 操作系统第五章 设备管理 IO设备的基本概念和分类 IO控制器 IO控制方式 IO软件层次结构 IO核心子系统 假脱机技术 设备的分配与回收 缓冲区管理

1 IO设备的基本概念和分类

1.1 什么是I/O设备
  • I/O”就是“输入/输出”(Input/Output
  • I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。

UNIX系统将外部设备抽象为一种特殊的文件,用户可以使用与文件操作相同的方式对外部设备进行操作。

1.2 I/O设备分类

I/O设备按使用特性分类:

  1. 人机交互类外部设备:数据传输速度慢→鼠标、键盘、打印机等用于数据交互
  2. 存储设备:数据传输速度快→移动硬盘、光盘等用于数据存储
  3. 网络通信设备:数据传输速度介于上述二者之间→调制解调器等用于网络通信

I/O设备按传输速率分类:

  1. 低速设备→传输速率每秒几个到几百字节,如鼠标、键盘
  2. 中速设备→传输速率每秒数千到上万字节,如激光打印机
  3. 高速设备→传输速率为每秒数千字节至千兆字节,如磁盘

I/O设备按传输速率分类:

  1. 块设备:传输速率较高,可寻址,即对块设备它可随机地读/写任一块
  2. 字符设备:传输速率较慢,不可寻址,在输入/输出时常采用中断驱动方式

在这里插入图片描述

2 IO控制器

2.1 I/O设备组成

I/O设备由机械部件和电子部件组成,电子部件包括(I/O控制器、设备控制器)

  1. I/O设备的机械部件:
  • I/O设备的机械部件主要用来执行具体I/O操作。
    如我们看得见摸得着的鼠标/键盘的按钮;显示器的LED屏;移动硬盘的磁臂、磁盘盘面。
  • I/O设备的电子部件通常是一块插入主板扩充槽的印刷电路板。
  1. I/O设备的电子部件(I/O控制器)
  • CPU无法直接控制l/O设备的机械部件,因此I/0设备还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”,用于实现CPU对设备的控制。
  • 这个电子部件就是I/O控制器,又称设备控制器。CPU可控制I/O控制器,又由I/O控制器来控制设备的机械部件。
2.2 I/O控制器功能

在这里插入图片描述

2.3 I/O控制器的组成

在这里插入图片描述
值得注意的小细节:

  1. 一个I/O控制器可能会对应多个设备;
  2. 数据寄存器、控制寄存器、状态寄存器可能有多个
    (如:每个控制/状态寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像I/0;另一些计算机则采用I/O专用地址,即寄存器独立编址
2.4 寄存器编址方式

内存映像I/O VS 寄存器独立编址:
在这里插入图片描述

2.5 IO控制器小结

在这里插入图片描述

3 IO控制方式

IO控制总览:
在这里插入图片描述

3.1 程序直接控制方式

Key word:轮询

完成一次读/写操作的流程(以读操作为例):
在这里插入图片描述

  1. 完成一次读/写操作的流程(见下图,Key word:轮询)

在这里插入图片描述

  1. CPU干预的频率

很频繁,I/O操作开始之前、完成之后需要CPU介入,并且在等待l/0完成的过程中CPU需要不断地轮询检查。

  1. 数据传送的单位

每次读/写一个字

  1. 数据的流向

读操作(数据输入):I/O设备→CPUCPU寄存器)→内存
写操作(数据输出):内存→CPUI/0设备
每个字的读/写都需要CPU的帮助

  1. 主要缺点和主要优点

优点:实现简单。在读/写指令之后,加上实现循环检查的一系列指令即可(因此才称为“程序直接控制方式”)
缺点CPUI/O设备只能串行工作,CPU需要一直轮询检查,长期处于“忙等”状态,CPU利用率低。

3.2 中断驱动方式
  • 引入中断机制。由于I/O设备速度很慢,因此在CPU发出读/写命令后,可将等待I/O进程阻塞,先切换到别的进程执行。
  • I/O完成后,控制器会向CPU发出一个中断信号,CPU检测到中断信号后,会保存当前进程的运行环境信息,转去执行中断处理程序处理该中断。处理中断的过程中,CPUI/O控制器读一个字的数据传送到CPU寄存器,再写入主存。接着,CPU恢复等待I/O的进程(或其他进程)的运行环境,然后继续执行。

注意:

  1. CPU会在每个指令周期的末尾检查中断;
  2. 中断处理过程中需要保存、恢复进程的运行环境,这个过程是需要一定时间开销的。可见,如果中断发生的频率太高,也会降低系统性能。
  1. 完成一次读/写操作的流程(见下图,Key word:中断)

  1. CPU干预的频率

每次I/O</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值