现在我们来继续看看这些名词,这是因为其实因为操作的都是物联网设备,那么基本上都是基于ARM体系的硬件。但是刚刚查的资料都是继续x86的,虽然都是linux操作系统。于是这里先继续来丰富点自己的理论知识。
硬件中断是由某些硬件设备引起的,例如启动 I/O
的请求、硬件故障或类似的事情。引入硬件中断是为了避免在轮询循环中浪费处理器宝贵的时间,等待外部事件。
例如,当 I/O 操作完成时,例如从磁带驱动器将一些数据读入计算机。
软件中断是通过使用 INT 指令调用的。此事件立即停止程序的执行并将执行传递给 INT 处理程序。INT处理程序通常是操作系统的一部分,并确定要采取的操作。它发生在应用程序终止或从操作系统请求某些服务时。例如,输出到屏幕,执行文件等。
(我一直以为软件中断的优先级比硬件中断的优先级低的。)
• 硬件中断是由外设引发的, 软中断是执行中断指令产生的。
• 硬件中断的中断号是由中断控制器提供的, 软中断的中断号由指令直接指出, 无需使用中断控制器。
• 硬件中断是可屏蔽的, 软中断不可屏蔽。
• 硬件中断处理程序要确保它能快速地完成任务, 这样程序执行时才不会等待较长时间, 称为上半部。
• 软中断处理硬中断未完成的工作, 是一种推后执行的机制, 属于下半部.
全部0条评论
快来发表一下你的评论吧 !