/proc/device 和/dev下设备的区别联系,为啥老接口驱动注册后,还要mknode手动创建设备节点,目的是啥?

本文探讨了设备驱动在Linux系统中的工作原理,解释了/proc/devices和/dev目录的区别。当驱动注册后,设备信息会被添加到/proc/devices,允许应用层查询,但实际使用设备需要在/dev下创建设备节点。传统的驱动注册后,需要手动mknode创建节点,而现代接口则能自动完成这一过程。了解这些概念有助于理解驱动程序与系统的交互方式。
摘要由CSDN通过智能技术生成

/proc/device 和/dev下设备的区别联系,为啥老接口驱动注册后,还要mknode手动创建设备节点,目的是啥?
这个问题学驱动的时候,没搞明白,现在好像明白了表象,在把驱动编译入内核后,系统上电启动加载内核,或者是编译成驱动模块,手动insmode安装驱动。最后会将设备添加到/proc/devices目录下,通个这个应用层就可以和内核交互信息,查看信息,但是加载完内核驱动后,应用层想要open这个设备,是需要将驱动添加到/dev,才能使用驱动的,为啥需要在这个目录,我不太清楚,大概是文件系统提供的一套管理方法,对字符设备和块设备进行操作吧!以前的驱动,register_chardev注册驱动后,只是添加到了/proc目录下,所以,要手动mknode,申请主设备号,将驱动挂载到/dev下,现在的新的驱动接口,直接加载驱动,自动挂载到/dev目录,alloc_chardev_region没有手动指定设备号的情况下,如果有指定,就用register_chardev_region,好像是这两个api,如果有错,请查阅资料,然后编写驱动时,注册一个device,和clase类,安装驱动时,就可以自动创建设备节点了,在/dev目录下,就会看到这个设备。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值