文章目录
-
- [7.1 I/O 设备原理](#7.1 I/O 设备原理)
-
- [1. 设备的类别与概念](#1. 设备的类别与概念)
-
- [(1) 基本概念](#(1) 基本概念)
- [(2) 设备的分类 (按使用特性)](#(2) 设备的分类 (按使用特性))
- [2. 设备管理的设计目标](#2. 设备管理的设计目标)
-
- [(1) 向用户提供方便的统一接口 (User Interface)](#(1) 向用户提供方便的统一接口 (User Interface))
- [(2) 提高各种设备的使用效率](#(2) 提高各种设备的使用效率)
- [(3) 统一的管理方法](#(3) 统一的管理方法)
- [3. 设备管理的主要功能](#3. 设备管理的主要功能)
-
- [(1) 记录设备的管理信息](#(1) 记录设备的管理信息)
- [(2) 实施设备分配](#(2) 实施设备分配)
- [(3) 完成 I/O 操作](#(3) 完成 I/O 操作)
- [(4) 缓冲管理与地址转换](#(4) 缓冲管理与地址转换)
- 知识点关联记忆
前言 :
计算机系统中,除了 CPU 和内存,其余部分均为外设。设备管理的任务最为繁杂,源于设备种类繁多且速度差异极大。
本章内容:实现用户能以操作文件的方式简便地操作各种复杂硬件设备。
7.1 I/O 设备原理
1. 设备的类别与概念
(1) 基本概念
- 外设 (I/O Device) :计算机系统中,通常将处理机 (CPU) 与 主存储器 (Memory) 之外的部分定义为外设。
- 设备管理的职责 :对种类繁多的 I/O 设备进行管理和控制,以实现用户对各类设备的高效、统一、简便使用。
(2) 设备的分类 (按使用特性)
为便于管理,设备通常按功能和使用特性进行分类结构化:

- 存储设备 :主要用于信息存储。
- 磁带
- 磁盘(软盘、硬盘)
- 其他(光盘、磁鼓等)
- 输入输出设备 :用于人机交互或数据转换。
- 键盘、显示器、打印机
- 图形/图像输入输出设备
- 音频设备、网络通信板等
- 终端设备 :
- 通用终端(对话型、批处理型)
- 专用终端、虚终端
- 脱机设备:不直接由主机控制的设备。
2. 设备管理的设计目标
操作系统设计设备管理模块,主要为实现以下三个目标:
(1) 向用户提供方便的统一接口 (User Interface)
此目标最为重要,即实现设备独立性。
- 屏蔽物理细节:使用户无需了解具体设备的物理特性,例如磁盘磁头运转或打印机针头工作方式。
- 虚拟设备:用户程序中使用逻辑设备(虚拟设备),系统在后台负责将其映射至物理设备(实设备)。
- Linux/UNIX 哲学 :在 Linux 系统中,外设被视为特殊文件处理 ,与普通文件统一管理(即"一切皆文件")。用户可通过
read、write等系统调用来操作硬件。
(2) 提高各种设备的使用效率
- 并行性 :
- 提高 CPU 与外设 之间的并行程度(避免 CPU 空等 I/O 完成)。
- 提高 外设与外设 之间的并行程度。
(3) 统一的管理方法
- 尽管外设差异显著,操作系统应尽可能采用统一的策略和数据结构进行管理,以使系统更简练、易于维护。
3. 设备管理的主要功能
为实现上述目标,设备管理程序需完成以下具体工作:
(1) 记录设备的管理信息
- 核心数据结构 :设备控制块 (DCB, Device Control Block)。
- 作用:类似于进程管理中的 PCB 和文件管理中的 FCB,DCB 记录了设备的详细信息(如状态、类型、等待队列等),便于系统有效管理。
(2) 实施设备分配
- 冲突解决:当请求使用某种设备的进程数大于实际设备数时,系统需依据特定策略(如先来先服务、优先级等)决定设备分配。
(3) 完成 I/O 操作
- 驱动执行 :根据用户需求调用相应的设备驱动程序。
- 硬件控制:启动相应设备进行 I/O 操作。
- 中断处理:处理来自设备的中断信号(如键盘输入完成、磁盘读写完成)。
(4) 缓冲管理与地址转换
- 缓冲技术:此为解决 CPU(高速)与外设(低速)速度不匹配问题的关键技术。
知识点关联记忆
为便于复习,可将操作系统的"三大控制块"进行关联记忆:
| 管理模块 | 核心对象 | 核心数据结构 | 英文缩写 |
|---|---|---|---|
| 进程管理 | 进程 | 进程控制块 | PCB |
| 文件管理 | 文件 | 文件控制块 | FCB |
| 设备管理 | 设备 | 设备控制块 | DCB |
本节小结 :
7.1 节主要引入基本概念。重点在于理解设备管理的必要性 (旨在提供统一接口、提高效率)以及操作系统对设备的视角(分为存储、IO等类别,并通过DCB记录状态)。