用户操作
[即时聊天] [发私信] [加为好友]
文档ID:CSDN_document
547848次访问,排名81,好友0人,关注者4人。
CSDN_document的文章
原创 211 篇
翻译 0 篇
转载 0 篇
评论 334 篇
最近评论
bluehouse1985:Linux 环境下的多核调试
— Intel + Totalview 强强联合!
目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Total……
bluehouse1985:Linux 环境下的多核调试
— Intel + Totalview 强强联合!
目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Total……
bluehouse1985:Linux 环境下的多核调试
— Intel + Totalview 强强联合!
目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Total……
bluehouse1985:Linux 环境下的多核调试
— Intel + Totalview 强强联合!
目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Total……
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
文章分类
收藏
    相册
    AMT
    BEA
    CA
    Eclipse
    Eicon
    eMag
    SAP
    windows
    电子政务
    开源
    内核
    人物
    用友
    综合
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 看Linux内核源码 练内力必备技能收藏

    新一篇: 内核编译问题详解 | 旧一篇: linux配置、编译内核实用工具

         

    作者:顾宏军 张佳

    由于操作系统的内核贴近硬件,需要对计算机的体系结构有所了解,例如CPU的工作原理、接口特性和BIOS调用等。读者千万别因为这些望而却步,这里将介绍一些阅读Linux内核源码必备的技能。

                                      
    获取内核
       
    一般在Linux系统中的/usr/src/linux*.*.**.*.*代表的是内核版本,如2.4.23)目录下就是内核源代码(如果没有类似目录,是因为还没安装内核代码)。另外还可从互连网上免费下载。注意,不要总到http://www.kernel.org/去下载,最好使用它的镜像站点下载。请在http://www.kernel.org/mirrors/里找一个合适的下载点,再到pub/linux/kernel/v2.6/目录下去下载2.4.23内核。这里有两种类型的代码包,即linux-2.4.23.tar.gzlinux-2.4.23.tar.bz2。两个代码包内容是一样的,只是压缩程序不同。.gz是用gzip压缩的;.bz2是用bzip2压缩的。bzip2的压缩能力比gzip强。

                                    
    代码目录结构
       
    在阅读源码之前,还应知道Linux内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等组成。Linux内核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.4.23目录):
    arch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。
    include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下。
    init目录包含核心的初始化代码(不是系统的引导代码),有main.cVersion.c两个文件。这是研究核心如何工作的好起点。
    mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下。
    drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound
    ipc目录包含了核心进程间的通信代码。
    modules目录存放了已建好的、可动态加载的模块。
    fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录。
        Kernel
    内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下。
    net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面。
    lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下。
    scripts目录包含用于配置核心的脚本文件。
    documentation目录下是一些文档,是对每个目录作用的具体说明。
       
    一般在每个目录下都有一个.depend文件和一个Makefile文件。这两个文件都是编译时使用的辅助文件。仔细阅读这两个文件对弄清各个文件之间的联系和依托关系很有帮助。另外有的目录下还有Readme文件,它是对该目录下文件的一些说明,同样有利于对内核源码的理解。

                                      
    阅读起步
       
    在阅读方法或顺序上,有纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是按模块进行。它们经常结合在一起进行。对于Linux启动的代码可顺着Linux的启动顺序一步步来阅读;对于像内存管理部分,可以单独拿出来进行阅读分析。实际上这是一个反复的过程,不可能读一遍就理解。
        LXR
    http://lxr.linux.no)是一个辅助阅读的好工具,它能对指定的源码文件建立索引数据库,利用Perl脚本动态生成包含源码的Web页面。在此Web页中,所有的变量、常量和函数都以超连接的形式给出,查阅十分方便。另外,LXR还提供标识符搜索和文件搜索,结合程序Glimpse(http://glimpse.cs.arizona.edu)还可以对所有的源码文件进行全文检索,甚至包括注释。其安装方法可以参照其代码中的帮助文件。在Window下也有一适合Linux内核阅读的工具称作Source Insight(可从http://www.sourcedyn.com下载)。

     

    发表于 @ 2005年07月11日 16:40:00|评论(loading...)|编辑

    新一篇: 内核编译问题详解 | 旧一篇: linux配置、编译内核实用工具

    评论

    #老狼 发表于2005-07-21 18:26:00  IP: 61.186.252.*
    看Linux内核源码 练内力必备技能 ,
    这个标题我就不喜欢了,做windows32的人肯定没看过Linux内核代码,内功肯定不比你低。
    #What a hell 发表于2006-08-18 19:09:00  IP: 222.212.227.*
    我可以肯定做windows的人一定不理解什么才是真正意思上的操作系统.
    #What a hell 发表于2006-08-18 19:12:00  IP: 222.212.227.*
    我可以肯定做windows的人一定不理解什么才是真正意思上的操作系统.
    #beat what a hell 发表于2006-09-01 10:04:00  IP: 203.86.41.*
    什么叫做Windows的人一定不理解什么才是真正意思上的操作系统,典型的井底之蛙!
    #beat what a hell 发表于2006-09-01 10:04:00  IP: 203.86.41.*
    什么叫做Windows的人一定不理解什么才是真正意思上的操作系统,典型的井底之蛙!
    #netstree 发表于2006-11-13 16:03:00  IP: 60.216.0.*
    什么叫做Windows的人一定不理解什么才是真正意思上的操作系统?
    你以为别人都是吃素的?你又了解了多少windows的皮毛?你知道什么才是真正意思上的操作系统?最痛恨人云亦云地信口胡说的家伙。
    #Fanyunfeng 发表于2006-12-05 21:08:48  IP: 220.231.41.*
    说话太不着听了
    #shuyinhe111 发表于2007-01-21 19:11:55  IP: 202.103.152.*
    口太快
    #bluehouse1985 发表于2008-09-24 14:07:25  IP: 116.231.56.*
    Linux 环境下的多核调试
    — Intel + Totalview 强强联合!
    目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Totalview Debugger 正是在这种情况下应运而生!
    Intel软件可以在英特尔架构上产生出色的应用程序性能,并可以利用最新英特尔多核处理器的各项先进功能。TotalView Debugger与Intel软件的结合将会掀起一场linux下调试工具的革命!
    TotalView Debugger是一个linux平台并行环境下的调试工具,它的IDE环境、多线程(进程)调试能力、内存调试能力、集群调试能力在业界都是无与伦比的!
    XLsoft携手Intel、TotalView公司于2008年10月30日在上海举行“Linux 环境下的多核调试”免费培训讲座。我们非常荣幸地邀请您参加,并提供免费软件试用光盘!

    一、报名方式:
    电话:021-62128912/010-84492749
    Email:Marketing@xlsoft.com.cn

    二、讲座内容:
    1. Linux 平台下程序调试工具概述
    2. Intel 软件功能介绍
    3. Totalview Debugger功能介绍

    三、讲座时间:
    2008年10月30日(星期四)14:00 ~ 17:00

    四、讲座地点:
    上海青松城大酒店3楼长悦厅
    (徐家汇肇家浜路777号东安路口,距衡山路站约15分钟路程)

    四、活动详情:
    联系人:王娟
    Tel:021-62128916 Mobile: 15000262606
    E-mail:kiko.wang@xlsoft.com.cn

    咨询热线:
    021-62128912 010-84492749
    更多的服务信息,请联系我们Marketing@xlsoft.com.cn or 联系方式。

    上海世全软件信息技术有限公司
    联系电话 上海:021-62128912 北京:010-84492749

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © CSDN_document