免费注册 查看新帖 |

Chinaunix

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

[进程管理] Linux kernel 進程問題 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-13 21:20 |只看该作者 |倒序浏览
小弟想請教個問題,目前寫了kernel module
並且藉由insmod將此模組放入kernel。
module內容包含中斷處理程序(isr)以及tasklet,就是當有外部中斷到來時
首先會執行isr接著在執行tasklet。
現在是希望當沒中斷進來的時間有閒置行程(idle task)可以起來執行。
請問是要去創建kernel thread嗎???   還是???

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
2 [报告]
发表于 2014-05-14 14:56 |只看该作者
回复 1# pigergirl
创建一个不屏蔽中断的kthread就可以了,只要中断一来就进入你的isr处理流程,中断返回后就之前创建的kthread中运行

BTW:看你的繁体字好累的说

   

论坛徽章:
0
3 [报告]
发表于 2014-05-15 23:57 |只看该作者
本帖最后由 pigergirl 于 2014-05-16 06:29 编辑

谢谢您的回答,想在请问说,我在此kernel module写入函式让用户态的进程可经由ioctl调用这些函式
1. 如果现在用户态进程调用函式完成后,是会返回用户态进程还是去执行内核态的kthread而再也不返回用户态进程吗???
2. 如果现在用户态进程调用函式遇到阻塞,是去执行内核态的kthread而不返回用户态进程吗????

论坛徽章:
0
4 [报告]
发表于 2014-05-16 11:26 |只看该作者
你的用户进程调用ioctl调用进入到了内核态
那么当前进程还是 你的用户进程,这个过程不会发生进程切换
无非就是你的进程原来是用户态,现在变成内核态了,还是同一个进程
如果你的函数遇到阻塞,那么你的进程就被切换出去,内核会调度一个别的进程去运行

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP