【问题标题】:atomic context and process context/interrupt context原子上下文和进程上下文/中断上下文
【发布时间】:2018-04-14 07:00:42
【问题描述】:

在 Linux 设备驱动程序 3 和了解 Linux 内核中。一些流行语出现多次没有定义

流程上下文:两本书都引用了,但没有定义

中断上下文:理解 Linux 内核给出定义

原子上下文:只出现在LDD3中,没有定义。 “它指定内核当前正在执行 中断处理程序或可延迟函数"

在阅读教程时,这三个流行语被很多东西引用。所以我认为最重要的是尝试弄清楚确切的定义,然后我才能理解那些参考。

我也在网上搜索了一些,没有很明确的来源。谁能给出很好的定义和该定义的来源?非常感谢

【问题讨论】:

  • 对不起,伙计们。在 Love 的“Linux Kernel Development”中找到确切的定义。我应该首先阅读这本书。将关闭问题
  • 我怎么强调“流程上下文”之类的术语都不是流行语 dawg

标签: linux-kernel operating-system linux-device-driver


【解决方案1】:

进程上下文是寄存器的值。当上下文切换发生时,一个进程被推迟,寄存器的内容被保存,这样当进程再次运行时,你可以从同一个位置继续运行。堆栈指针、指令指针等。

【讨论】:

    【解决方案2】:

    article 给出了很好的解释。让我在这里总结一下:

    1. 进程上下文 - 常规进程和系统调用调用在此上下文中执行,它可以被 IRQ 中断
    2. 原子上下文 - IRQ 通常在此上下文中执行,它们不属于任何特定进程,而是由某些设备调用(为简单起见忽略异常)。一旦中断上下文休眠或放弃 CPU,就无法唤醒。所以也叫原子上下文。

    内核的一个基本原理是,在中断或原子上下文中,内核不能访问用户空间,内核不能休眠。

    引用 Kaiwan N Billimoria 的《Linux Kernel Programming》一书:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 2016-08-09
      • 1970-01-01
      • 2017-11-19
      • 2011-07-23
      • 2017-09-09
      相关资源
      最近更新 更多