内核模式和ISR例程中有哪些重要的内容和不重要的内容? 例如 -
如何在页面错误上发生进程切换,其中进程从磁盘获取数据,但在其他中断发生期间不会发生。 如果可执行路径可以被中断/重新安排/抢占,您如何分类?
当进程处于内核模式或处理ISR例程时,必须记住的其他事项是什么?
答案 0 :(得分:4)
简而言之: NO CONTEXT SWITCH,EVER 。
这意味着:
进程切换可能发生在页面错误上,但在处理完相应的ISR后会发生。基本上,如果路径不是ISR并且没有锁定螺旋锁,则可以安排路径。如果你持有一个螺旋锁,你必须避免睡觉,直到它被释放。
由于ISR非常有限,因此IRQ的处理通常分为上半部分(在ISR上下文中运行并执行关键作业)和下半部分(后来作为内核线程运行并执行任何操作)被延迟)可以睡觉有关更多信息,请参阅此页面: