跳转至

中断概述

中断的概念

  • 中断源:指引起中断的事件或发出中断请求的来源。
  • 中断请求:中断源向CPU发出的请求,要求暂停当前执行的任务并处理紧急任务。
  • 断点:当中断发生时,被打断程序的暂停点,即程序暂停的地方。

中断优先级和中断屏蔽

中断优先级

  • 中断优先级是为了使系统能够及时响应和处理所有中断事件,系统会根据事件的重要性和紧急程度将中断源分为不同的级别。
  • 一般情况下,中断优先级的顺序从高到低为:
    • 硬件故障中断
    • 自愿中断
    • 程序性中断
    • 外部中断
    • 输入输出中断

中断屏蔽

  • 中断屏蔽:为了防止低优先级的中断事件处理打断高优先级的中断,计算机系统采用中断屏蔽技术。根据是否可以屏蔽,中断分为两类:
  • 不可屏蔽中断:一旦请求,CPU必须无条件响应。
  • 可屏蔽中断:CPU可以选择响应或忽略。

中断的处理方式

  1. 顺序处理方式

    • 在这种方式下,当处理机正在处理一个中断时,屏蔽所有新的中断请求,直到当前中断处理完毕后再检查是否有新的中断。如果有新中断,继续按顺序处理。
  2. 嵌套处理方式

    • 当系统设置了中断优先级时,多个不同优先级的中断请求可能同时到达。系统会优先响应最高优先级的中断请求。
    • 高优先级的中断请求能够抢占低优先级的中断处理,类似于进程调度中的抢占式调度

中断处理过程

  1. 唤醒被阻塞的驱动进程
    • 当中断发生时,系统可能需要唤醒某些阻塞的进程来处理资源或完成特定任务。
  2. 保护被中断进程的CPU环境
    • 保存当前进程的状态(如寄存器值),确保能够在中断处理完成后恢复进程。
  3. 转入相应的设备处理程序
    • 根据中断源,跳转到对应的设备处理程序。
  4. 中断处理
    • 执行中断处理程序,处理相关的中断事件。
  5. 恢复被中断进程的现场
    • 中断处理完成后,恢复原进程的状态,继续执行被中断的任务。