Linux 软中断学习资料整理
来源:互联网 发布:linux smp affinity 编辑:程序博客网 时间:2024/04/29 19:39
一、软中断的触发时机
软中断有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中断机制学习整理
- linux内核学习笔记:资料整理
- linux学习资料备份(持续整理)
- Linux kernel 内核学习路线资料整理
- MSSQL学习资料整理
- MSSQL学习资料整理
- MSSQL学习资料整理
- 学习资料链接整理
- 学习资料整理
- HTML5学习资料整理
- FLASH学习资料整理
- iPhone 学习资料整理
- Android 学习资料整理
- vim学习资料整理
- flash学习资料整理
- android学习资料整理
- redis资料学习整理
- phoneGap平台的运用
- 操作系统常见面试题总结
- 黑马程序员_7k面试题之交通灯管理系统
- 吉首大学_编译原理实验题_基于预测方法的语法分析程序的设计【通过代码】
- Nosql Mongodb之旅(14)—MongoDB 数据备份
- Linux 软中断学习资料整理
- 黑马程序员_7k面试题之银行业务调度系统
- 正确使用STL-MAP中Erase函数 一切尽在代码中。
- QT项目升级(QT4.6.3到QT5.2)时,遇到的问题和解决方法
- mysql字符太长警告
- 在matlab中获取当前日期和时间
- 删除[.svn]等多余的文件(Windows和MAC)
- Nosql Mongodb之旅(15)—MongoDB 安全访问
- 计算机经典书籍电子书合集(适合计算机学生学习以及程序员笔试、面试)