试题详情
简答题简述Linux的中断。
  • 中断总是最高优先级的,在系统调用中为了保护临界区资源,Linux会长时间关掉中断。Linux在一些同步操作中使用了中断关闭指令,中断关闭将增大中断延迟,降低系统的实时性。这种情况在实时系统中是不允许发生的。
    连续的低优先的中断可能持续占有CPU,而高优先的某些进程则无法获得CPU。在Linux中,中断(包括软中断)是最高优先级的,不论在任何时刻,只要产生中断事件,内核将立即执行相应的中断处理函数以及软中断,等到所有挂起的中断和软中断处理完毕有才执行正常的任务。因此在标准的Linux系统上,实时任务根本不可能得到实时性保证。例如,假设在一个标准Linux系统上运行了一个实时任务(即使用了SCHED_FIFO调度策略并且设定了最高的实时优先级),但是该系统有非常繁重的网络负载和I/O负载,那么系统可能一直处在中断处理状态而没有机会运行任何任务,这样实时任务将永远无法运行,抢占延迟将是无穷大。因此,如果这种机制不改,实时Linux将永远无法实现。
  • 关注下方微信公众号,在线模考后查看

热门试题