我正在学习操作系统,我遇到了两个术语ISR和中断处理程序。他们是同一种机制的两个词吗?如果不是,有什么区别?ISR和中断处理程序有区别吗?
1
A
回答
4
1
ISR被针对与设备/操作/源相关的特定服务的回调。系统中可能存在多个ISR,具体取决于中断向量表中可用的地址。中断处理程序是一个常见的例程,它在任何中断发生时都会触发。它的工作是了解中断的来源并触发在中断向量表中映射的适当的ISR。
1
在正常执行计算机程序期间,可能会有事件导致CPU暂时中止。像这样的事件被称为中断。中断可能由软件或硬件故障引起。硬件中断被称为(简单地)中断,而软件中断称为异常或陷阱。一旦产生了中断(软件或硬件),控制就会转移到一个称为ISR(中断服务程序)的特殊子程序中,该子程序可以处理由中断引发的条件。
如上所述,术语中断通常保留给硬件中断。它们是由外部硬件事件引起的程序控制中断。这里,CPU外部的外部装置。硬件中断通常来自许多不同的来源,如定时器芯片,外围设备(键盘,鼠标等),I/O端口(串行,并行等),磁盘驱动器,CMOS时钟,扩展卡(声卡,视频卡等)。这意味着硬件中断几乎不会发生,因为某些与执行程序相关的事件。例如,用户在键盘上按键或内部硬件定时器超时等事件可能引发此类中断,并可通知CPU某些设备需要注意。在这种情况下,CPU会停止正在执行的任何操作(即暂停当前程序),提供设备所需的服务并返回到正常程序。 ISR:
可以 保存在栈上的PC,标志和登记,并禁止所有中断并装入ISR的地址的程序的执行过程中的任何时候发生的异步事件 ISR不能有参数,可以被传递给它 不能返回值 激活中断 一般小,因为他们正在采取一些其他过程的时间 一些ISR都拥有自己的堆栈 https://www.youtube.com/SaqibJaved
相关问题
- 1. ISR中断服务程序和传统代码有什么区别?
- 2. 消息处理程序和命令处理程序之间有区别吗?
- 3. 如何在Mspgcc中声明一个中断处理程序(ISR)?
- 4. Function Callback和ISR有什么区别?
- 5. 线程和处理程序有什么区别
- 6. 程序集编程和中断处理
- 7. 发布工具和索引处理程序有什么区别?
- 8. click事件处理程序和ngClick指令有什么区别?
- 9. Linux分页和中断处理程序
- 10. 在中断处理程序
- 11. MassTransit中处理程序和消费者之间的区别
- 12. JavaScript - 事件处理程序和侦听程序有什么区别?
- 13. 线程处理中的looper和while循环有什么区别?
- 14. 远程处理中CAO和SAO有什么区别?
- 15. ISR,DPC和处理器缓存
- 16. 处理中断的程序,即中断处理程序存储在哪里?
- 17. 静态事件处理程序和非静态事件处理程序之间有什么区别
- 18. Meteor.js中模板帮助程序和模板事件处理程序的区别
- 19. Android中的事件处理程序和事件监听器有什么区别?
- 20. 处理器(CPU)和微处理器有什么区别?
- 21. 模块处理和多处理有什么区别?
- 22. axd和ashx处理程序之间的区别
- 23. 事件处理程序和回调函数之间的区别
- 24. 如何识别运行中断处理程序的核心?
- 25. 更改运行中断处理程序的优先级级别?
- 26. 网络服务和远程处理有什么区别?
- 27. ^2和^ 2L有区别吗?
- 28. MsgBox和MessageBox.Show有区别吗?
- 29. _xx.html和xx.html有区别吗?
- 30. gluLookAt()和glFrustum()有区别吗?
ISR - >中断服务路由。它与中断处理程序相同。 – 2015-04-01 21:49:25