软件陷阱与硬件陷阱

时间:2011-01-27 20:09:55

标签: linux unix operating-system

根据我的理解,陷阱和中断之间的基本区别在于陷阱是同步的并且由异常(div除零等)生成,而中断是异步的(多个设备可能会尝试同时中断,尽管谁赢了比赛是首先获得工作队列锁定的人。有两种类型的中断:硬件和软件。 div by零例外由硬件检测,因此可作为硬件陷阱的示例。

我在这里有两个问题。

  1. 我对这些方案的理解是否正确,是否还有其他差异?
  2. 有没有一个叫做软件陷阱的东西?如果是这样,一个例子会有所帮助!

1 个答案:

答案 0 :(得分:4)

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

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