中断(Interrupt)是指计算机在运行过程中,由硬件、软件或外部设备向CPU发出的一种请求,使CPU停止当前的工作转而去执行新的任务。中断是一种硬件或软件机制,被广泛应用于各种计算机系统中。
中断可以分为硬件中断和软件中断两种。硬件中断是由外部设备产生的,例如键盘输入、鼠标点击等。软件中断是由程序主动发出的,例如操作系统中的系统调用。
中断具有以下几个作用:
1)提高CPU的利用率。CPU在接收到一个中断请求后,可以立即转而处理其他任务,从而不必浪费CPU的时间。
2)保证系统的实时性。在一些需要实时响应的场合,如视频播放、音频处理等,中断可以及时处理请求,保证系统的实时性。
3)提高系统的可靠性。中断可以及时处理设备故障、程序异常等问题,防止系统出现崩溃等严重错误。
中断处理一般分为以下几个步骤:
1)中断请求。外部设备向CPU发出中断请求,要求CPU停止当前的任务去处理新的请求。
2)中断响应。CPU接收到中断请求后,根据中断向量表找到对应的中断处理程序,并保存当前的现场信息。
3)中断处理。CPU执行中断处理程序,处理中断请求。处理程序完成后,恢复现场信息并返回中断点,继续执行被中断的任务。
4)中断结束。CPU回到之前被中断的任务,继续执行。
中断可以分为很多种类,常见的有:
1)时钟中断。由定时器产生的中断,用于时钟计时、系统调度等。
2)输入输出中断。由外部设备发起的中断,用于处理输入输出请求。
3)异常中断。由程序发生异常产生的中断,如除数为0、越界访问等。
4)系统调用中断。由程序主动发起的中断请求,用于执行一些特殊的系统调用功能。
5)软件中断。由程序主动发起的中断请求,与系统调用类似。