从程序员的角度简单介绍I/O的硬件组成和原理。
操作系统的主要功能之一是控制所有的输入输出,必须向设备发出指令,捕获中断并进行错误处理,还要提供一个设备与系统其余部分简单的接口。
I/O设备
I/O设备在速度上覆盖了巨大的范围,这给数据传输的性能保持上造成了巨大压力。
按交互对象分类
- 人机交互设备:视频显示设备、键盘、鼠标、打印机
- 与计算机或其他电子设备交互的设备:磁盘、磁带、传感器、控制器
- 计算机间的通信设备:网卡、调制解调器
按交互方向分类
- 输入(可读):键盘、扫描仪
- 输出(可写):显示设备、打印机
- 输入/输出(可读写):磁盘、网卡
按外设特性分类
- 使用特征:存储、输入/输出、终端
- 数据传输率:低速(如键盘)、中速(如打印机)、高速(如网卡、磁盘)
- 信息组织特征:单个字符或数据块
- 字符设备(如打印机、管道)
- 无法编址,也不存在寻址操作
- 块设备(如磁盘)
- 能够独立的读写单个数据块
设备控制器
I/O设备通常包含一个机械部件和一个电子部件。为了达到设计的模块性和通用性,一般将其分开。电子部分称为设备控制器(device controller)或适配器(adapter)。
操作系统主要和控制器打交道,而不是设备本身。
任务
控制器负责将驱动器读出来的比特流转换成字节块

本文从程序员角度介绍了I/O硬件的分类和原理,包括输入输出设备的交互对象、方向和特性。详细讨论了设备控制器的任务,如比特流转换,并解析了内存映射I/O、中断、直接存储器存取(DMA)和通道控制方式,阐述了它们在CPU参与程度、数据传输效率等方面的特点。
最低0.47元/天 解锁文章
1930

被折叠的 条评论
为什么被折叠?



