【问题标题】:What are the relations between a kernel control path a kernel thread?内核控制路径和内核线程之间有什么关系?
【发布时间】:2019-02-20 16:57:29
【问题描述】:

了解 Linux 内核 说:

内核控制路径表示内核执行的指令序列 处理系统调用、异常或中断。

除了用户进程之外,Unix 系统还包括一些称为内核的特权进程 线程具有以下特点:

• 它们在内核地址空间中以内核模式运行。

• 他们不与用户交互,因此不需要终端 设备。

• 它们通常在系统启动期间创建并保持活动状态 直到系统关闭。

  1. 这两个概念有什么关系:内核控制 路径内核线程?

    内核控制路径是内核线程吗?

    内核线程是内核控制路径吗?

  2. 如果我是正确的,内核线程表示为task_struct 目的。

    内核控制路径也是如此吗?
    如果不是,可以有哪些内核控制路径以及哪些类型 不可能吗?

  3. 如果我是正确的,内核线程可以与进程一起调度。

    内核可以控制路径吗?如果不是,哪些内核控制路径可以,哪些不能?

【问题讨论】:

  • task_struct 不仅代表一个内核线程,它不与用户空间交互。处理用户请求(系统调用)的用户线程和内核线程也由task_struct(线程的用户和内核部分的单个对象)表示。

标签: linux linux-kernel operating-system kernel


【解决方案1】:

请记住,没有标准术语。使用您的定义:

内核控制路径是内核线程吗?

不,不在你的定义范围内。

内核线程是内核控制路径吗?

没有。

如果我是正确的,内核线程表示为 task_struct 对象。

大概吧。

那么 [它] 是内核控制路径吗?

不在你的定义范围内。

如果不是,哪些内核控制路径可以,哪些不能?

您将其定义为:

内核控制路径表示内核为处理系统调用、异常或中断而执行的指令序列。

【讨论】:

  • 谢谢。 (1) 您的意思是内核控制路径不表示为task_struct 对象吗?如果是,内核控制路径是否由某种结构表示? (2) 内核控制路径是否与内核线程一起调度?
  • 根据你的定义,内核控制路径就是代码。涉及的数据结构是中断调度表,指向代码段。
【解决方案2】:

内核控制路径是内核为处理系统调用、中断或异常而执行的指令序列。

内核是操作系统的核心,它几乎控制着计算机上发生的一切。中断是向内核发出事件发生的信号。硬件中断由硬件设备发起,包括键盘、鼠标、打印机或磁盘驱动器。由程序发起的中断信号称为软件中断或异常。

在最简单的情况下,CPU按顺序执行一条内核控制路径,即从第一条指令开始,到最后一条指令结束。

来源:http://www.linfo.org/kernel_control_path.html

【讨论】:

    猜你喜欢
    • 2011-06-28
    • 2018-06-10
    • 2019-02-23
    • 1970-01-01
    • 2014-02-05
    • 2018-04-25
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    相关资源
    最近更新 更多