Linux设备管理:从静态到动态的全面解析
1. 设备命名基础与静态创建
在Linux系统中,设备的管理和命名是一个重要的环节。传统上,手动使用 mknod 命令在 /dev 目录下创建静态设备名是一种常见的做法,但这种方式在现代Linux系统中显得较为粗糙和缺乏灵活性。实际上,系统并不严格要求设备名必须创建在 /dev 目录下, mknod 命令的核心是将文件系统中的任意名称与设备的主、次编号关联起来。
以下是一个在工作目录中创建设备名的示例:
$ pwd
/home/olej/2022/own.BOOKs/BHV.kernel/examples/dev/cdev
$ cat /proc/devices | grep my_
235 my_cdev_dev
$ sudo mknod -m0666 ./z2 c 235 2
$ ls -l | grep ^c
crw-rw-rw- 1 root root 235, 2 июн 15 12:54 z2
$ cat ./z2
Hello, world!
这种方法在一些应用项目中可能会很有用,例如临时创建(隐藏)伪设备,避免占用系统级的 /dev 目录。
2. udev的使用
自 /sys 文件系统(sysfs)创建以来,与设备(热插拔)或内核模块(加载、卸载)相关的操作会通过 netlink
超级会员免费看
订阅专栏 解锁全文
2057

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



