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 用于配制、编译内核的脚本文件

    三、源码结构图 

     

  • 相关阅读:
    VB中DateDiff 函数解释
    Offer是否具有法律效力?
    Binder机制1---Binder原理介绍
    cidaemon.exe进程cpu占用率高及关闭cidaemon.exe进程方法
    LeetCode——Longest Palindromic Substring
    memset函数具体说明
    Android ViewPager使用具体解释
    Interpreter
    Android中ExpandableListView控件基本使用
    android performClick使用
  • 原文地址:https://www.cnblogs.com/amanlikethis/p/3641504.html
Copyright © 2011-2022 走看看