关于设备文件的疑问
时间:10-02
整理:3721RD
点击:
菜鸟求助 : 一个外部设备的驱动加载后会自动在/dev下生成相应的设备文件,请问这个设备文件只是在内存中存在吗?应该是个临时的文件吧,掉电丢失。 设备文件在硬盘中或者其他非易失性存储介质中会占用存储空间吗?
这个要考究到内核上去了,不好解释,举个例子吧.
以usb为例。每个usb控制器都有个usb hub,在系统初始化的时候,usb hub设备注册的时候产生一个内核线程。当有设备插入hub的时候,hub芯片会检测到,这样当usb控制器来查询hub的时候。hub芯片会把有设备插入的信息通知控制器,然后控制器会发信息激活这个线程,这个线程就会自动给注册一个设备,完成后线程进入休眠等待下一次的激活。在注册设备的过程中,内核会发信息通知用户空间有设备插入,然后用户空间的热插拔相关的脚本程序会调用。自动做建立设备文件节点一类的工作。
能理解工作流程的话,应该能解决你的疑问吧
设备应该是在内核或者文件系统起来之后创建的,存在于RAM中,设备创建都是通过系统命令去创建的,所以只是在系统运行的时候存在,掉电了也就不存在了。
谢谢回复,看来我还需要进一步的研究。