linux源码的核心部分_ovs源码中linux内核源码怎样查看? - CSDN
精华内容
参与话题
  • 本章讲述在Linux内核源码中,应该从何处开始查找特定的内核函数。 本书并不要求读者具有C语言编程能力,也不要求读者有一份可参阅的Linux内核源码, 事实上,通过查看内核源码可以在一定深度上理解Linux操作系统,...
    
    

    第11章Linux内核源代码
    本章讲述在Linux内核源码中,应该从何处开始查找特定的内核函数。
    本书并不要求读者具有C语言编程能力,也不要求读者有一份可参阅的Linux内核源码,
    事实上,通过查看内核源码可以在一定深度上理解Linux操作系统,同时这也是一个很好的实
    践机会。本章给出了对内核源码的概览:它们是如何编排的以及从何处开始查找特定代码。
    11.1怎样得到Linux内核源码
    所有主要的Linux系统(Craftworks、Debian、Slackware、RedHat等等)都包含有内核源码,
    通常所安装的Linux系统都是通过这些源码创建的。由于Linux总是不断更新,因此用户所安
    装的Linux可能已过时,不过从附录A所列的站点上可得到最新的源码,所有这些站点地址都
    可在ftp://ftp.cs.helsinki.fi上查到。
    Linux内核源码的版本号表示方法非常简单:所有偶数版(如2.0.30)都是已发行的稳定版;
    所有奇数版(如2.1.42)都是测试版,本书是基于2.0.30版撰写的。测试版包含所有的新特征,
    并支持所有的新设备,虽然测试版并不稳定,并且可能提供了一些用户不想要的东西,但对
    于Linux与用户沟通而言,测试新的内核是很重要的。不过请注意,在尝试非产品型的测试版
    之前,最好先完全备份系统。
    对内核源码的修改是作为patch文件出现的,patch工具提供了一组对源码文件的编辑。例
    如,若想把2.0.29源码升级为2.0.30版,则要使用patch文件来完成对源码的编辑,操作如下:
    这样做可以避免对所有源码文件的拷贝。在http://www.linuxhq.com站点上可找到很好的
    内核源码的patch。
    11.2内核源码的编排
    在源码目录树的最顶端(/usr/src/linux)可看到如下一些目录:
    *archarch子目录包含所有的特定体系结构的内核源码,它的子目录分别对应着一种
    Linux所支持的体系结构,例如i386和alpha。
    *includeinclude子目录包含大部分的编译内核源码所需文件。
    *init此目录下包含了内核的初始化代码,由此可以很好地开始了解内核是如何工作的。
    *mm此目录下包含了所有内存管理代码,特定体系结构的内存管理代码在arch/*/mm目
    录下。
    *drivers此目录下包含了系统所有的设备驱动程序,其下子目录各针对不同的设备驱动
    程序类。
    *ipc此目录下包含了内核的内部进程通信代码。
    *modules此目录只是用来保存创建的模块。

    *fs所有文件系统代码,其下子目录各针对不同的系统所支持的文件系统。
    *kernel内核主代码,特定体系结构内核代码保存在arch/*/kernel中。
    *net内核的网络代码。
    *lib此目录包含内核库代码,特定体系结构的库代码保存在arch/*/lib目录下。
    *scripts此目录包含了内核设置时用到的脚本。
    11.3从何处看起
    像Linux这样复杂的大程序,探究起来使人迷茫,这就像一个找不出头绪的大线团。要查
    看内核的某一部分通常会被引向许多其他的相关文件,最后甚至忘记了最初的动机。下面给
    出了一些提示,根据这些提示,对于给定的内容即可找到最好的开始阅读代码部分。
    1.系统启动和初使化
    在基于Intel的系统中,通常先运行loadlin.exe或LILO,由这两个程序将内核载入内存并启
    动内核,之后便由内核控制系统。在arch/i386/kernel/head.s中可找到这一部分,head.s先进行
    一些特定体系结构的安装,然后跳转到init/main.c中的main()例程。
    2.内存管理
    有关内存管理的代码大部分都在mm中,但与特定体系结构相关的部分则保存在
    arch/*/mm中,内存缺页处理代码在mm/memory.c中,内存映射和页缓冲代码在mm/filemap.c
    中,实现缓冲区缓存部分代码在mm/buffer.c中,页交换代码在mm/swap_state.c和
    mm/swapfile.c中。
    3.内核
    大部分通用内核代码在kernel中,与特定体系结构相关的代码在arch/*/kernel中,调度进
    程代码在kernel/sched.c中,创建子进程代码在kernel/fork.c中,BottomHalf控制程序代码在
    include/linux/interrupt.h中,task_struct数据结构的定义在include/linux/sched.h中。
    4.PCI
    PCI伪驱动程序在drivers/pci/pci.c中,系统全局定义在include/linux/pci.h中。每种体系结
    构都有其特定的PCIBIOS代码,如AlphaAxp的代码在arch/alpha/kernel/bios32.c中。
    5.内部进程间通信
    所有相关代码都在ipc中,所有的SystemVIPC对象都有一个ipc_perm数据结构,在
    include/linux/ipc.h中有该数据结构的定义。SystemV的消息机制代码在ipc/msg.c中,共享内
    存代码在ipc/shm.c中,信号量代码在ipc/sem.c中,管道代码在ipc/pipe.c中。
    6.中断处理
    内核的中断处理代码几乎都与特定微处理器相关。Intel的中断处理代码在
    arch/i386/kernel/irq.c中,并且定义在include/asm-i386/irq.h中。
    7.设备驱动程序
    大部分的Linux内核源码行在设备驱动程序中,所有设备驱动程序代码在drivers中,并分
    为如下几类:
    */block块设备驱动程序(如ide.c)。若要了解其初始化过程,参看drivers/block/genhd.c中
    的device_setup()函数,该函数不仅能初始化硬盘,也可以初始化网络。块设备包括IDE
    和SCSI设备。

    */char字符设备驱动程序,例如ttys、串口和鼠标。
    */cdromLinux的所有CDROM代码。在此可找到特定的CDROM设备(如SoundblasterCD
    ROM),请注意,ideCD驱动程序在drivers/block下的ide-cd.c中,而SCSICD驱动程序在
    drivers/scsi中的scsi.c中。
    */pciPCI伪驱动程序代码,由此可了解PCI子系统是如何映射和初始化的,arch/alpha
    /kernel/bios32.c中的AlphaPCI固化代码也值得一看。
    */scsi所有的SCSI代码,以及Linux所支持的所有scsi设备驱动程序代码。
    */net所有网络设备驱动程序代码。
    */sound所有声卡驱动程序代码。
    8.文件系统
    EXT2文件系统的代码都在fs/ext2/目录下,其数据结构定义在include/linux/ex2_fs.h、
    ext2_fs_i.h和ext2_fs_sb.h中,虚文件系统(VirtualFileSystem)数据结构在include/linux/fs.h中,
    代码在fs/*中,缓冲区缓存代码在fs/buffer.c中。
    9.网络
    网络部分代码在net中,其大部分的include文件在include/net中,BSD套接字代码在
    net/socket.c中,IP版本4INET套接字代码在net/ipv4/af_inet.c中,常用的协议支持代码(包括
    sk_buff控制例程)在net/core中,TCP/IP网络代码在net/ipv4中,而网络设备驱动程序在
    drivers/net中。
    10.模块
    内核模块代码一部分在kernel中,另一部分在模块包中,内核代码都在kernel/mcdules.c中,
    其数据结构和内核守护程序kerneld消息分别在include/linux/module.h和include/linux/kerneld.h
    中,ELF对象文件的结构定义在include/linux/elf.h中。

    展开全文
  • 下载对应的源码后(详情见linux源码阅读第一弹)解压,然后有如下的目录表; 于是我在网上找到一些关于每个目录的信息; Linux内核源代码的组成如下(假设相对于linux目录):  arch 这个子目录包含了此核心源...

    下载对应的源码后(详情见linux源码阅读第一弹)解压,然后有如下的目录表;


    于是我在网上找到一些关于每个目录的信息;

    Linux内核源代码的组成如下(假设相对于linux目录):


      arch 这个子目录包含了此核心源代码所支持的硬件体系结构相关的核心代码。如对于X86平台就是i386。


      include 这个目录包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。


      init 此目录包含核心启动代码。


      mm 此目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于archkernel目录下。


      net 核心的网络部分代码。里面的每个子目录对应于网络的一个方面。


      lib 此目录包含了核心的库代码。与处理器结构相关库代码被放在arch/*/lib/目录下。


      scripts此目录包含用于配置核心的脚本文件。


      Documentation 此目录是一些文档,起参考作用。

    我们首先要看main函数,先了解大体的结构,main函数在init目录下




    展开全文
  • linux源码目录结构介绍

    千次阅读 2018-09-26 11:09:30
    Linux内核源代码包括三个主要部分: 1. 内核核心代码,包括各个子系统和子模块,如:Process Scheduler 进程管理、Memory Manager 内存管理、VFS 虚拟文件系统、Network 网络子系统、IPC 进程通信。以及其它的...

    Linux内核源代码包括三个主要部分:

    1. 内核核心代码,包括各个子系统和子模块,如:Process Scheduler 进程管理、Memory Manager 内存管理、VFS 虚拟文件系统、Network 网络子系统、IPC 进程通信。以及其它的支撑子系统,例如电源管理、Linux初始化等。

    2. 其它非核心代码,例如库文件(因为Linux内核是一个自包含的内核,即内核不依赖其它的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等。

    3. 编译脚本、配置文件、帮助文档、版权说明等辅助性文件。

    下图示使用ranger命令看到的内核源代码的顶层目录结构,具体描述如下:

    arch: 体系结构相关的代码,例如arm, x86等等。

        arch/arm/mach-xxx: 芯片相关源码。

        arch/arm/plat-xxx: 平台相关源码。

    block: 提供块设备的层次

    crypto: 加密、解密相关的库函数。

    Documentation、README: 帮助、说明文档。

    drivers: 各种设备驱动源码。

    firware: 保存用于驱动第三方设备的固件。

    fs: VFS子系统。

    include: 内核头文件,需要提供给外部模块(例如用户空间代码)使用。

    init: Linux系统启动初始化相关的代码。

    ipc: IPC(进程间通信)子系统。

    kernel: Linux内核的核心代码,包含了进程调度子系统,以及和进程调度相关的模块。

    lib: 实现需要在内核中使用的库函数,例如CRC、FIFO、list、MD5等。

    mm: 内存管理子系统。

    net: 不包括网络设备驱动的网络子系统。

    sample: 一些示例代码。

    Kconfig、Kbuild、Makefile、scripts: 用于内核编译的配置文件、脚本等。

    security: 提供安全特性(SELinux)。

    sound: 音频相关的驱动及子系统,可以看作“音频子系统”。

    tools: 一些常用工具,如性能剖析、自测试等。

    usr: 用于生成initramfs的代码。

    virt: 提供虚拟机技术(KVM等)的支持。

    COPYING: 版权声明。

    MAINTAINERS: 维护者名单。

    CREDITS: Linux主要的贡献者名单。

    REPORTING-BUGS: Bug上报的指南。

    展开全文
  • 他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。 Linux内核源码是很具吸引力的,特别是当你弄懂了一个分析了好久都没搞懂的问题;或者...

    Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。

    Linux内核源码是很具吸引力的,特别是当你弄懂了一个分析了好久都没搞懂的问题;或者是被你修改过了的内核,顺利通过编译,一切运行正常的时候。那种成就感真是油然而生!而且,对内核的分析,除了出自对技术的狂热追求之外,这种令人生畏的劳动所带来的回报也是非常令人着迷的,这也正是它拥有众多追随者的主要原因:

    首先,你可以从中学到很多的计算机的底层知识,如后面将讲到的系统的引导和硬件提供的中断机制等;其它,象虚拟存储的实现机制,多任务机制,系统保护机制等等,这些都是非都源码不能体会的。

    同时,你还将从操作系统的整体结构中,体会整体设计在软件设计中的份量和作用,以及一些宏观设计的方法和技巧:Linux的内核为上层应用提供一个与具体硬件不相关的平台;同时在内核内部,它又把代码分为与体系结构和硬件相关的部分,和可移植的部分;再例如,Linux虽然不是微内核的,但他把大部分的设备驱动处理成相对独立的内核模块,这样减小了内核运行的开销,增强了内核代码的模块独立性。

    而且你还能从对内核源码的分析中,体会到它在解决某个具体细节问题时,方法的巧妙:如后面将分析到了的Linux通过Botoom_half机制来加快系统对中断的处理。

    最重要的是:在源码的分析过程中,你将会被一点一点地、潜移默化地专业化。一个专业的程序员,总是把代码的清晰性,兼容性,可移植性放在很重要的位置。他们总是通过定义大量的宏,来增强代码的清晰度和可读性,而又不增加编译后的代码长度和代码的运行效率;他们总是在编码的同时,就考虑到了以后的代码维护和升级。 甚至,只要分析百分之一的代码后,你就会深刻地体会到,什么样的代码才是一个专业的程序员写的,什么样的代码是一个业余爱好者写的。而这一点是任何没有真正分析过标准代码的人都无法体会到的。

    然而,由于内核代码的冗长,和内核体系结构的庞杂,所以分析内核也是一个很艰难,很需要毅力的事;在缺乏指导和交流的情况下,尤其如此。只有方法正确,才能事半功倍。正是基于这种考虑,作者希望通过此文能给大家一些借鉴和启迪。

    由于本人所进行的分析都是基于2.2.5版本的内核;所以,如果没有特别说明,以下分析都是基于i386单处理器的2.2.5版本的Linux内核。所有源文件均是相对于目录/usr/src/linux的。

    方法之一:从何入手

    要分析Linux内核源码,首先必须找到各个模块的位置,也即要弄懂源码的文件组织形式。虽然对于有经验的高手而言,这个不是很难;但对于很多初级的Linux爱好者,和那些对源码分析很有兴趣但接触不多的人来说,这还是很有必要的。

    1、Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(的二个数为偶数,例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心。

    2、核心源程序的文件按树形结构进行组织,在源程序树的最上层,即目录/usr/src/linux下有这样一些目录和文件:

    ● COPYING: GPL版权申明。对具有GPL版权的源代码改动而形成的程序,或使用GPL工具产生的程序,具有使用GPL发表的义务,如公开源代码。

    ● CREDITS: 光荣榜。对Linux做出过很大贡献的一些人的信息。

    ● MAINTAINERS: 维护人员列表,对当前版本的内核各部分都有谁负责。

    ● Makefile: 第一个Makefile文件。用来组织内核的各模块,记录了个模块间的相互这间的联系和依托关系,编译时使用。仔细阅读各子目录下的Makefile文件对弄清各个文件这间的联系和依托关系很有帮助。

    ● ReadMe: 核心及其编译配置方法简单介绍。

    ● Rules.make: 各种Makefilemake所使用的一些共同规则。

    ● REPORTING-BUGS:有关报告Bug 的一些内容。

    ● Arch/ :arch子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel cpu及与之相兼容体系结构的子目录。PC机一般都基于此目录。

    ● Include/: include子目录包括编译核心所需要的大部分头文件。与平台无关的头文件在 include/linux子目录下,与 intel cpu相关的头文件在include/asm-i386子目录下,而include/scsi目录则是有关scsi设备的头文件目录。

    ● Init/: 这个目录包含核心的初始化代码(注:不是系统的引导代码),包含两个文件main.c和Version.c,这是研究核心如何工作的好的起点之一。

    ● Mm/:这个目录包括所有独立于 cpu 体系结构的内存管理代码,如页式存储管理内存的分配和释放等。而和体系结构相关的内存管理代码则位于arch/*/mm/,例如arch/i386/mm/Fault.c。

    ● Kernel/:主要的核心代码,此目录下的文件实现了大多数linux系统的内核函数,其中最重要的文件当属sched.c。同样,和体系结构相关的代码在arch/*/kernel中。

    ● Drivers/: 放置系统所有的设备驱动程序。每种驱动程序又各占用一个子目录:如,/block 下为块设备驱动程序,比如ide(ide.c)。如果你希望查看所有可能包含文件系统的设备是如何初始化的,你可以看drivers/block/genhd.c中的device_setup()。它不仅初始化硬盘,也初始化网络,因为安装nfs文件系统的时候需要网络。

    ● Documentation/: 文档目录,没有内核代码,只是一套有用的文档,可惜都是English的,看看应该有用的哦。

    ● Fs/: 所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统, 例如fat和ext2。

    ● Ipc/: 这个目录包含核心的进程间通讯的代码。

    ● Lib/: 放置核心的库代码。

    ● Net/: 核心与网络相关的代码。

    ● Modules/: 模块文件目录,是个空目录,用于存放编译时产生的模块目标文件。

    ● Scripts/: 描述文件,脚本,用于对核心的配置。

    一般,在每个子目录下,都有一个 Makefile 和一个Readme 文件,仔细阅读这两个文件,对内核源码的理解很有用。

    对Linux内核源码的分析,有几个很好的入口点:一个就是系统的引导和初始化,即从机器加电到系统核心的运行;另外一个就是系统调用,系统调用是用户程序或操作调用核心所提供的功能的接口。对于那些对硬件比较熟悉的爱好者,从系统的引导入手进行分析,可能来的容易一些;而从系统调用下口,则可能更合适于那些在dos或Uinx、Linux下有过C编程经验的高手。这两点,在后面还将介绍到。

    方法之二:以程序流程为线索,一线串珠

    从表面上看,Linux的源码就象一团扎乱无章的乱麻,其实它是一个组织得有条有理的蛛网。要把整个结构分析清楚,除了找出线头,还得理顺各个部分之间的关系,有条不紊的一点一点的分析。

    所谓以程序流程为线索、一线串珠,就是指根据程序的执行流程,把程序执行过程所涉及到的代码分析清楚。这种方法最典型的应用有两个:一是系统的初始化过程;二是应用程序的执行流程:从程序的装载,到运行,一直到程序的退出。

    为了简便起见,遵从循序渐进的原理,现就系统的初始化过程来具体的介绍这种方法。系统的初始化流程包括:系统引导,实模式下的初始化,保护模式下的初始化共三个部分。下面将一一介绍。

    Linux系统的常见引导方式有两种:Lilo引导和Loadin引导;同时linux内核也自带了一个bootsect-loader。由于它只能实现linux的引导,不像前两个那样具有很大的灵活性(lilo可实现多重引导、loadin可在dos下引导linux),所以在普通应用场合实际上很少使用bootsect-loader。当然,bootsect-loader也具有它自己的优点:短小没有多余的代码、附带在内核源码中、是内核源码的有机组成部分,等等。

    bootsect-loader在内和源码中对应的程序是 /Arch/i386/boot/bootsect.S 。下面将主要是针对此文件进行的分析。

    几个相关文件:

     

         <1> /Arch/i386/boot/bootsect.S      <2> /include/linux/config.h      <3> /include/asm/boot.h      <4> /include/linux/autoconf.h

      

    引导过程分析:

    对于Intel x86 PC , 开启电源后, 机器就会开始执行ROM BIOS的一系列系统测试动作,包括检查RAM,keyboard,显示器,软硬磁盘等等。执行完bios的系统测试之后,紧接着控制权会转移给ROM中的启动程序(ROM bootstrap routine);这个程序会将磁盘上的第0轨第0扇区(叫boot sector或MBR ,系统的引导程序就放在此处)读入内存中,并放到自0x07C0:0x0000开始的512个字节处;然后处理机将跳到此处开始执行这一引导程序;也即装入MBR中的引导程序后, CS:IP = 0x07C0:0x0000 。加电后处理机运行在与8086相兼容的实模式下。

    如果要用bootsect-loader进行系统引导,则必须把bootsect.S编译连接后对应的二进制代码置于MBR; 当ROM BIOS 把bootsect.S编译连接后对应的二进制代码装入内存后,机器的控制权就完全转交给bootsect; 也就是说,bootsect将是第一个被读入内存中并执行的程序。

    展开全文
  • 献给新手,如何阅读Linux源码(转)

    万次阅读 多人点赞 2017-08-22 17:25:29
    Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:  1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》...
  • 1.bochs+linux0.11+书(linux内核完全注释、linux内核完全剖析、linux内核设计的艺术) 2.sourcesinsight+linx2.X+书(linux内核情景分析) 阅读源码分为纵向阅读和横向阅读。纵向就是跟着内核的执行流程来读,...
  • Linux 源码安装软件

    千次阅读 2018-01-13 23:36:15
    linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,...
  • linux源码目录结构

    2015-01-17 18:47:50
    1、Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(的二个数为偶数,例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心...
  • 最近需要想着学习一下linux内核网络栈的源码,总结一下Linux内核yuay源码的目录结构和阅读方式,  首先,在阅读源码之前,还应知道Linux内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件...
  • Linux源码包制作RPM包之Apache
  • linux 源码Makefile 详细分析

    千次阅读 2015-04-15 10:37:04
    linux源码Makefile的详细分析 目录 一、概述  1、本文的意义  2、Linux内核Makefile文件组成 二、Linux内核Makefile的“make解析”过程  1 顶层Makefile阶段  1、从总目标uImage说起   2、vmlinux的...
  • 内存管理(Linux内核源码分析)

    万次阅读 2017-07-12 10:03:52
    背景本篇博客试图通过linux内核源码分析linux的内存管理机制,并且对比内核提供的几个分配内存的接口函数。然后聊下slab层的用法以及接口函数。内核分配内存与用户态分配内存内核分配内存与用户态分配内存显然是不同...
  • 如何阅读Linux源码

    千次阅读 2006-12-20 09:58:00
    Linux内核的配置系统由三个部分组成,分别是: Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则; 配置文件(config.in):给用户提供配置选择的功能; 配置工具:包括配置命令...
  • linux 源码学习计划

    千次阅读 2010-03-12 23:22:00
     第一周: 1.linux和unix相比有哪些特点? 2.内核编程和用户空间编程相比有哪些不同之处? 3.自己编译一下内核,你编译成功了么?如果不成功,有什么问题?使用你新编译的内核, 能顺利启动么?有什么问题? 4....
  • Linux源码解析-poll机制

    千次阅读 2017-07-19 13:43:37
    1.poll函数 关于poll函数具体是干什么的,以及什么情况下使用等参考我的其他...下载Soure Insight软件下载linux源码Ctrl+Shift+F快捷键打开搜索窗口打钩ProjectWide搜索sys_poll点击Select.c即可进入相应源码部分 no
  • Linux核心编程.pdf

    热门讨论 2020-07-26 13:40:45
    从哪里得到Linux核心源码 129 核心源码的组织 129 从哪里入手 130 系统启动与初始化 130 内存管理 130 核心 130 PCI 131 进程间通讯 131 中断处理 131 设备驱动 131 文件系统 132 网络 132 模块 132 第十五章 Linux...
  • 很多Linux 爱好者对内核很感兴趣却无从下手,本文旨在介绍一种解读Linux内核源码的入门方法,而不是讲解Linux复杂的内核机制。   1.核心源程序的文件组织 (1)Linux核心源程序通常都安装在/usr/src/Linux下,...
  • linux源码分析方法

    2017-09-10 23:53:59
    一、内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径。我们都知道,想成为...
1 2 3 4 5 ... 20
收藏数 69,398
精华内容 27,759
关键字:

linux源码的核心部分