同步中断(异常)和 软中断
来源:互联网 发布:一叶落而知秋什么意思 编辑:程序博客网 时间:2024/05/16 09:11
中断通常被分为“同步中断”和异步中断两大类。
同步中断是指当指令执行时由CPU控制单元产生的中断,之所以称为“同步中断”是因为只有在一条指令中止执行后CPU才会发出这类中断信号。
而异步中断(通常意义上的中断,来自外部)则是指由其他硬件设备依照CPU时钟随机产生的中断信号。 在Intel 80x86 CPU手册中,同步中断和异步中断也被分别称为“异常(Exception)”和“中断(Interrupt)”。
-------------------------------------------------------------------------------------------------------------------
软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。很多情况下,软中断和"信号"有些类似,同时,软中断又是和硬中断相对应的,"硬中断是外部设备对CPU的中断","软中断通常是硬中断服务程序对内核的中断","信号则是由内核(或其他进程)对某个进程的中断"(《Linux内核源代码情景分析》第三章)。
软中断的一种典型应用就是所谓的"下半部"(bottom half),它的得名来自于将硬件中断处理分离成"上半部"和"下半部"两个阶段的机制:上半部在屏蔽中断的上下文中运行,用于完成关键性的处理动作;而下半部则相对来说并不是非常紧急的,通常还是比较耗时的,因此由系统自行安排运行时机,不在中断服务上下文中执行。bottom half的应用也是激励内核发展出目前的软中断机制的原因。
软中断是linux系统原“底半处理”的升级,在原有的基础上发展的新的处理方式,以适应多cpu 、多线程的软中断处理。
一般来说,软中断是由内核机制的触发事件引起的(例如进程运行超时),但是不可忽视有大量的软中断也是由于和硬件有关的中断引起的,例如当打印机端口产生一个硬件中断时,会通知和硬件相关的硬中断,硬中断就会产生一个软中断并送到操作系统内核里,这样内核就会根据这个软中断唤醒睡眠在打印机任务队列中的处理进程。
在网络编程中,软中断用来引发协议层代码的执行
- 同步中断(异常)和 软中断
- 同步中断(异常)和 软中断
- 同步中断 和 异步中断
- java同步和中断
- 中断和异常
- 陷阱,中断和异常
- 操作系统中断和异常
- 中断和异常
- 中断和异常小结
- 中断和异常
- 中断和异常
- 中断和异常
- 中断和异常
- 中断和异常(笔记
- 中断和异常
- 中断和异常
- 中断和异常
- 中断 和 异常
- Return和Response.End()区别
- 理解MySQL的索引与优化
- 安装IE,出现“无法安装ie,因为其他程序或更新正在等待重新启动计算机。”解决方法。
- 用Vc实现drag&drop打开文件
- DOS命令(1) 目录操作类命令
- 同步中断(异常)和 软中断
- android UI设计秘籍
- DOS命令(2) 磁盘操作类命令
- 还思想以自由
- vb+flash 开发常见问题之--保存时出现错误:“系统错误&H80004005(-2147467259),未指定的错误”
- AutoIt界面编程_解决鼠标操作的可靠性
- php的url编码和Magic Quote
- 看图说话 – Android UI 设计秘笈 :Part I
- vc++调用MATLAB complier生成的C动态链接库(输入参数为字符类型)