我很困惑陷阱和中断是否可以控制硬件到CPU。
有人可以解释为什么这不会持有吗?
答案 0 :(得分:3)
我认为更准确地说,陷阱和中断都是由中断处理程序处理的(有陷阱处理程序和中断处理程序,但我认为它的概念相同)。
然后,中断处理程序处理引发的中断并尝试解决它。对于陷阱,它可能类似于除以0并且具有中断,它可能类似于磁盘完成写入文件。
在某些情况下,陷阱可能是有意的" - 如果您的程序需要一些它没有并且想要请求它们的资源,这将非常有用。它引发异常(陷阱)并尝试在等待其资源时启动到另一个进程的上下文切换(如果它只是在等待,则不会占用CPU)。
正如您所看到的,中断可能需要硬件控制,但陷阱(上下文切换)可能不需要硬件使用。
答案 1 :(得分:1)
我认为查看故障/陷阱/中断的最佳方法是作为函数调用。操作系统为不同的事件设置处理程序的向量。当它们发生时,CPU调用适当的函数。
唯一奇怪的是,中断可以异步发生。故障和陷阱是指令流的结果。