【Linux设备驱动程序】Chapter 1 - 概述

设备分类

字符设备、块设备、网络接口

字符设备

能够像字节流(类似文件)一样被访问的设备。

字符设备驱动程序通常至少要实现 open、close、read 和 write 系统调用。

举例:字符终端( /dev/console )、串口( /dev/ttyS0 等)...

字符设备文件与普通文件的区别:大多字符设备文件是一个只能顺序访问的数据通道,但也有部分字符设备具有数据区的特性。

块设备

与字符设备的区别在于:块设备的 I/O 操作时传输的是一个或多个完整的数据块,而不是字节流的方式。

网络接口

网络接口可以是物理设备,也可以是软件设备(如 loopback 回环设备)。

由内核中的网络子系统驱动,负责发送和接收数据包,它不需要了解每个事务如何映射到实际传送的数据包。

与字符设备和块设备不同,网络接口不映射为文件系统中的节点,而只分配一个设备名,调用与数据包传输相关的函数而不是 read 等。

posted @ 2018-09-29 02:06  幽曲  阅读(229)  评论(0编辑  收藏  举报