Linux 软中断学习资料整理
2014-04-21 13:12
218 查看
一、软中断的触发时机
软中断有4个执行时机
1、从系统调用中返回(arch/i386/kernel/entry.S::ENTRY(ret_from_sys_call))、
2、从异常中返回(arch/i386/kernel/entry.S::ret_from_exception标号)、
3、调度程序中(kernel/sched.c::schedule())、
4、处理完硬件中断之后(kernel/irq.c::do_IRQ())。
它将遍历所有的softirq_vec,依次启动其中的action()。需要注意的是,软中断服务程序,不允许在硬中断服务程序中执行,也不允许在软中断服务程序中嵌套执行,但允许多个软中断服务程序同时在多个CPU上并发。
软中断是一种推后执行的机制,定时器,网卡的数据的处理是很典型的软中断,这个和中断向 量表里的中断是完全不一样的,以网络数据的处理为例,当网卡接到一个数据包后,其中断处理程序只是把数据复制到缓冲区,然后就告诉网卡,你可以再传数据给
我了,也就是中断返回,但在此之前,网卡的中断处理程序要置一个标志位,告诉操作系统有事要做,这个事就是软中断,但软中断只是很多中断返回时要做的事情 之一,操作系统每次中断返回时会检查着个标志位,看是否有事要做,如果有,就会去处理,象前面提到的网卡,这时候操作系统就回调用软中断的处理函数,网卡 的软中断程序就是做分析数据包啊,这个数据应该传给谁啊等这些工作.没有,就返回了,除了必须的部分
软中断与硬中断区别详细参考
http://blog.csdn.net/cjsycyl/article/details/7387655
二、浅析linux中断
http://blog.csdn.net/super_demo/article/details/16362801
三、中断编程示例、及深入分析
http://blog.csdn.net/tigerjibo/article/details/6069516
四、软中断、tasklet和工作队列区别
http://www.cnblogs.com/li-hao/archive/2012/01/12/2321084.html
五、linux系统调用
http://blog.csdn.net/super_demo/article/details/16363341
软中断有4个执行时机
1、从系统调用中返回(arch/i386/kernel/entry.S::ENTRY(ret_from_sys_call))、
2、从异常中返回(arch/i386/kernel/entry.S::ret_from_exception标号)、
3、调度程序中(kernel/sched.c::schedule())、
4、处理完硬件中断之后(kernel/irq.c::do_IRQ())。
它将遍历所有的softirq_vec,依次启动其中的action()。需要注意的是,软中断服务程序,不允许在硬中断服务程序中执行,也不允许在软中断服务程序中嵌套执行,但允许多个软中断服务程序同时在多个CPU上并发。
软中断是一种推后执行的机制,定时器,网卡的数据的处理是很典型的软中断,这个和中断向 量表里的中断是完全不一样的,以网络数据的处理为例,当网卡接到一个数据包后,其中断处理程序只是把数据复制到缓冲区,然后就告诉网卡,你可以再传数据给
我了,也就是中断返回,但在此之前,网卡的中断处理程序要置一个标志位,告诉操作系统有事要做,这个事就是软中断,但软中断只是很多中断返回时要做的事情 之一,操作系统每次中断返回时会检查着个标志位,看是否有事要做,如果有,就会去处理,象前面提到的网卡,这时候操作系统就回调用软中断的处理函数,网卡 的软中断程序就是做分析数据包啊,这个数据应该传给谁啊等这些工作.没有,就返回了,除了必须的部分
软中断与硬中断区别详细参考
http://blog.csdn.net/cjsycyl/article/details/7387655
二、浅析linux中断
http://blog.csdn.net/super_demo/article/details/16362801
三、中断编程示例、及深入分析
http://blog.csdn.net/tigerjibo/article/details/6069516
四、软中断、tasklet和工作队列区别
http://www.cnblogs.com/li-hao/archive/2012/01/12/2321084.html
五、linux系统调用
http://blog.csdn.net/super_demo/article/details/16363341
相关文章推荐
- linux 驱动开发第三方学习框架资料整理
- [推荐]LINUX运维工程师学习资料[elain整理]
- 【Linux学习笔记】Linux/UNIX系统调用详解(资料整理)
- Linux学习资料整理
- linux学习资料备份(持续整理)
- Linux学习资料整理
- 【转帖】2009-2010网络最热的 嵌入式学习|ARM|Linux|wince|ucos|经典资料与实例分析
- 渗透学习——资料整理
- 【旧资料整理】linux rm 安全
- linux学习资料
- 安卓——安卓开发学习资料整理
- [ios专项]NSDictionary 和NSMutableDictionary 学习资料整理
- iOS 学习资料整理
- vr rgb yuv学习资料整理
- Solaris学习资料收集与整理
- 学习资料整理
- Kotlin 学习资料整理
- skynet学习资料整理
- asp.net core 学习资料整理
- EF7学习资料整理