找回密码
 注册
查看: 1468|回复: 7

摩托罗拉面试题

[复制链接]
发表于 2006-6-16 09:26:37 | 显示全部楼层 |阅读模式
在linux中,如果一个中断占用很长时间,此时又来了一个中断,操作系统将如何工作?
发表于 2006-6-16 12:57:11 | 显示全部楼层
执行新的中断,好像是
linux的硬中断应该是不分级别的。
回复

使用道具 举报

 楼主| 发表于 2006-6-16 13:09:18 | 显示全部楼层
那老的中断怎么办?
回复

使用道具 举报

发表于 2006-6-16 16:34:57 | 显示全部楼层
等新中断返回
回复

使用道具 举报

 楼主| 发表于 2006-6-16 17:10:05 | 显示全部楼层
也就是说新的中断得等老的中断执行完之后才能执行是吗?
回复

使用道具 举报

发表于 2006-6-16 23:19:07 | 显示全部楼层
如果中断服务程序在关中断条件下执行,那么它将丢失掉后到的中断。
如果新中断到来时,老的中断服务程序运行在开中断条件下,那么新中断程序会马上得到处理。
即使在开中断条件下,新中断到来时,如果是同一个中断源发出的中断,那么这两次中断会串行化处理,要等老中断执行完后,再将这个中断程序执行一遍。

中断服务程序的关键部分(上半部)执行时一般关中断(当然也可以把它给开中断了),服务程序中非关键的代码放在开中断条件下的下半部中执行。
回复

使用道具 举报

 楼主| 发表于 2006-6-16 23:23:15 | 显示全部楼层
什么叫开中断,什么叫关中断
回复

使用道具 举报

发表于 2006-6-17 11:29:10 | 显示全部楼层
开关中断就是中断服务程序是否允许新中断
回复

使用道具 举报

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

本版积分规则

GMT+8, 2025-2-6 21:49 , Processed in 0.023578 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表