免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2145 | 回复: 4
打印 上一主题 下一主题

devfs, sysfs, udev三者的关系? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-31 10:42 |只看该作者 |倒序浏览
devfs是个内核模块,内核模式,输出在哪儿?

sysfs是个文件系统,用户模式,输出在/sys?

udev是不是sysfs的一个实现机制,输出在/dev?

哪位能够跟俺理一下头绪,都搞混了

论坛徽章:
0
2 [报告]
发表于 2006-05-31 11:07 |只看该作者
devfs是在2.4内核就出现了,它是用来解决linux中设备管理混乱的问题,你查看一下/dev下的设备文件就知道了,其中有许多是空的(也就是没有对应的硬件的),但是它们却必须存在,所以这给linux设备管理带来了很多麻烦,为了解决这个问题,linux内核开发人员开发了devfs,并用一个守护进程devfsd来做一些与以前硬件驱动兼容的事情。

现在实现的设备驱动程序一般都会在devfs上注册,然后才能被其它应用程序使用。而原来的设备驱动程序是通过固定的主设备号,然后和/dev目录下的设备文件关联,以此来给使用者提供使用接口。

sysfs是在2.6内核中出现的东西,它主要是用来提供一个更好的应用层和内核层通讯的方法。


udev不是太清楚???

论坛徽章:
0
3 [报告]
发表于 2006-05-31 11:19 |只看该作者
原帖由 snow_insky 于 2006-5-31 11:07 发表
devfs是在2.4内核就出现了,它是用来解决linux中设备管理混乱的问题,你查看一下/dev下的设备文件就知道了,其中有许多是空的(也就是没有对应的硬件的),但是它们却必须存在,所以这给linux设备管理带来了很多麻 ...

那么启用了devfs的2。4是不是设备文件都不是空的,也就是说,devfs只是输出到/dev,对吗?
而udev是不是实现sysfs的一种手段,增加了输出到/sys,对吗?

论坛徽章:
0
4 [报告]
发表于 2006-05-31 11:30 |只看该作者
那么启用了devfs的2。4是不是设备文件都不是空的,也就是说,devfs只是输出到/dev,对吗?

可以这么说,devfs和sysfs都是和proc一样,是一个虚拟的文件系统,向devfs注册的驱动程序,devfs将会在/dev下建立相应的设备文件;但是为了兼容,devfsd这个守护进程将会在某个设定的目录中建立以主设备号为索引的设备文件,如果不这么做,以前的许多应用将不能运行。


至于udev:是devfs的一个用户空间实现,它和devfs其实是一个东西,只是一个是在内核中实现,一个是在用户空间实现的,这里有篇文章,你看看。

Reprint-Kroah-Hartman-OLS2003.pdf

44.02 KB, 下载次数: 402

udev

论坛徽章:
0
5 [报告]
发表于 2006-05-31 11:32 |只看该作者
Thank u
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP