trap即内中断,主要指在处理机和内存内部产生的中断。它包括程序运算引起的各种错误。软中断是通信进程之间用来模拟硬中断的一种信号通信方式。
中断和陷阱的主要区别:
1 、陷阱通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。
2 、陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。
3 、CPU 在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。
4 、在有的系统中,陷入处理程序被规定在各自的进程上下文中执行,而中断处理程序则在系统上下文中执行。
软中断与硬中断的比较:
相同点:其中断源发中断请求或软中断信号后, CPU 或接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。
不同点:接收软中断信号的进程不一定正好在接收时占有处理机,而相应的处理必须等到该接收进程得到处理机之后才能进行。
也有人说trap是软件引起的中断,就是所谓的软中断,比如汇编语言里int指令就是引起了一个软中断;而有硬件管脚发起的中断叫硬中断。这样看来,trap是中断的一种。
中断(interrupt)、异常(exception)、陷入(trap),布布扣,bubuko.com
中断(interrupt)、异常(exception)、陷入(trap)
原文地址:http://www.cnblogs.com/johnnyflute/p/3765008.html