免费注册 查看新帖 |

Chinaunix

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

[中断] 如果当前CPU正在执行用户态的程序,来了一个中断, cpu将如何工作 [复制链接]

论坛徽章:
1
双子座
日期:2014-09-25 13:38:50
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-06 18:34 |只看该作者 |倒序浏览
如果当前正在执行一个用户态的进程,这时候有一个中断产生了, 是直接切换到中断处理函数中执行,还是先做进程的上下文切换, 切换到内核进程, 然后在执行中断处理函数,进入中断上下文?

请高手帮忙分析一下具体过程,谢谢!

论坛徽章:
0
2 [报告]
发表于 2012-12-06 19:45 |只看该作者
肯定要做堆栈切换啦,不然中断处理完怎么继续跑用户态程序。而且中断完成后做进程切换不一定就是中断前的这个用户态程序。
描述不专业,等大腿。

论坛徽章:
1
双子座
日期:2014-09-25 13:38:50
3 [报告]
发表于 2012-12-07 10:42 |只看该作者
本帖最后由 wjydlut 于 2012-12-07 10:42 编辑

恩,是这样的, 还有用户态进程和核心态进程之间有那些区别呢?

回复 2# flyingeagle1015


   

论坛徽章:
0
4 [报告]
发表于 2012-12-09 08:55 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2012-12-09 17:49 |只看该作者
硬件通过触发信号,导致内核调用中断处理程序,进入内核空间。这个过程中,硬件的一些变量和参数也要传递给内核,内核通过这些参数进行中断处理。所谓的“中断上下文”,其实也可以看作就是硬件传递过来的这些参数和内核需要保存的一些其他环境(主要是当前被打断执行的进程环境).

论坛徽章:
0
6 [报告]
发表于 2012-12-09 19:49 来自手机 |只看该作者
也就是说 内核态程序 不用页表机制~ 所以用不了 内存描述符

论坛徽章:
0
7 [报告]
发表于 2012-12-09 19:50 来自手机 |只看该作者
这个讲的就是 中断发生的过程哈

论坛徽章:
1
双子座
日期:2014-09-25 13:38:50
8 [报告]
发表于 2012-12-10 10:13 |只看该作者
你这里所说的内核是指某一个内核进程吗?

zhulove86 发表于 2012-12-09 17:49
硬件通过触发信号,导致内核调用中断处理程序,进入内核空间。这个过程中,硬件的一些变量和参数也要传递给 ...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP