Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > 准备好开始读LINUX 内核了吗?
【标  题】:准备好开始读LINUX 内核了吗?
【关键字】:LINUX
【来  源】:http://blog.chinaunix.net/article.php?articleId=37600&blogId=7720

准备好开始读LINUX 内核了吗?

Your Ad Here

linux 读核装备

进入C代码部分

 

第一部分 准备

1。内核代码结构

       核心从/arch/kernel/head.s跳转出来后,进如了c语言广阔的海洋。在浩如烟海的代码中有很多东西是读核心可以放弃的。对于大部分windows菜鸟来说,还是使用source-insight来读代码吧,不过如果把所有的代码都加到source-insight里去(180M180M),速度太慢。在建立工程前先瘦身。

    1,NET,(你想做一个过时的黑客吗?如果不想放弃吧)

 

    2,sound,2。6的核心居然有这么个单独的目录,我都没有仔细看就把它放弃了。

 

    3,drivers,如果想知道驱动怎么写,可以看看,linux device driver 2nd Edition,网上有英文版的,书店有中文版。没有必要乍在这里看成千上万行程序代码。

 

    4,fs,里面有太多流浪狗没有见过的文件系统,最多留下ext2ext3就可以了。当然fs/*.c还是要留下的。

 

    5,如果是完整的代码,archinclude里还有很多别的体系结构的代码,我的CPUPiii所以留下i386部分。里面还有些amd-cpu的东西,不过不太多可以留下。

 

    6,其他还有几个小目录都可以留下,不过重要的是,kernel ,mm,ipc,init,include,arch,

 

    7,打开source-insight如果觉得它字体不太适应,可以在options--preferences--syntax formatting--basics里勾上,use-only-color-formatting。其他的东西再慢慢熟悉把。

 

    8,在source-insight工程里jump to definition 和回退的快捷键分别是Ctrl+=Alt+,

       9,完成如上准备后就可以开始旅行啦,yeah!!!

 

2。阅读核心的准备。

    流浪狗也不知道阅读核心代码需要多少基础知识,不过我会列举一些我觉得会用到的知识和我喜欢的书。因为流浪狗是非计算机专业的门外汉,所以很多东西可能对计算机专业的高手不太适合。

    0,必须会使用计算机!!!

    1,C语言知识。

    2,操作系统基础知识,我比较喜欢的书是《现代操作系统》。

    3,和unix系统的一些基本知识。ext2文件结构,fork等。

    4,X86proctect-mode。可以到网上找

 

    总之,基础知识是很重要的,如果没有积累,恐怕也不可能看懂核心。比如下面几个简单的东西。如果你还不明白,想看懂核心恐怕有点难。

        进程控制块,进程扇,进程链。downup操作,生产者,消费者。。。,LRU

 

    下面是部分书和资源,还有和很多一时想不起来了。

 

    OReilly - Understanding the Linux Kernel - 2nd Edition.chm(深入理解linux kernel),流浪狗看了一遍又一遍。

 

    OReilly - linux device driver- 2nd Edition,补充对设备驱动的理解。

 

    LINUX内核源代码情景分析(上,下),有的地方讲得比较详细,不过电子版(D版)很难看。说真的我很讨厌这本书的前言。

   

    google查找利索脚。

 

    joyfire笔记,是个网站。经常在csdn上逢人便说欢迎访问http://joyfire.net/。

 

    浙江大学的 linux分析报告 98 96,一个是研究生班,一个是本科班,如果有兴趣可以看看研究生是怎么毕业的 :-)

   

    NB的当然还是www.google.com了。

 

    核心第一个c代码函数是start-kernel,位置在init/main.clet's go!!!

 

在vmware的solaris9.0配置上网备忘...:【上一篇】
边跑边读LINUX KERNEL:【下一篇】
【相关文章】
  • Linux 170个常见问题的详细解答
  • LINUX系统目录详解
  • Linux下加挂文件系统小结(zz)
  • linux-几个命令
  • LINUX RH9 第一天。
  • BroadCom Netxtreme 57xx以太网卡在RedHat Linux 9上的安装
  • Linux使用技巧集锦 ZT
  • Linux常用命令集
  • Linux qmail安装指南
  • 我见过的最详细的关于linux下的防火墙和网络安全的文章
  • 【随机文章】
  • Webmin:Unix上的GUI管理工具
  • Linux管理员手册(4)--内存管理
  • 比较Oracle SQL中的IN & EXISTS
  • 让Word 2000打印收放自如
  • Apache commons-Email中文问题的解决办法
  • 看完altas之后,感觉新的时代马上到来
  • 传奇世界 变态武器升级经典
  • coolfly教程-破解入门第二集
  • SQL注入-ASP漏洞全接触--进阶篇
  • 在什么情况下才需要用volatile?
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.