免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 978 | 回复: 0
打印 上一主题 下一主题

准备好开始读LINUX 内核了吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-25 22:03 |只看该作者 |倒序浏览

linux 读核装备
进入C代码部分


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

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

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

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

    5,如果是完整的代码,arch和include里还有很多别的体系结构的代码,我的CPU是Piii所以留下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,X86的proctect-mode。可以到网上找

    总之,基础知识是很重要的,如果没有积累,恐怕也不可能看懂核心。比如下面几个简单的东西。如果你还不明白,想看懂核心恐怕有点难。
        “进程控制块,进程扇,进程链。down和up操作,生产者,消费者。。。,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.c,let's go!!!



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7720/showart_37600.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP