- 博客(3)
- 收藏
- 关注
原创 二分查找
二分查找作为一个高效的查找算法(O(lgN))到处可见其身影,这里分享一点儿我的理解与体会。 二分查找虽然高效,但局限性也很明显: 首先,需要是连续内存; 其次,序列应该是已经排序好的,不管从小到大或者从大到小。 就以上两点,很多情况下都不能用二分查找。比如,我的数据可能是动态增加的,会有很多的添加操作。如果使用连续内存的话,显然会有大量的内存移动。因此,只能用链式
2013-12-11 20:49:09 1037
原创 TCP/IP:frame的接收方式之中断方式
在学习TCP/IP时,不可避免地要理解接收frame的中断方式和轮询方式,以及两者的结合。为什么不坚持中断方式?因为在负载高时效率低,为什么低?因为中断频繁...等等。其实,如果我们理解了中断的过程,那么就很好理解了。 首先,我们来看看中断方式相对于轮询方式的优点。 由于我们不知道数据包什么时候会来,因此,为了能否在数据包来后及时的处理,所以要不停的去读状态看看数据来了没。显然,如
2013-12-07 22:16:20 2242
原创 sk_buff经过协议栈时的变化---从TCP层向下到链路层
近来开始结合linux源码看TCP/IP,看到sk_buff时被其各个数据成员弄得有些糊涂,靠死记硬背显然是不行的。最终,结合书本(Understanding LINUX Network Internals)把sk_buff中主要的几个数据成员的变化情况画了出来。这种学习方法我一直在用,效果挺好。 transport layer: 首先,看看通过alloc_skb创建的sk_buff的内
2013-12-03 21:48:04 1755
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人