
我的几点想法
由 wheelz 在 周五, 2006-07-21 10:21 提交 IT人生1)首页的内容太杂,不简明,英文太多。
2)这里的论坛不好,非常不利于凝聚人气,能不能换成phpBB之类的。
3)建立一个kernel communications(内核通讯)的邮件列表。
4)建立专门的blog区(或者说主页区),类似于
- http://people.kernelchina.org/someone/
这样的。这个条件可以严一些,需要站长审批,水平高的可以邀请。
初步的想法,欢迎拍砖。

今天在KernelChina注册了
由 zzh 在 周五, 2006-07-21 00:41 提交 IT人生希望KernelChina为Kernel爱好者提供一个好的交流空间!
有个小问题,我注册之后,网站发给我的第一封邮件被gmail认为是垃圾邮件,不知道是什莫问题?

忍不住贴一下我和Andrew Morton的合影
由 wheelz 在 周三, 2006-07-19 17:16 提交 内核研究2006年6月16日Andrew Morton来华演讲,我和albcamus去听了,有幸与他合影,大家羡慕我吧?
albcamus在他的blog上有一篇文章:
http://blog.chinaunix.com/u/548/showart.php?id=129705

Linux内核TCP代码的一处冗余
由 wheelz 在 周三, 2006-07-19 11:21 提交 内核研究Linux2.6.17内核
tcp_input.c
tcp_rcv_state_process()
4465-4493行的一段代码:
if (!sock_flag(sk, SOCK_DEAD))
/* Wake up lingering close() */
sk->sk_state_change(sk);
else {
int tmo;
if (tp->linger2 < 0 ||
(TCP_SKB_CB(skb)->end_seq != TCP_SKB_CB(skb)->seq &&
after(TCP_SKB_CB(skb)->end_seq - th->fin, tp->rcv_nxt))) {
tcp_done(sk);
NET_INC_STATS_BH(LINUX_MIB_TCPABORTONDATA);

为网桥之端口配置IP地址的一个小陷阱
由 wheelz 在 周二, 2006-07-18 18:06 提交 系统启动通常,我们不需要为网桥的端口配置IP地址,但端口是可以配置IP地址的。这里面就有一个小的经验,就是不要使用ifconfig来配置IP地址。因为用ifconfig的话,内核会自动为该IP地址配置一个到link的路由。如果多个端口都配置了IP地址,或者网桥本身也配置了IP地址,势必会形成路由冲突,因为几乎可以肯定,他们同属于一个网段。
当然,用了ifconfig以后,再删除这个路由自然也是可以的。但这显然不符合审美。
不要用:
# ifconfig eth0 192.168.1.1 up

linuxforum.net又down了
由 wheelz 在 周二, 2006-07-18 09:10 提交 IT人生已经记不清这是第几次了,真的需要有一个解决方案。

协议栈的构建方法
由 droplet 在 周三, 2006-07-12 18:17 提交 网络协议栈我目前了解到了协议栈的构建方法有以下几种:
1:函数调用。协议栈各层之间通过函数调用来传递数据包和相关的数据结构。linux和bsd等开源系统采用这种方法。
2:消息传递。也就是基于流消息的协议栈构建方法。各层直接通过传递事件或消息来传递数据包和相关的数据结构。据说solaris和windows等商业操作系统采用这种方法。
3:包队列。各层直接通过包队列(queue)来连接,各层都实现为独立的进程或线程,通过轮询来收发数据包。线程主动去收发包,而不是通过事件来通知。有些系统的某些模块会采用这种方法。

有关栈的一点思考
由 droplet 在 周一, 2006-07-10 18:16 提交 进程调度进程
用户空间的栈
------
内核空间的栈
如果当前进程在用户空间运行,系统调用,中断,exception之后,进入到内核空间,
使用进程的内核空间的栈。
如果当前进程在内核空间运行,中断,exception之后,使用进程的内核空间的栈。
如果是内核线程,使用自己的栈,每个内核线程都不同。内核线程退出后,自动释放相应的数据结构。
进程是用户可见的活动实体,其他的都不是。
内核是可重入的,所有的进程进入内核空间后,都可以访问任意数据结构,所以,需要创建进程相关的

中断,软中断及其他
由 droplet 在 周五, 2006-07-07 14:09 提交 中断驱动在分析linux内核的中断,软中断时,先应该明确这样一个派生关系:
irq ==> softirq ==> tasklet ==> bottom half ==> task queue
----------------------------------------------|==> timer
中断是最初的原动力。分时系统依赖于时钟中断来定时重新调度可以运行的程序。外设通过中断来通知cpu处理相关的任务。中断处理程序是内核中一段特殊的,独立的,可运行实体。这个实体,某种程度上,是和进程或线程类似的。
由于中断需要快速处理,因此派生出来软中断softirq来处理中断没有处理完的事情。比如在网卡的驱动程序里,在中断环境里,只是把包放到一个队列里,然后由软中断来把包传递给进程,或者转发包等。

最新评论
1天 1 小时 前
1天 9 小时 前
2 天 5 小时 前
3 天 3 小时 前
6 天 1 小时 前
6 天 1 小时 前
6 天 5 小时 前
1周 1天 前
1周 1天 前
2 周 2 天 前