一个外部设备的驱动加载后会自动在/dev下生成相应的设备文件,请问这个设备文件只是在内存中存在吗?应该是个临时的文件吧,掉电丢失。 设备文件在硬盘中或者其他非易失性存储介质中会占用存储空间吗?
这个要考究到内核。以usb为例。每个usb控制器都有usb hub,设备注册时产生一个内核线程。当设备插入hub时,hub芯片会检测到,当usb控制器来查询hub时,hub芯片会把有设备插入信息通知控制器,控制器发信息激活该线程,线程会自动注册一个设备,之后线程进入休眠等待下一次激活。注册设备时,内核发信息通知用户空间有设备插入,用户空间的热插拔相关脚本程序会调用。自动做建立设备文件节点的工作。