同步中断(异常)和 软中断
2012-07-16 19:05
295 查看
转自:http://blog.csdn.net/zhangxinrun/article/details/5967233
中断通常被分为“同步中断”和异步中断两大类。
同步中断是指当指令执行时由CPU控制单元产生的中断,之所以称为“同步中断”是因为只有在一条指令中止执行后CPU才会发出这类中断信号。
而异步中断(通常意义上的中断,来自外部)则是指由其他硬件设备依照CPU时钟随机产生的中断信号。 在Intel 80x86 CPU手册中,同步中断和异步中断也被分别称为“异常(Exception)”和“中断(Interrupt)”。
-------------------------------------------------------------------------------------------------------------------
软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。很多情况下,软中断和"信号"有些类似,同时,软中断又是和硬中断相对应的,"硬中断是外部设备对CPU的中断","软中断通常是硬中断服务程序对内核的中断","信号则是由内核(或其他进程)对某个进程的中断"(《Linux内核源代码情景分析》第三章)。
软中断的一种典型应用就是所谓的"下半部"(bottom half),它的得名来自于将硬件中断处理分离成"上半部"和"下半部"两个阶段的机制:上半部在屏蔽中断的上下文中运行,用于完成关键性的处理动作;而下半部则相对来说并不是非常紧急的,通常还是比较耗时的,因此由系统自行安排运行时机,不在中断服务上下文中执行。bottom half的应用也是激励内核发展出目前的软中断机制的原因。
软中断是linux系统原“底半处理”的升级,在原有的基础上发展的新的处理方式,以适应多cpu 、多线程的软中断处理。
一般来说,软中断是由内核机制的触发事件引起的(例如进程运行超时),但是不可忽视有大量的软中断也是由于和硬件有关的中断引起的,例如当打印机端口产生一个硬件中断时,会通知和硬件相关的硬中断,硬中断就会产生一个软中断并送到操作系统内核里,这样内核就会根据这个软中断唤醒睡眠在打印机任务队列中的处理进程。
在网络编程中,软中断用来引发协议层代码的执行
中断通常被分为“同步中断”和异步中断两大类。
同步中断是指当指令执行时由CPU控制单元产生的中断,之所以称为“同步中断”是因为只有在一条指令中止执行后CPU才会发出这类中断信号。
而异步中断(通常意义上的中断,来自外部)则是指由其他硬件设备依照CPU时钟随机产生的中断信号。 在Intel 80x86 CPU手册中,同步中断和异步中断也被分别称为“异常(Exception)”和“中断(Interrupt)”。
-------------------------------------------------------------------------------------------------------------------
软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。很多情况下,软中断和"信号"有些类似,同时,软中断又是和硬中断相对应的,"硬中断是外部设备对CPU的中断","软中断通常是硬中断服务程序对内核的中断","信号则是由内核(或其他进程)对某个进程的中断"(《Linux内核源代码情景分析》第三章)。
软中断的一种典型应用就是所谓的"下半部"(bottom half),它的得名来自于将硬件中断处理分离成"上半部"和"下半部"两个阶段的机制:上半部在屏蔽中断的上下文中运行,用于完成关键性的处理动作;而下半部则相对来说并不是非常紧急的,通常还是比较耗时的,因此由系统自行安排运行时机,不在中断服务上下文中执行。bottom half的应用也是激励内核发展出目前的软中断机制的原因。
软中断是linux系统原“底半处理”的升级,在原有的基础上发展的新的处理方式,以适应多cpu 、多线程的软中断处理。
一般来说,软中断是由内核机制的触发事件引起的(例如进程运行超时),但是不可忽视有大量的软中断也是由于和硬件有关的中断引起的,例如当打印机端口产生一个硬件中断时,会通知和硬件相关的硬中断,硬中断就会产生一个软中断并送到操作系统内核里,这样内核就会根据这个软中断唤醒睡眠在打印机任务队列中的处理进程。
在网络编程中,软中断用来引发协议层代码的执行
相关文章推荐
- 3. ARMv8 中断及异常处理(包括系统调用,系统调用即同步异常)
- 【转载】内核控制路径,内核同步,中断,异常--x86
- 【中断异常】软中断与Bottom Half
- 内核控制路径,内核同步,中断,异常--x86
- 【转载】内核控制路径,内核同步,中断,异常--x86
- 同步中断(异常)和 软中断
- 转载只为记录经典之<内核控制路径,内核同步,中断,异常--x86>
- 一个没有引发异常中断的access violation
- SSRS编译异常中断解决办法
- 软中断 和 硬中断
- 软中断和硬中断的区别
- Linux内核中断和异常分析(下)
- 中断和异常的区别
- 中断与异常的区别
- 路由器】路由器3G类异常,即3G业务不定时中断,造成过一段时间后业务可以自动恢复,或者必须通过重启路由器等操作业务才能够恢复
- 中断子系统8_软中断入口处理
- ARM异常和中断
- ARM中断异常处理的返回
- 中断与异常的区别
- Oracle技术之11.2 RAC时间同步异常(一)