软件中断与硬件中断的区别

描述

现在我们来继续看看这些名词,这是因为其实因为操作的都是物联网设备,那么基本上都是基于ARM体系的硬件。但是刚刚查的资料都是继续x86的,虽然都是linux操作系统。于是这里先继续来丰富点自己的理论知识。

  1. 硬件中断:

硬件中断是由某些硬件设备引起的,例如启动 I/O
的请求、硬件故障或类似的事情。引入硬件中断是为了避免在轮询循环中浪费处理器宝贵的时间,等待外部事件。

例如,当 I/O 操作完成时,例如从磁带驱动器将一些数据读入计算机。

  1. 软件中断:

软件中断是通过使用 INT 指令调用的。此事件立即停止程序的执行并将执行传递给 INT 处理程序。INT处理程序通常是操作系统的一部分,并确定要采取的操作。它发生在应用程序终止或从操作系统请求某些服务时。例如,输出到屏幕,执行文件等。

  1. 区别

中断

(我一直以为软件中断的优先级比硬件中断的优先级低的。)

• 硬件中断是由外设引发的, 软中断是执行中断指令产生的。

• 硬件中断的中断号是由中断控制器提供的, 软中断的中断号由指令直接指出, 无需使用中断控制器。

• 硬件中断是可屏蔽的, 软中断不可屏蔽。

• 硬件中断处理程序要确保它能快速地完成任务, 这样程序执行时才不会等待较长时间, 称为上半部。

• 软中断处理硬中断未完成的工作, 是一种推后执行的机制, 属于下半部.

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分