注册 登录
自由的生活_软路由 返回首页

心想事成的个人空间 https://bbs.routerclub.com/?681 [收藏] [复制] [分享] [RSS]

日志

分享 Linux内核多线程(三)
2013-3-13 22:48
接上 一篇文章 ,这里介绍另一种线程间通信的方式:completion机制。Completion机制是线程间通信的一种轻量级机制:允许一个线程告诉另一个线程工作已经完成。为使用 completion, 需要包含头文件 linux/completion.h。 可以通过以下方式来创建一个 completion : DECLARE_COMPLETION(my_completion); 或者, ...
947 次阅读|0 个评论
分享 在内核计算tcp ip的增量校验
2013-3-11 22:52
最近做一个程序,修改了ip包,于是要做校验。 搜索到了哥德巴赫猜想 的《增量式修改检验和(IP, TCP, UDP)算法的研究和实现》 抄了里面的代码,用来算ip的sum是正确的,算tcp的sum就不时出错(不正确),于是用google找啊找。 原来内核的源码里就有现成的增量计算csum的函数。 参考了net/netfilter/xt_TCP ...
3022 次阅读|0 个评论
分享 从nginx中提取出来的内存池代码
2013-2-20 13:27
代码很简单,但是没有线程锁定。 最近 学习nginx的源代码,深深地喜欢它的内存池管理方式,一次性申请大块的内存以供分配,避免了小内存的频繁申请释放产生的碎片,而且统一的内存释放可以保证不会有内存泄露。 我在此把nginx的内存池管理代码提取出来方便单独使用。(代码下载地址 http://dl.dbank.com/c ...
1292 次阅读|0 个评论
分享 gettimeofday 和 linux vDSO
2013-2-14 00:14
到微-博里面说道gettimeofday的优化问题,如果程序需要调用gettimeofday太频繁的话,都是设置定时器,比如一毫秒的,获取到时间保存下来作为cache提供,这样可以减少gettimeofday的数量。这个之前就了解了。 还提到LinuxvDSO的,其实我之 ...
1279 次阅读|0 个评论
分享 libevent的http请求处理
2013-2-12 10:47
最近本来有个长链接代理需求,我想用libevent做请求服务器,然后交给后面的线程池处理。这里将libevent处理http请求的过程做个备忘。 01 #include sys/types.h 02 #include sys/time.h 03 #include sys/queue.h 04 #include sys/types.h 05 # ...
1574 次阅读|0 个评论
分享 Netfilter的expect连接的原理和利用
2013-2-9 16:24
ip_conntrack有一个特性,那就是可以跟踪expect连接,所谓的expect连接,理解起来很简单,那就是“在一个连接中生成的另一个连接”,那么如何来识别一个连接要生成另一个连接呢?以FTP为例,FTP服务器会将文件传输所用的地址和端口信息作为数据载荷传输到对端的,Linux网关捕获这个数据包,将其解开然后根据FTP的协议规范 ...
1161 次阅读|0 个评论
分享 对ELF 执行程序的签名和校验
2013-1-29 21:03
在 lwn.net 上,有人放出了一个内核补丁,内核打上补丁后,用自己的私钥对elf文件进行签名和校验,确保非法的elf不能执行。这是一个非常好的安全机制。 原理很简单,用它的工具对elf的PT_LOAD段进行校验和签名,并签名到.signature节中, 内核在执行这个elf时,检查这个签名,从而判断能否执行。 但目前还不完 ...
1850 次阅读|0 个评论
分享 怎样完全定制自己的debian 6.0 安装 iso
2013-1-5 23:06
http://wiki.debian.org/DebianInstaller/Modify/CD http://tonychiu.blog.51cto.com/656605/640829 http://www.debian.org/releases/stable/s390/apbs04.html.zh_CN 直接修改deibian的iso里的pool文件,很麻烦。有一个方便的办法,就是通过debootstrap来下载基本系统所需要的软件包,然后使用apt-move生成 ...
2641 次阅读|0 个评论

本页有 2 篇日志因作者的隐私设置或未通过审核而隐藏

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-4-28 03:11 , Processed in 0.166859 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

返回顶部