中断分为非屏蔽中断和屏蔽中断。异常又分为故障和陷阱。 异常的向量和非屏蔽中断的向量和是固定的,而屏蔽中断的向量可以通过对中断控制器的编程来改变。Linux对256个向量的分配如下: 1、从0~31的向量对应于异常和非屏蔽中断。 2、从32~47的向量(即由I/O设备引起的中断)分配给屏蔽中断。 3、剩余的从48~255的向量用来标识软中断。Linux只用了其中的一个(即12...
分类:
其他好文 时间:
2015-02-09 16:02:01
阅读次数:
220
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/引言 前一篇关于linux系统如何实现fork的研究(一)通过代码已经说明了从用户态怎么通过软中断实现调用系统调用clone函数,而clone函数的精华copy_process函数就在此篇文章中进行分析。我们知道....
分类:
系统相关 时间:
2015-02-04 18:05:41
阅读次数:
265
经过一两个月的学习,对pf_ring DNA的内核部分有了一些认识,本文侧重pf_ring对ixgbe的改动分析。先说一说接收流程吧,流程如下:其中,硬中断处理函数是ixgbe_msix_clean_rings( );软中断处理函数是net_rx_action( )。pf_ring对ixgbe的改动...
分类:
其他好文 时间:
2015-02-04 15:56:53
阅读次数:
503
转自:黑客反病毒APC注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的,其具体流程如下: 1)当EXE里某个线程执行到SleepEx()或者WaitForSingleObjectEx()时,系统就会产生一个软中断。 2...
分类:
其他好文 时间:
2015-02-02 22:44:14
阅读次数:
189
点击打开链接一,linux软中断的概念软中断(softirq)常常表示可延迟函数的所有种类,目前linux上使用的软中断个数是有限的,linux最多注册32个,目前使用了10个,在interrupt.h中定义,中断上下文:表示内核当前正在执行一个中断处理程序或者一个可延迟函数。软中断(即使同一类型的...
分类:
系统相关 时间:
2015-01-18 21:00:02
阅读次数:
242
1,Tasklet的概念tasklet是利用软中断实现的一种下半部机制,tasklet由两类软中断的代表,HI_SOFTIRQ和TASKLET_SOFTIRQ,这两个的区别是HI_SOFTIRQ类型的软中断先于TASKLET_SOFTIRQ类型的软中断先执行。tasklet由tasklet_stru...
分类:
系统相关 时间:
2015-01-18 20:59:02
阅读次数:
220
下面是一台服务器的top后的cpu状态:si的意思是systeminterrupt,也就是系统层面的软中断。也就是说一颗cpu接受一个软件的请求时,需要放弃其他正在处理的工作,这么一切换就是软中断。默认情况下,程序都会使用第一颗CPU,所以会造成第一颗CPU的si较大,而其他核心的si较小,..
分类:
其他好文 时间:
2015-01-08 07:18:35
阅读次数:
205
中断子系统的总结, 包括硬中断, 软中断的处理, 以及tasklet/workqueue 的部分....
分类:
系统相关 时间:
2015-01-04 17:19:53
阅读次数:
306
1.背景网卡接收一个数据包的情况下,会经过三个阶段:- 网卡产生硬件中断通知CPU有包到达- 通过软中断处理此数据包- 在用户态程序处理此数据包在SMP体系下,这三个阶段有可能在3个不同的CPU上处理,如下图所示:而RFS的目标就是增加CPU缓存的命中率从而提高网络延迟。当使用RFS后,其效果如下:...
分类:
其他好文 时间:
2014-12-24 14:39:47
阅读次数:
206
背景: 内核接收分组的方式有两种:第一种:传统方式,使用中断的方式;第二种:NAPI,使用中断和轮询结合的方式。中断方式: 下图为一个分组到达NIC之后,该分组穿过内核到达网络层函数的路径。此图的下半部分为中断处理,上半部分为软中断。在中断处理中,函数net_interupt是设备驱动程序的...
分类:
其他好文 时间:
2014-12-24 13:25:29
阅读次数:
452