【发布时间】:2015-03-05 16:05:05
【问题描述】:
我了解新的 linux 内核允许抢占内核空间线程。 有人可以简要解释在内核模式下执行时抢占是如何工作的吗? 因此,当进行系统调用时,软件中断会将线程切换到内核模式并运行必要的程序。 现在,假设它的时间片已经结束——另一个用户线程正在运行,它也想在内核空间中执行。 (或者它可能是一个硬件中断)。 内核在中断时如何维护它为 T1 修改的任何结构的完整性?
【问题讨论】:
-
@shekhar 那确实回答了我的问题。我不是在谈论进程状态 - 我是在谈论在内核模式下被抢占 - 假设您正在更新内核中的某些数据结构
-
是什么让你“了解新的 linux 内核允许内核空间线程被抢占”?您能否提供有关此假设来源的任何参考?哪个提交github.com/torvalds/linux/commits/master 介绍了它?
-
@xmojmr - "new" 可能不合适,但无论如何这里有一篇文章描述了 2.6 中的新特性 linuxjournal.com/article/7477 "从内核 2.6 开始,内核是可抢占的。现在可以抢占内核任务, 让一些重要的用户应用程序可以继续运行......因此,在 Linux 2.6 下,内核现在可以在任务中途中断,因此其他应用程序可以继续运行”
标签: linux linux-kernel operating-system