1、刚工作时做Linux 流控;后来做安全操作系统;再后来做操作系统加固;现在做TCP 加速。唉!没离开过类Unix!!!但是水平有限。。
全部博文(353)
发布时间:2015-06-04 12:30:28
结构体struct module在内核中代表一个内核模块,通过insmod(实际执行init_module系统调用)把内核模块插入内核时,模块便与一个struct module结构体相关联,并成为内核的一部分。内核中对应的系统调用为kernel/module.c中如下函数:SYSCALL_DEFINE3(init_module, void __user *, umod, unsigned long, len, const .........【阅读全文】
发布时间:2015-06-04 12:29:26
BSD socketsocket是用户API与网络协议栈之间的一个中间接口层,用户通过调用socket api将报文传给协议栈,或者从协议栈读取报文。对于用户来说,socket就是一个打开的文件,linux内核中为socket定义了sockfs文件类型:static struct file_system_type sock_fs_type = {.name = "sockfs",.get_sb = sockfs_get_sb.........【阅读全文】
发布时间:2015-06-04 12:29:09
Tcp的处理中使用了三个队列,receive_queue,backlog_queue,pre_queue,在数据包到达tcp协议栈时,持有sk自旋锁,然后检查当前使用有进程上下文操作sk的逻辑,通过sock_owned_by_user判断,如果sk_lock.owned被赋值说明进程持有sk,如果为0则可以在当前软中断上下文中,继续数据报文的处理。&.........【阅读全文】