在计算机中,中断是系统用来响应硬件设备请求的一种机制,操作系统收到硬件的中断请求,会打断正在执行的进程,然后调用内核中的中断处理程序来响应请求。
举个生活中取外卖的例子,可能更方便理解。
你中午搬完砖,肚子饿了,点了份白切鸡外卖,虽然平台上会显示配送进度,但是你也不能一直傻傻地盯着呀,时间很宝贵,当然得去干别的事情,等外卖到了配送员会通过「电话」通知,电话响了,你就会停下手中地事情,去拿外卖。
这里的打电话,其实就是对应计算机里的中断,没接到电话的时候,你可以做其他的事情,只有接到了电话,也就是发生中断,你才会停下当前的事情,去进行另一个事情,也就是拿外卖。
从这个例子,我们可以知道,中断是一种异步的事件处理机制,可以提高系统的并发处理能力。操作系统收到了中断请求,会打断其他进程的运行,所以中断请求的响应程序,也就是中断处理程序,要尽可能快的执行完,这样可以减少对正常进程运行调度地影响。
而且,中断处理程序在响应中断时,可能还会「临时关闭中断」,这意味着,如果当前中断处理程序没有执行完之前,系统中其他的中断请求都无法被响应,也就说中断有可能会丢失,所以中断处理程序要短且快。
还是回到外卖的例子,你到了晚上又点起了外卖,这次为了犒劳自己,共点了两份外卖,一份小龙虾和一份奶茶,并且是由不同地配送员来配送,那么问题来了,当第一份外卖送到时,配送员给你打了长长的电话,说了一些杂七杂八的事情,比如给个好评等等,但如果这时另一位配送员也想给你打电话。很明显,这时第二位配送员因为你在通话中(相当于关闭了中断响应),自然就无法打通你的电话,他可能尝试了几次后就走掉了(相当于丢失了一次中断)。
标签:11,配送,中断,什么,响应,处理程序,外卖,中断请求 From: https://blog.51cto.com/u_10630401/5787589