Linux 将设备分成三种基本类型,分别概述如下:
1、字符设备
字符设备是个能像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现 open、close、read 和 write 系统调用。字符终端(/dev/console)和串口(/dev/tty0以及类似设备)就是两个字符设备,它们能很好地说明“流”这种抽象概念。字符设备可以通过文件系统节点来访问,比如 /dev/tty1 和 /dev/lp0 等。设备文件和普通文件的区别在于普通文件的访问可以前后移动访问位置,而大多数字符设备是一个只能顺序访问的数据通道。但也存在具有数据区特性的字符设备,可前后移动访问设备。例如帧抓取器,应用程序可以用 mmap 或 lseek 访问抓取的整个图像。
2、块设备
块设备也是通过 /dev 目录下的文件系统节点来访问的。块设备(例如磁盘)上能容纳文件系统。在大多数 Unix 系统中,块设备每次 I/O 操作只能传输一个或多个完整的块,而每块包含 512 字节(或 2 的更高次幂字节的数据)。Linux 可以让应用程序像字符设备一样读写块设备,允许一次传递任意多字节的数据。因而,块设备和字符设备的区别仅仅在于内核内部管理数据的方式,也就是内核及驱动程序之间的软件接口不同。
3、网络接口
任何网络事务都经过一个网络接口形成,即一个能够和其他主机交换数据的设备。通常,接口是个硬件设备,但也可能是个纯软件设备,比如环回(loopback)接口。网络接口由内核中的网络子系统驱动,负责发送和接收数据包,但它不需要了解每项事务如何映射到实际传送的数据包。许多网络连接(尤其是使用 TCP 协议的连接)是面向流的,但网络设备却围绕数据包的传输和接收而设计,它不需要知道各个连接的相关信息,只需处理数据包即可。由于不是面向流的设备,因此将网络接口映射到文件系统中的节点就比较困难。Unix 访问网络接口的方法仍然是给它们分配一个唯一的名字(如 eth0),但该名字在文件系统中不存在对应的节点。内核和网络设备驱动程序间的通信,完全不同于和字符和块设备驱动程序之间的通信,
是调用一套和数据包传输相关的函数而不是 read、write 等。
分享到:
相关推荐
在IT行业中,尤其是在Web开发...总结起来,判断访问设备类型是Web开发中的基本技能,它涉及`User-Agent`分析、CSS媒体查询以及使用特定的框架和库。通过这些技术,开发者能够创建更适应用户设备的网页,提升用户体验。
Base Device Type 是 Matter 智能家居系统中的基本设备类型。它定义了设备的基本功能和特性,例如设备的名称、描述、版本号、制造商等信息。Base Device Type 还定义了设备的基本功能,例如设备的开关状态、亮度、...
以上就是使用VC获取USB设备类型的基本流程。实际应用中,可能还需要处理错误、优化性能,以及考虑到多线程和并发访问等问题。此外,对于更复杂的USB设备,可能需要直接与设备驱动程序交互,这涉及到更多的驱动编程...
理解蓝牙设备类型对于有效地利用蓝牙功能至关重要。 一、蓝牙核心设备类型 1. 主设备(Central Device):主设备通常是指发起蓝牙连接的设备,例如智能手机或电脑。它们可以同时连接多个从设备,并控制数据传输的...
"C++语言概述、数据的输入与输出、基本数据类型和表达式" C++语言概述 C++语言是从C语言发展演变而来的,首先是一个更好的C,它引入了类的机制,最初的C++被称为“带类的C”。1983年正式取名为C++。从1989年开始...
Base Class 是设备类型的基本分类,每个 Base Class 都有其特定的功能和用途。目前,USB 设备类型 device class 代码已经定义了许多不同的 Base Class,包括设备(Device)、音频(Audio)、通信和 CDC 控制...
USB协议HID设备类型定义 USB协议HID设备类型定义是指Universal Serial Bus(USB)协议中的人机接口设备(Human Interface Devices,HID)类型定义。HID是一种常见的USB设备类型,包括键盘、鼠标、游戏控制器、遥控...
- **allocate()**: 根据提供的设备类型和数量分配设备。函数会检查设备是否存在,以及是否有足够的可用设备。如果满足条件,则更新相应的数据结构,表示设备已被分配。 - **reclaim()**: 根据作业名称和设备类型...
- 在Cisco Packet Tracer中,通过设备类型库和特定设备库选择所需设备,如2620 XM路由器和2950-24交换机,以及PC。 - 连接设备时需注意线型选择,例如直通线、交叉线和光缆等,根据设备接口类型进行适配。 - 当...
### 智能手机及网络类型基本知识 #### 手机网络类型介绍 手机网络的发展经历了从2G到4G乃至现在的5G的过程,不同网络类型的出现满足了人们对通信速度和质量的不同需求。 ##### 2G网络 2G(第二代移动通信技术)...
LoRaWAN定义了三种不同的设备类型,即Class A、Class B和Class C,每种类型具有不同的接收和传输特性,以适应不同的应用场景。 **Class A** 设备是最基本的类型,它支持双向通信,但每次上行传输后仅开放两个短暂的...
《物联网络与ZigBee网络结构解析》 物联网,作为现代科技的重要组成部分,其基本结构主要包括应用层、网络层和感知层。...而ZigBee的三种设备类型则确保了网络的稳定性和扩展性,为物联网的应用提供了坚实的技术支撑。
综上所述,物联网网络的构建是多层协作的过程,而ZigBee作为一种低功耗、低成本的无线通信技术,通过其独特的网络结构和设备类型划分,为无线传感器网络和物联网应用提供了灵活且高效的数据传输解决方案。...
设备故障诊断的基本概念涉及设备的故障定义、故障原因、故障机理、故障类型以及故障模式等多个方面。 故障,简单来说,是指设备的构造或功能出现异常,导致其输出超出允许范围。根据美国政府AD报告的定义,故障是指...
在设备管理中,当系统需要添加新设备时,需要检查设备类型是否已经存在于系统中。如果不存在,就将其添加到设备类表中,记录其数量和起始地址等信息。相反,删除设备涉及查找设备在设备表中的条目,如果设备不再使用...
因此,本文将详细介绍网络设备选型的基本原则和测试方法。 一、交换机选型基本原则 交换机选型基本原则包括交换机类型、端口类型、传输速率、传输模式、安全性、 VLAN 支持、冗余支持等多方面的考虑。交换机选型的...
本文档将对山水光电1000M设备的基本操作进行详细的介绍和解释。 一、设备基本配置 山水光电1000M设备的基本配置包括设置设备的IP地址、子网掩码、默认网关等。通过telnet连接设备,并输入用户名和密码(默认用户名...
设备分类台帐则按照设备类型进行划分,如工艺设备(普通设备和特种设备)和过程控制设备。特种设备包括其附件、安全保护装置及相关设施,同时包含设备技术资料,如设备辅助装置、轴承、传动机构等。过程控制设备的...
这份文档是关于消毒产品生产企业所需的基本生产设备清单,涵盖了2021至2022年度的专题资料。清单详尽地列举了不同类型的消毒产品在生产过程中需要用到的关键设备,包括消毒剂类、消毒器械类、卫生用品类以及分装企业...
《IEC61850 7-2变电站和馈线设备的基本通讯结构:抽象通讯接口》这一标准,是国际电工委员会(IEC)制定的一系列关于变电站自动化通信网络和系统的规范之一,旨在为电力系统中的智能设备提供统一的通信框架。...