Linux 软件陷阱与硬件陷阱

Linux 软件陷阱与硬件陷阱,linux,unix,operating-system,Linux,Unix,Operating System,根据我的理解,陷阱和中断之间的基本区别在于陷阱是同步的,由异常(div by zero等)生成,而中断是异步的(多个设备可以尝试同时中断,尽管赢得竞争的是首先获得工作队列锁的设备)。中断有两种类型:硬件和软件。div by zero异常由硬件检测到,因此这是硬件陷阱的一个示例 我这里有两个问题 我对这些计划的理解是否正确,是否还有其他差异 有一种叫做软件陷阱的东西吗?如果是这样,举个例子会很有帮助 syscall指令可被视为软件陷阱。它导致陷阱/中断处理的所有元素(上下文切换到执行完全特权的中断

根据我的理解,陷阱和中断之间的基本区别在于陷阱是同步的,由异常(div by zero等)生成,而中断是异步的(多个设备可以尝试同时中断,尽管赢得竞争的是首先获得工作队列锁的设备)。中断有两种类型:硬件和软件。div by zero异常由硬件检测到,因此这是硬件陷阱的一个示例

我这里有两个问题

  • 我对这些计划的理解是否正确,是否还有其他差异
  • 有一种叫做软件陷阱的东西吗?如果是这样,举个例子会很有帮助
    syscall
    指令可被视为软件陷阱。它导致陷阱/中断处理的所有元素(上下文切换到执行完全特权的中断服务例程),但在软件控制下触发


    中断也不是完全异步的,因为屏蔽和取消屏蔽是同步发生的。因此,尽管没有两个异步事件可以完全同时发生,但多个中断可以完全同时被揭露,在这种情况下,中断优先级而不是发生顺序控制服务顺序。

    syscall指令可以被视为软件陷阱。它导致陷阱/中断处理的所有元素(上下文切换到执行完全特权的中断服务例程),但在软件控制下触发


    中断也不是完全异步的,因为屏蔽和取消屏蔽是同步发生的。因此,尽管没有两个异步事件可以完全同时发生,但多个中断可以完全同时被揭露,在这种情况下,中断优先级,而不是发生顺序,控制服务顺序。

    我一直认为系统调用是一个软件中断。。因为一些奇怪的原因!!关于软件中断,你会举什么为例?@Karthick:所有的软件指令都是同步的,因此根据你对陷阱和中断的区分,它将被归类为陷阱。是的。。sys调用可能被认为是陷阱。。。我一直把syscall想象成一个软件中断。。因为一些奇怪的原因!!你能举一个软件中断的例子吗?如果我问你中断和陷阱的区别,你会怎么回答?“多个中断可能同时发生,但一次只能发生一个陷阱”,这听起来好吗?或者“硬件中断是由设备本身产生的,而硬件陷阱是由设备上运行的软件产生的?”“中断是由外部刺激产生的”。正如我所说,“软件中断”是同步的并且是内部生成的,所以它们被归类为陷阱。术语“软件中断”意味着中断和陷阱之间没有区别。中断是否会生成陷阱来强制执行上下文切换?我一直认为syscall是软件中断。。因为一些奇怪的原因!!关于软件中断,你会举什么为例?@Karthick:所有的软件指令都是同步的,因此根据你对陷阱和中断的区分,它将被归类为陷阱。是的。。sys调用可能被认为是陷阱。。。我一直把syscall想象成一个软件中断。。因为一些奇怪的原因!!你能举一个软件中断的例子吗?如果我问你中断和陷阱的区别,你会怎么回答?“多个中断可能同时发生,但一次只能发生一个陷阱”,这听起来好吗?或者“硬件中断是由设备本身产生的,而硬件陷阱是由设备上运行的软件产生的?”“中断是由外部刺激产生的”。正如我所说,“软件中断”是同步的并且是内部生成的,所以它们被归类为陷阱。术语“软件中断”意味着中断和陷阱之间没有区别。中断是否生成陷阱来强制上下文切换?