免费注册 查看新帖 |

Chinaunix

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

请问内核模块是怎样运行的啊? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-30 13:51 |只看该作者 |倒序浏览
请问大家,Linux下的那些内核模块是怎么运行的啊?  是不是每个模块作为一个进程在内核中运行呢?  我初学linux内核,很多不懂的,请大家帮我解释一下。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2011-03-30 15:18 |只看该作者
回复 1# zsmctfy


    作为动态链接的函数 被kernel 调用

论坛徽章:
0
3 [报告]
发表于 2011-03-30 15:34 |只看该作者
回复 2# goldenfort


也就是说,模块它只是放在内核空间里,只有当用户进程调用系统接口链接到它了才运行,对吧?

我还有一个问题, 我们写的驱动模块它运行的时候是使用用户进程的内核栈来存放数据的对吧,除非用kmalloc分配,是这样的吗

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
4 [报告]
发表于 2011-03-31 08:20 |只看该作者
回复  goldenfort


也就是说,模块它只是放在内核空间里,只有当用户进程调用系统接口链接到它了才运行 ...
zsmctfy 发表于 2011-03-30 15:34



    我來說說我的理解吧,如有不足還請往來高手指教

    模塊裏面會提供很多函數接口,有些會用export_symbal傳出去給別的模塊用,有些是供自己的file_operations用。當加載模塊的時候,會通過vmalloc分配地址空間,把這些符號放在內存裏面。當要運行其中的方法(函數)的時候,比如運行了一個read系統調用,最後會調用針對這個設備文件的xxx_read,這個時候應該是調用這個read的進程的進程上下文運行的。

论坛徽章:
0
5 [报告]
发表于 2011-03-31 14:16 |只看该作者
回复 4# amarant


    谢谢你,讲的很有道理,这个地方我理解了。我还有后面那个问题,就是说比如有驱动模块A,进程B调用驱动A时,A是使用B的内核栈来存放变量吗,而如果是进程C调用驱动A时,A使用的是C的内核栈对吗??这个地方我有点疑问。

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
6 [报告]
发表于 2011-03-31 14:47 |只看该作者
恩,我的理解是这样子的:无论中断还是系统调用用的都是被中断进程的内核栈。
如果不对,请过往高手一定指出
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP