文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>网络的初试化

网络的初试化

时间:2006-07-12  来源:xiaosuo

大雨,瓢泼般的大雨!
由于工作需要,挑挑拣拣地看了部分Linux内核的网络部分源码,不成系统,故计划系统地看一遍。放在网上,不求别的,给自己一些激励,让自己没有理由偷懒!:)
File: init/main.c
        完成硬件的初试化后,内核从此开始执行
   445  asmlinkage void __init start_kernel(void)
                ... ...
   548          rest_init();
   549  }

   391  static void noinline rest_init(void)
   392          __releases(kernel_lock)
   393  {
        创建第一个init线程,用于系统其它部分的初试化
   394          kernel_thread(init, NULL, CLONE_FS | CLONE_SIGHAND);

   659  static int init(void * unused)
   660  {
                ... ...
   693          do_basic_setup();

   606  static void __init do_basic_setup(void)
   607  {
                ... ...
   617          /* Networking initialization needs a process context */
   618          sock_init();

File: net/socket.c
  2039  void __init sock_init(void)
  2040  {
  2041          /*
  2042           *      Initialize sock SLAB cache.
  2043           */
  2044
        初试化一些网络相关的sysctl变量
  2045          sk_init();
  2046
  2047  #ifdef SLAB_SKB
  2048          /*
  2049           *      Initialize skbuff SLAB cache
  2050           */
        初试化用于创建socket buffer的内存缓冲
  2051          skb_init();
  2052  #endif
  2053
  2054          /*
  2055           *      Initialize the protocols module.
  2056           */
  2057
        初试化协议模块
  2058          init_inodecache();
        注册并加载socket文件系统
  2059          register_filesystem(&sock_fs_type);
  2060          sock_mnt = kern_mount(&sock_fs_type);
  2061          /* The real protocol initialization is performed when
  2062           *  do_initcalls is run.
  2063           */
  2064
        初试化netfilter,用来初试化其hook表的链表头,创建netfilter的proc文件
        系统,初试化netfiter的队列和log
  2065  #ifdef CONFIG_NETFILTER
  2066          netfilter_init();
  2067  #endif
  2068  }

File: init/main.c
        执行所有的初试化调用
   620          do_initcalls();
   621  }
相关阅读 更多 +
排行榜 更多 +
龙珠格斗火柴人

龙珠格斗火柴人

飞行射击 下载
荒野恐龙猎手安卓版

荒野恐龙猎手安卓版

飞行射击 下载
超凡坦克英雄

超凡坦克英雄

飞行射击 下载