《操作系统真象还原》中断

中断

  中断处理,就是处理器接受到中断信号后,暂停当前执行的任务,转而去查找中断向量表,去执行中断服务程序,执行完后,恢复到中断前的状态,继续执行刚才的程序。

  形象一点就是有个人或有个急事打断你现在做的事情,让你不得不处理这件紧急的事情,当你处理完这件事情后(当然也有可能继续被另一件事情打断),再做回你刚才没做完的事情。

为什么要有中断

  那为什么要有中断呢?拿工作做例子,突然有件事情打断你去做别的事情,一般人都会觉得很烦躁,毕竟重新集中精力做回原来的事情,是一件很耗精力的事情;但大多情况下“别的事情”都是你的本职工作,而且很有可能别人的工作也需要你的协助才能进行下去,如果没有你,可能别人的工作根本进行不下去,导致项目进展停滞了。尽管“中断”了你现在的工作,但完成另一个工作很可能会促进整个项目的进展,让更多的任务能够得到完成。

  需要中断的原因和上面的例子类似。有了中断,我们可以让多个任务看起来能够同时运行(在单CPU中实际上不是同时运行,而是交替,一个时刻只有一个任务运行,同时运行只不过是假象,这就是并发),比如任务A和任务B,我不用等到任务A完成才去完成任务B,我可以一会儿去做任务A,一会儿去做任务B,这样子的话任务B不需要等待任务A了。如果我们把任务A看作一个进程,把任务B看作外部设备需要处理的工作(比如键盘输入),这样子CPU既可以执行内存里的程序,也可以抽时间处理外部设备的事情。总之,中断,能够让我们享受计算机的多个“服务”。

猜你喜欢

转载自www.cnblogs.com/thougr/p/12363281.html