当前位置: 技术问答>linux和unix
在编写驱动程序的时候,timer处理中,遇到了其他某timer处理例程以外的代码的执行。请指点,各位
来源: 互联网 发布时间:2015-12-19
本文导语: 如题 驱动程序,不过这是一个模拟的驱动程序。不含有真正的硬件中断。 实际驱动程序中的硬件中断都是通过软件模拟来实现的。这里我用的是timer. 问题是: 我在timer的执行过程中,居然能够执行timer处理例程以...
如题
驱动程序,不过这是一个模拟的驱动程序。不含有真正的硬件中断。
实际驱动程序中的硬件中断都是通过软件模拟来实现的。这里我用的是timer.
问题是:
我在timer的执行过程中,居然能够执行timer处理例程以外的东西。怎么可能?
我用的是intel的单核的cpu, 而且我还把超线程给off了。还有是linux系统
正常的不应该是用户上下文处理中,可以被软中断中断。怎么会在软中断处理中,还会被其他的抢占cpu的处理时间呢?????
各位给讲讲。谢谢了!!!!
驱动程序,不过这是一个模拟的驱动程序。不含有真正的硬件中断。
实际驱动程序中的硬件中断都是通过软件模拟来实现的。这里我用的是timer.
问题是:
我在timer的执行过程中,居然能够执行timer处理例程以外的东西。怎么可能?
我用的是intel的单核的cpu, 而且我还把超线程给off了。还有是linux系统
正常的不应该是用户上下文处理中,可以被软中断中断。怎么会在软中断处理中,还会被其他的抢占cpu的处理时间呢?????
各位给讲讲。谢谢了!!!!
|
在软中断中,当然可以被其它的硬件中断所抢占,这种特性正是软中断与硬件中断的区别之一
硬件中断中,无法被比它优先级还低或者同级的中断抢占。
硬件中断中,无法被比它优先级还低或者同级的中断抢占。
|
不懂