2015-04-01 25 views
1

我正在学习操作系统,我遇到了两个术语ISR和中断处理程序。他们是同一种机制的两个词吗?如果不是,有什么区别?ISR和中断处理程序有区别吗?

+3

ISR - >中断服务路由。它与中断处理程序相同。 – 2015-04-01 21:49:25

回答

4

中断处理程序和ISR没有区别。
Wiki说:

在计算机系统编程,中断处理程序,也被称为中断服务例程或ISR,是一个回调函数[...]

+0

我需要删除这个答案 – xsami 2015-04-01 21:53:49

+0

我想有人会报告我,我不想松散点:第。所以我真的很害怕我的回答 – xsami 2015-04-01 21:58:28

+1

@haccks,我想xsami是指他/她的评论。似乎他们不了解评论和答案之间的区别以及发布内容的位置。 – 2015-04-01 22:01:18

1

ISR被针对与设备/操作/源相关的特定服务的回调。系统中可能存在多个ISR,具体取决于中断向量表中可用的地址。中断处理程序是一个常见的例程,它在任何中断发生时都会触发。它的工作是了解中断的来源并触发在中断向量表中映射的适当的ISR。

1

在正常执行计算机程序期间,可能会有事件导致CPU暂时中止。像这样的事件被称为中断。中断可能由软件或硬件故障引起。硬件中断被称为(简单地)中断,而软件中断称为异常或陷阱。一旦产生了中断(软件或硬件),控制就会转移到一个称为ISR(中断服务程序)的特殊子程序中,该子程序可以处理由中断引发的条件。

如上所述,术语中断通常保留给硬件中断。它们是由外部硬件事件引起的程序控制中断。这里,CPU外部的外部装置。硬件中断通常来自许多不同的来源,如定时器芯片,外围设备(键盘,鼠标等),I/O端口(串行,并行等),磁盘驱动器,CMOS时钟,扩展卡(声卡,视频卡等)。这意味着硬件中断几乎不会发生,因为某些与执行程序相关的事件。例如,用户在键盘上按键或内部硬件定时器超时等事件可能引发此类中断,并可通知CPU某些设备需要注意。在这种情况下,CPU会停止正在执行的任何操作(即暂停当前程序),提供设备所需的服务并返回到正常程序。 ISR:

可以 保存在栈上的PC,标志和登记,并禁止所有中断并装入ISR的地址的程序的执行过程中的任何时候发生的异步事件 ISR不能有参数,可以被传递给它 不能返回值 激活中断 一般小,因为他们正在采取一些其他过程的时间 一些ISR都拥有自己的堆栈 https://www.youtube.com/SaqibJaved

相关问题