中断、异常和系统调用的关系

中断、异常和系统调用的关系

1.中断的概念

中断是CPU的一个功能,就是CPU停下当前的工作,保留现场后自动地转去执行相应的处理程序,CPU控制权发生改变,、

处理完该事件后再返回断点继续执行被刚才被打断的程序。

2.中断的分类

2.1分为软中断和硬中断

软中断:

a.编程异常通常叫做软中断

b.软中断是通讯进程之间用来模拟硬中断的 一种信号通讯方式。

c.中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能

d.软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运行时设备对它的中断。

硬中断:

a.硬中断是由外部事件引起的因此具有随机性和突发性;软中断是执行中断指令产生的,无面外部施加中断请求信号,因此

   中断的发生不是随机的而是由程序安排好的。

b.硬中断的中断响应周期,CPU需要发中断回合信号(NMI不需要),软中断的中断响应周期,CPU不需发中断回合信号。

c.硬中断的中断号是由中断控制器提供的(NMI硬中断中断号系统指定为02H);软中断的中断号由指令直接给出,无需使用中断控制器。

d.硬中断是可屏蔽的(NMI硬中断不可屏蔽),软中断不可屏蔽。

区别:

a.软中断发生的时间是由程序控制的,而硬中断发生的时间是随机的

b.软中断是由程序调用发生的,而硬中断是由外设引发的

c.硬件中断处理程序要确保它能快速地完成它的任务,这样程序执行时才不会等待较长时间

参考资料:软中断vs硬中断

 

2.2可屏蔽中断和不可屏蔽中断

 

2.3中断可分为三类:

第一类是由CPU外部引起的,称作中断,如I/O中断、时钟中断、控制台中断等。

第二类是来自CPU的内部事件或程序执行中的事件引起的 过程,称作异常,如由于CPU本身故障(电源电压低于105V或频率在47~63Hz之外)、

程序故障(非法操作码、地址越界、浮点溢出等)等引起的过程。

第三类由于在程序中使用了请求系统服务的系统调用而引发的过程,称作“陷入”(trap,或者陷阱)。前两类通常都称作中断,它们的产生往往是无意、

被动的,而陷入是有意和主动的。

第一类(中断)+第二类(异常)= 中断

第三类(系统调用)= 系统调用

参考资料:中断、异常和系统调用

转载于:https://www.cnblogs.com/wufengv5/archive/2013/05/21/3091317.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值