Skip to content

设备的基本概念与分类

考情分析

设备分类和设备控制器是 I/O 章节的基础概念,选择题偶有考查。🔥 低频但基础。

一台计算机连着键盘、磁盘、网卡几十种设备,速度从每秒几字节到几百兆字节横跨百万倍——OS 要管好这些设备,第一步是把它们分清楚。

I/O 设备的分类

按使用特性分类

类型说明示例
人机交互类用于人机通信键盘、鼠标、显示器、打印机
存储设备用于数据存储磁盘、磁带、光盘、U 盘
网络通信设备用于网络通信网卡、调制解调器

按传输速率分类

类型速率示例
低速设备几~几百字节/秒键盘、鼠标
中速设备几千~几万字节/秒打印机
高速设备几十万~几百万字节/秒磁盘、网卡

按信息交换单位分类

类型传输单位示例特点
块设备数据块(如 512B)磁盘、SSD可寻址,可随机访问
字符设备单个字符键盘、打印机、串口不可寻址,顺序访问

按共享属性分类

类型说明示例
独占设备一段时间内只允许一个进程使用打印机、磁带机
共享设备多个进程可同时(交替)访问磁盘
虚拟设备通过 SPOOLing 将独占设备改造为共享设备虚拟打印机

I/O 设备的组成

一个 I/O 设备由机械部件电子部件组成:

设备控制器(I/O 控制器)

设备控制器是 CPU 与 I/O 设备之间的中介,由以下部分组成:

组件功能
数据寄存器暂存要传输的数据
状态寄存器记录设备当前状态(忙/闲/出错)
控制寄存器接收 CPU 发来的控制命令
I/O 逻辑对 CPU 的命令进行译码,与设备通信

I/O 端口与编址

CPU 通过I/O 端口地址访问设备控制器中的寄存器:

编址方式说明
独立编址(I/O 映射)I/O 端口有独立的地址空间,使用专用 I/O 指令(in/out)
统一编址(内存映射)I/O 端口被映射到内存地址空间,使用普通访存指令
比较独立编址统一编址
指令专用 I/O 指令普通访存指令
地址空间独立占用内存地址空间
优点不占内存地址编程灵活,无需专用指令

I/O 通道

通道是专门用于 I/O 操作的处理器,可以独立于 CPU 执行 I/O 操作。通道就像公司里的行政助理——老板(CPU)只需一句"把这批文件寄出去",助理自己跑完整个流程,完事儿再汇报。

类型特点
字节多路通道以字节为单位轮流为多个慢速设备服务
数据选择通道一次只服务一个高速设备,传完后再服务下一个
数据多路通道结合以上两种,以数据块为单位轮流服务

考研高频考点

  • 🔥🔥 块设备 vs 字符设备的区别
  • 🔥🔥 设备控制器的组成(数据/状态/控制寄存器 + I/O 逻辑)
  • 🔥 独立编址 vs 统一编址
  • 🔥 独占设备 vs 共享设备

设备分好类、控制器搭好桥,下一个问题就是:CPU 怎样和这些设备交换数据?下一篇来看四种 I/O 控制方式的演进。

真题练习

相关真题(1题)

2026Q31选择题2分

设备驱动:字符设备和块设备使用不同的I/O方式