什么是中断,以及现代操作系统如何处理中断?
中断通常被称为信号,当某个事件或进程需要立即关注时,软件或硬件会生成这些信号。因此,信号会通知处理器有关高优先级和紧急信息需求,从而导致当前工作进程中断。
因此,每当发生中断时,处理器都会完成当前指令的执行,并开始执行称为中断处理的中断。此外,对于每次发生中断处理,都存在一个中断服务例程 (ISR) 或中断处理程序。
现代操作系统中的中断处理
在 Linux、Mac 或 Windows 等多个操作系统中,中断处理分为两部分:
一级中断处理程序 (FLIH),也称为硬中断处理程序或快速中断处理程序。
二级中断处理程序 (SLIH),也称为慢速中断处理程序或软中断处理程序。
FLIH 和 SLIH 的用途和属性如下:
FLIH
这些包括特定于平台的中断处理。
它会导致进程执行出现抖动。
它还会屏蔽中断。
FLIH 在 Linux 中被称为上半部分。
SLIH
它完成类似于进程或事件的长时间中断处理任务。
为每个处理程序分配一个专用线程。
它具有较长的执行时间。
SLIH 在 Linux 中被称为下半部分或底部部分。
操作系统的中断处理机制接受一个表示地址的数字,然后选择要采取的具体操作,该操作已在中断服务例程中提及。在大多数架构中,该地址存储在一个称为向量表的表中。
现在让我们以图示的方式了解一下 OS 的中断处理方案。
广告