根据我的理解,陷阱和中断之间的基本区别在于陷阱是同步的并且由异常(div除零等)生成,而中断是异步的(多个设备可能会尝试同时中断,尽管谁赢了比赛是首先获得工作队列锁定的人。有两种类型的中断:硬件和软件。 div by零例外由硬件检测,因此可作为硬件陷阱的示例。
我在这里有两个问题。
答案 0 :(得分:4)
syscall
指令可被视为软件陷阱。它导致陷阱/中断处理的所有元素(上下文切换到执行完全特权的中断服务例程),但是在软件控制下触发。
中断也不是完全异步的,因为屏蔽和取消屏蔽是同步发生的。因此,尽管在完全相同的时间内不会发生两个异步事件,但可以在完全相同的时间取消屏蔽多个中断,在这种情况下,中断优先级(而不是发生顺序)控制服务顺序。