什么是中断,以及现代操作系统如何处理中断?


中断通常被称为信号,当某个事件或进程需要立即关注时,软件或硬件会生成这些信号。因此,信号会通知处理器有关高优先级和紧急信息需求,从而导致当前工作进程中断。

因此,每当发生中断时,处理器都会完成当前指令的执行,并开始执行称为中断处理的中断。此外,对于每次发生中断处理,都存在一个中断服务例程 (ISR) 或中断处理程序。

现代操作系统中的中断处理

在 Linux、Mac 或 Windows 等多个操作系统中,中断处理分为两部分:

  • 一级中断处理程序 (FLIH),也称为硬中断处理程序或快速中断处理程序。

  • 二级中断处理程序 (SLIH),也称为慢速中断处理程序或软中断处理程序。

FLIH 和 SLIH 的用途和属性如下:

FLIH

  • 这些包括特定于平台的中断处理。

  • 它会导致进程执行出现抖动。

  • 它还会屏蔽中断。

  • FLIH 在 Linux 中被称为上半部分。

SLIH

  • 它完成类似于进程或事件的长时间中断处理任务。

  • 为每个处理程序分配一个专用线程。

  • 它具有较长的执行时间。

  • SLIH 在 Linux 中被称为下半部分或底部部分。

操作系统的中断处理机制接受一个表示地址的数字,然后选择要采取的具体操作,该操作已在中断服务例程中提及。在大多数架构中,该地址存储在一个称为向量表的表中。

现在让我们以图示的方式了解一下 OS 的中断处理方案。

更新于:2021年12月1日

17K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告