当前位置:首页 > 问问

什么叫程序中断 程序中止,为什么会发生?

什么叫程序中断

在计算机系统中,中断是指在CPU执行某些任务时,由于某些原因而暂停当前任务,去完成其他任务,等其他任务完成后再回来继续执行之前的任务。这个被打断的任务就是正在执行的“程序”,因此,我们将其称为“程序中断”。

程序中断的分类

程序中断可以分为软中断和硬中断。其中,软中断是由程序内部自身通过呼叫操作系统功能而产生的;硬中断是由系统外部设备发出的请求,使得CPU向操作系统发出中断信号。

硬中断又可以分为内部中断和外部中断。内部中断是指由CPU内部的故障或异常引起的中断,如除法溢出、地址越界等;外部中断是指由设备发出的中断请求,如定时器、键盘、鼠标等外设。

程序中断的优点

程序中断虽然打断了正在执行的任务,但是也给计算机系统带来了很多好处。例如:

1、提高CPU利用率。当CPU在等待某个任务完成时,可以去处理其他任务,不仅提高了CPU的使用率,而且使CPU具有了一定程度的并发处理能力。

2、方便程序设计。通过程序中断,可以把程序分成一个个小模块,设计更合理、更易维护。

3、提高系统响应速度。对于某些需要实时响应的任务,程序中断可以保证系统能够即时响应,提高了系统的响应速度。

程序中断的处理过程

程序中断的处理过程分为以下几个步骤:

1、当前程序保存。CPU在执行当前程序时,会将当前程序的现场信息(包括现在执行的指令地址、当前正在执行的指令、CPU标志寄存器等内容)保存到内存中的堆栈中。

2、中断服务程序调用。CPU会根据中断源的编号,转到相应的中断服务程序,执行中断服务程序的代码。

3、中断服务程序执行。中断服务程序将任务的处理权交给操作系统,等到操作系统完成后再返回。

4、现场恢复。操作系统完成中断服务程序后,会根据堆栈中保存的信息,恢复当前程序的现场,让其继续执行。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章