免费注册 查看新帖 |

Chinaunix

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

请教个中断问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-16 22:51 |只看该作者 |倒序浏览
在ULK第三版中的中断那一章i/o interrupt handling这节中有如下描述:
Long noncritical operations should be deferrd, because while an interrupt handler is running,the signals on the corresponding IRQ line are temorarily ignored. Most importtant, the process on behalf of which an interrupt handler is exccuted must always stay in the TASK_RUNNING state, or a system freeze can occur.

上述文字红色部分如何理解?中断不是处于中断的上下文中吗?怎么会说有进程和它关联,而且进程处于一直TASK_RUNNING状态?
多谢。

论坛徽章:
0
2 [报告]
发表于 2009-06-16 23:03 |只看该作者
也就是说,这个中断是在某个进程中异步发生的。如果这个进程不处于运行态的话,那么这个中断就会阻塞到当这个进程再次运行的时候才会完成。这样的话这个IRQ line上的所有中断都会被屏蔽掉。这是多么可怕的事情,你想想,如果是time interrupt的话,那么系统就会在进程被调出以后处于freeze状态

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
3 [报告]
发表于 2009-06-16 23:31 |只看该作者

回复 #1 proware 的帖子

linux的中断是基于进程的,即中断使用的上下文是进程的上下文,中断没有单独的上下文,这也是linux和其他一些unix的区别,像solaris的中断是线程化的,有单独的上下文,那么就是可以阻塞的。linux的中断因为没有自己的上下文是不能被阻塞的!

论坛徽章:
0
4 [报告]
发表于 2009-06-17 20:24 |只看该作者
原帖由 flyinox 于 2009-6-16 23:03 发表
也就是说,这个中断是在某个进程中异步发生的。如果这个进程不处于运行态的话,那么这个中断就会阻塞到当这个进程再次运行的时候才会完成。这样的话这个IRQ line上的所有中断都会被屏蔽掉。这是多么可怕的事情, ...

你的意思是说:系统正在运行某个进程,然后来中断了,而后中断即在这个进程的上下文中运行?

论坛徽章:
0
5 [报告]
发表于 2009-06-17 20:31 |只看该作者
原帖由 liujunwei1234 于 2009-6-16 23:31 发表
linux的中断是基于进程的,即中断使用的上下文是进程的上下文,中断没有单独的上下文,这也是linux和其他一些unix的区别,像solaris的中断是线程化的,有单独的上下文,那么就是可以阻塞的。linux的中断因为没有 ...

中断使用的是进程的上下文?这个进程具体指哪一类?如果是进程的上下文,那么中断中为什么要把诸如eax等等的一堆寄存器全部保存呢?

论坛徽章:
0
6 [报告]
发表于 2009-06-17 23:39 |只看该作者
原帖由 proware 于 2009-6-17 20:31 发表

中断使用的是进程的上下文?这个进程具体指哪一类?如果是进程的上下文,那么中断中为什么要把诸如eax等等的一堆寄存器全部保存呢?

就是被打断的那个进程呀,当然要保存呀,中断还用到这些寄存器,不保存之前的行吗?

论坛徽章:
0
7 [报告]
发表于 2009-06-18 10:15 |只看该作者
你没有发现中断的上下文是嵌套在当前进程中的么,不保存怎么搞?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP