操作系统设计/进程/中断
外观
< 操作系统设计
许多硬件会向 CPU 发送中断信号。当 CPU 注意到该信号时,它会执行硬件中断——CPU 执行上下文切换,保存有关其正在执行的操作的一些信息,然后跳到执行与该特定硬件中断关联的“中断处理程序”。例如,当用户在键盘上输入时,键盘会发送一个按键中断。然后,CPU 执行按键中断的代码,该代码通常会在屏幕上显示一个字符或执行一个任务。
也许对操作系统设计来说,最重要的中断是“定时器中断”,它是由定时器芯片以规律的间隔发出的。
软件中断,也称为处理器生成中断,是由处理器执行特定指令生成的。常见的处理器生成中断是除零异常和通用故障或页面故障异常。软件中断会导致上下文切换到一个与硬件中断类似的中断处理程序。
一些中断处理程序软件可能会重置机器,或者只是显示错误,但大多数中断处理程序会执行以下三项操作之一
- 硬件(如视频显示器)发出信号,表示已准备好接收下一部分数据,中断处理程序发送出下一部分数据,然后返回到被中断的进程。
- 硬件(如键盘)发出信号,表示它有一部分数据可用,中断处理程序读取该部分数据,然后返回到被中断的进程。
- 定时器中断处理程序运行 OS 调度程序。如果刚刚被中断的进程已经用完其时间片,并且存在其他可运行的进程,那么调度程序将“返回”到该其他进程。(稍后,当定时器中断其他进程时,调度程序将“返回”到此进程)。