【问题标题】:Since all user threads are mapped to kernel threads , then user threads are running in kernal mode?既然所有用户线程都映射到内核线程,那么用户线程是在内核模式下运行的吗?
【发布时间】:2014-03-20 01:52:21
【问题描述】:

我知道这不是真的。但为什么?我是否混淆了内核线程和内核模式?

【问题讨论】:

  • 上述说法的问题在于,这不是真的!

标签: linux multithreading operating-system kernel


【解决方案1】:

有时,当您执行系统调用时。但这并不是这个词的真正含义。

“内核线程”是指内核本身将每个线程识别为独立的事实。这意味着它们在内核中都有对应的数据结构,内核可以单独对待它们,比如分别调度它们。线程运行的模式与它无关,因为它只是内核中线程的概念。

“用户线程”在用户空间中实现。内核不知道进程中有多个线程,因此无法单独处理它们。内核只看到主线程,可能根本不会将其与进程分开。

【讨论】:

  • 谢谢。但让我直截了当。内核线程执行内核模式/用户模式代码。对吗?
  • @gawicks 是的。少数可能只在内核中运行,但其中大部分大部分时间都在用户模式下运行,偶尔也会在内核模式下运行。
猜你喜欢
  • 2013-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-15
  • 2013-07-05
  • 1970-01-01
相关资源
最近更新 更多