【发布时间】:2011-07-10 06:01:12
【问题描述】:
在内核模式下执行的进程不能被抢占。
这怎么可能?
考虑一个进程在内核模式下执行并花费大量时间的情况。因此,其余进程将保留在就绪队列中。
例如,进程如何响应定时器中断(如果它在内核模式下执行)?或者它如何响应高温切断中断。
如果有人能解开我的疑惑,请帮忙
【问题讨论】:
-
您能否提供一个内核模式下此类操作的示例,因为进程仅在有限的一组操作中进行内核模式转换,整个进程永远不会在内核模式下运行。
-
假设用户进程运行 4 秒,并在 4 秒时调用系统例程,模式切换到内核模式.....现在处于内核模式..系统调用需要 3 秒.. .所以总共是 4+3=7.让我们假设时间片是 5 秒....那么进程是否会在 5 秒后被抢占。(请记住,在第 5 秒,进程在内核模式下运行)
标签: operating-system stack linux-kernel scheduling