zoukankan      html  css  js  c++  java
  • linux内核源码结构

    一、概述

      Linux内核庞大,但是这些文件的结构还是有章可循的,分别位于不同的目录下,各个目录功能相对独立。 

    二、源码结构表

    目录名 描述
    arch 体系结构相关的代码,对于每个架构的CPU,arch目录下有一个对应的子目录,比如arch/arm、arch/i386
    block 块设备的通用函数
    crypto 常用的加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法
    drivers 所有的设备驱动程序,里面每一个子目录对一个一类驱动程序,比如drivers/block为块设备驱动程序,drivers/char为字符串设备驱动程序,drivers/mtd为NorFlash、NandFlash等存储设备的驱动程序
    fs Linux支持的文件系统的代码,每个子目录对应一种文件系统,比如fs/jffs2、fs/ext2、fs/ext3
    include 内核头文件,有基本头文件(存放在include/linux/目录下)、各种驱动或功能部件的头文件(比如include/media/、/include/mtd、include/net)、各种体系相关的头文件(比如include/asm-arm、include/asm-i386/)。当配置内核后,include/asm/是某个include/asm-xxx/(比如asm-arm)的链接
    init 内核的初始化代码(不是系统的引导代码),其中的main.c文件中的start_kernel函数时内核引导后的第一个函数
    ipc 进程间通信的代码
    kernel 内核管理的核心代码,与处理器相关的代码位于arch/*/kernel/目录下
    lib 内核用到的一些库函数代码,比如crc32.c、string.c,与处理器相关的库函数代码位于arch/*/lib目录下
    mm 内核管理代码,与处理器相关的内存管理代码位于arch/*/mm
    net 网络支持代码,每个子目录对应于网络的一个方面
    security 安全、密钥相关的代码
    sound 音频设备的驱动程序
    usr 用来制作一个压缩的cpio归档文件:initrd的镜像,它可以作为内核启动后挂接的第一个文件系统
    Documentation  内核文档
    scripts 用于配制、编译内核的脚本文件

    三、源码结构图 

     

  • 相关阅读:
    Openstack API 开发 快速入门
    virtualBox虚拟机到vmware虚拟机转换
    使用Blogilo 发布博客到cnblogs
    Openstack Troubleshooting
    hdoj 1051 Wooden Sticks(上升子序列个数问题)
    sdut 2430 pillars (dp)
    hdoj 1058 Humble Numbers(dp)
    uva 10815 Andy's First Dictionary(快排、字符串)
    sdut 2317 Homogeneous squares
    hdoj 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列+二分)
  • 原文地址:https://www.cnblogs.com/amanlikethis/p/3641504.html
Copyright © 2011-2022 走看看