- 博客(5)
- 收藏
- 关注
原创 走过2015,2016我将继续前行
写在前面 一转眼,一年时光就这么溜走了。 在这辞旧迎新之际(这说法是不是很官方啊,呵呵!),我将对即将过去的2014年进行一番总结,并对即将来临的2015年进行一番展望。本文将从工作,学习和生活三方面来展开。 一、工作 对于这一年的工作,我可以用一句话来概括。 ◆不论是技术还是业务,都获得了惊人的提高,但是缺少亮点。 1. 技术上 因为还在同一
2016-09-05 17:11:52 340
原创 网络子系统初始化--ipv4模块加载时初始化
ipv4(或者叫af_inet)模块的启动入口点为net/ipv4/af_inet.c:1512,该函数写的很整齐,方便了我们这些读者。下面就对其进行解读。1.首先是三个proto_register(),分别注册了tcp_prot,udp_prot,raw_prot三个协议(struct proto[include/net/sock.h:594])(这三个对象在后面的初始化过程中还会涉及到,可以比较一下出现这两次的目的何在),跟到proto_register()[net/core/sock.c:2041]中
2010-11-16 21:33:00 1123
原创 网络子系统初始化--系统启动时初始化
网络启动初始化函数入口为net/socket.c:2200:socket_init()static int __init sock_init(void) { /* * Initialize sock SLAB cache. */ sk_init(); /* * Initialize skbuff SLAB cache */
2010-11-14 15:15:00 830
原创 C头文件编写原则
在使用C语言编写大型工程时要用到面向对象语言中的一些特性(内核中某些部分就应用了这些特性)。C语言是基于文件的类,static关键字声明私有数据成员,公有数据成员必须定义到头文件,或由其它文件使用extern关键字声明来使用。但后者引用关系不清晰。头文件就成了公有数据成员声明的地方。头文件中应该包含以下及方面内容:头文件中需要引用的其它头文件内部外部都要使用到的宏内部外部都要使
2009-09-20 15:14:00 697
原创 内核文件操作
首先分析一下sys_read系统调用(内核版本为2.6.19.4)。源代码如下(摘自fs/read_write.c)SYSCALL_DEFINE3(read, unsigned int, fd, char __user *, buf, size_t, count){ struct file *file; ssize_t ret = -EBADF; int fput_need
2009-09-19 17:10:00 4282 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人