sock_init函数分析

内核版本为2.6.35.8

static int __init sock_init(void) @net/socket
该函数比较简单
    1,sk_init()// 初始化sock SLAB cathe
    2,skb_init() //初始化skb_buff SLAB cache
    3,init_inodecache(),//初始化一个socket_alloc类型的SLAB,该类型包括了socket和inode,于是socket和inode一一对应,对inode的操作便于转化为socket操作。该SLAB应用于sock_alloc()函数。
    4,register_filesystem(),变量为sock_fs_type//注册一个sock 文件系统,sock_fs_type提供了文件系统必要的操作函数,如get_sb,alloc_inode,destroy_inode等等。
    5,kern_mount(),同为sock_fs_type//挂载上述文件系统
    6,如果定义了netfilter,初始化之.

core_initcall(sock_init);   /* early initcall */  //该函数在初始化时被调用,并且比较早




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值