IO设备根据数据的存取和传输进行的分类

一、 常见的I/O设备有哪些?

首先,我们可以按功能直观地列举一些常见的I/O设备:

人机交互设备 (Human Interface Devices):

输入: 键盘、鼠标、触摸板、触摸屏、麦克风、摄像头、扫描仪。

输出: 显示器、打印机、音箱、耳机、投影仪。

存储设备 (Storage Devices):

硬盘驱动器(HDD)、固态硬盘(SSD)、U盘、SD卡、光驱(CD/DVD/Blu-ray)、磁带机。

网络通信设备 (Network Communication Devices):

网卡(NIC)、调制解调器(Modem)、Wi-Fi适配器、蓝牙适配器。

其他设备:

各种传感器(如温度、GPS)、时钟、定时器等。

二、 I/O设备的分类、特点及举例

尽管I/O设备五花八门,但从操作系统I/O子系统的角度看,最重要、最根本的分类方式是根据其数据交换的单位和特性来划分。主要分为以下三大类:

1. 块设备 (Block Devices)

核心特点:

数据单位: 信息存储在大小固定的**块 (Block)**中。块是这类设备进行数据读写的基本单位。

可寻址性: 每个块都有自己唯一的地址。你可以直接访问任意一个块,而无需访问它前面的块。

访问方式: 支持随机访问 (Random Access) 或直接访问。可以进行seek操作来定位到任意块。

I/O命令: 其接口中的命令通常是“读/写一整块”或“读/写连续的多个块”。

独立性: 通常是可以独立于操作系统工作的设备(例如,你可以把一块硬盘拆下来装到另一台电脑上)。

传输速率: 通常较高。

典型设备举例:

硬盘驱动器 (HDD)

固态硬盘 (SSD)

U盘、SD卡等闪存设备

光盘 (CD/DVD/Blu-ray)

本质上,所有用于持久化存储、构成文件系统的设备,都是块设备。

2. 字符设备 (Character Devices)

核心特点:

数据单位: 数据以字符 (Character)或字节 (Byte) 为单位,形成一个数据流。

可寻址性: 不可寻址。它不具备块的概念,你无法直接定位到“第n个字节”。

访问方式: 主要是顺序访问 (Sequential Access)。数据像水流一样,只能一个接一个地被读取或写入。通常不支持seek操作。

I/O命令: 其接口中的命令是get(获取一个字符)或put(发送一个字符)。操作系统和库函数通常会对此进行缓冲,使用户可以按行读写。

传输速率: 差异极大,从很慢(键盘)到很快(显卡帧缓冲)都有可能。

典型设备举例:

键盘、鼠标: 产生一个字符/坐标的数据流。

打印机: 接收一个字符流并打印。

串行端口 (COM): 在设备间传输字节流。

声卡: 产生或接收音频采样数据流。

本质上,所有以数据流方式进行交互的、非存储类的设备,大多属于字符设备。

3. 网络设备 (Network Devices)

核心特点:

网络设备足够特殊,以至于操作系统通常将其作为独立的一类来处理,而不是简单归为块设备或字符设备。

数据单位: 数据以大小可变的网络包 (Packet) 为单位进行交换。

寻址方式: 它有自己独特的地址(如MAC地址、IP地址),但这不是块地址。

访问方式: 它的接口(API)与前两者完全不同。程序员不使用标准的read/write,而是使用专门的套接字接口 (Socket API),如send()和receive()。

交互特性: 交互是异步和不可靠的(对于UDP等协议)。数据包可能丢失、乱序或重复。需要复杂的协议栈(如TCP/IP)来处理这些问题。

典型设备举例:

以太网卡 (NIC)

Wi-Fi 适配器

蜂窝网络调制解调器 (Cellular Modem)

总结与对比表格

特性

块设备 (Block Device)

字符设备 (Character Device)

网络设备 (Network Device)

基本数据单位

块 (Block),大小固定

字节/字符 (Byte/Character),形成数据流

包 (Packet),大小可变

是否可寻址

是,每个块都有唯一的地址

是,但使用IP/MAC等网络地址

主要访问方式

随机访问 (Random Access)

顺序访问 (Sequential Access)

面向报文/流 (Message/Stream Oriented)

标准I/O接口

read, write, seek

read, write (通常不支持seek)

独立的套接字(Socket)接口 (send, receive)

典型设备

硬盘 (HDD/SSD)、U盘、光驱

键盘、鼠标、打印机、串口

网卡、Wi-Fi适配器

胶带是什么垃圾(生活垃圾一般可分为四大类)
富山县的寒狮鱼,日本活得最累的一条鱼
Copyright © 2022 2018世界杯时间_世界杯百大球星 - gonhee.com All Rights Reserved.