实时系统中断优化:中断线程化
在实时系统中,高优先级的任务优先先执行,但是如果中断将优先执行中断函数,如果低优先级的任务触发中断并且中断函数中执行的时间比较长,这样就会出现低优先级的任务长时间占用CPU资源,从而影响系统的实时性
在Linux 中断处理分为顶半部(top half)和底半部(bottom half),一般要求在顶半部里处理优先级比较高的事情,处理时间应尽量短,在处理完成后就激活底半部,在底半处部理其余任务。
在实时系统中,在中断触发后,中断函数中只处理必要工作(类似linux中断的顶半部),剩下的大部分工作放到任务中处理(这样就可以做到高优先级任务优先处理),高优先任务只是被短暂的被中断顶半部打断