硬件设备管理
驱动程序代码
应用程序和硬件设备的中间人,允许内核和设备之间交换数据。
插入设备驱动代码的两种方法:
- 编译进内核的设备驱动代码
- 可插入内核的设备驱动模块
设备文件
即Linux的硬件设备,Linux将硬件设备当成特殊的文件。
设备文件有三种分类:
字符型设备文件
处理数据时每次只能处理一个字符的设备,如大多数调制解调器和终端
块设备文件
处理数据时每次能处理大块数据的设备,如硬盘
网络设备文件
采用数据包发送和接收数据的设备。
节点
Linux为系统上的每个设备都创建一种特殊的文件,称为“节点”。与设备的所有通信透视通过设备节点完成的。
查看Ubuntu 上的设备文件命令
示例仅查看 sd*(硬盘) 和 ttyS*(COM端口) 设备文件
cd /dev;
ls -laF sd* ttyS*;
执行结果(局部)
brw-rw---- 1 root disk 8, 0 4月 23 09:27 sda
brw-rw---- 1 root disk 8, 1 4月 23 09:27 sda1
brw-rw---- 1 root disk 8, 2 4月 23 09:27 sda2
brw-rw---- 1 root disk 8, 5 4月 23 09:27 sda5
brw-rw---- 1 root disk 8, 6 4月 23 09:27 sda6
brw-rw---- 1 root disk 8, 7 4月 23 09:27 sda7
brw-rw---- 1 root disk 8, 16 4月 23 09:27 sdb
brw-rw---- 1 root disk 8, 17 4月 23 09:27 sdb1
brw-rw---- 1 root disk 8, 18 4月 23 09:27 sdb2
brw-rw---- 1 root disk 8, 19 4月 23 09:27 sdb3
brw-rw---- 1 root disk 8, 20 4月 23 09:27 sdb4
brw-rw---- 1 root disk 8, 21 4月 23 09:27 sdb5
brw-rw---- 1 root disk 8, 22 4月 23 09:27 sdb6
crw-rw---- 1 root dialout 4, 64 4月 23 09:27 ttyS0
crw-rw---- 1 root dialout 4, 65 4月 23 09:27 ttyS1
crw-rw---- 1 root dialout 4, 74 4月 23 09:27 ttyS10
crw-rw---- 1 root dialout 4, 75 4月 23 09:27 ttyS11
crw-rw---- 1 root dialout 4, 76 4月 23 09:27 ttyS12
返回结果说明:
- 第一列显示该设备文件的权限。权限的第一个字符表示设备文件的类型
- b:硬盘文件标记 (块设备)
- c:COM端口文件标记 (字符型设备)
- 第五列是主设备节点号,所有sd设备都拥有同一主设备号8;所有ttyS设备都使用4。
- 第六列是次设备节点号。同一主设备节点号下的每个设备都拥有自己唯一的次设备节点号。
参考资料
《Linux命令行与shell脚本编程大全》(第2版) —— 1.1.1 深入研究Linux内核 (P8-9)
作者:Seeker 创建时间:2019-04-15 17:30
更新时间:2019-04-23 14:25
更新时间:2019-04-23 14:25