Linux内核源码目录结构分析


/arch


不同CPU架构下的核心代码。其中的每一个子目录都代表Linux支持的CPU架构


/block


块设备通用函数


/crypto


常见的加密算法的C语言实现代码,譬如crc32、md5、sha1等


/Documentation


说明文档,对每个目录的具体作用进行说明


/drivers


内核中所有设备的驱动程序,其中的每一个子目录对应一种设备驱动


/firmware


固件代码


/fs


Linux支持的文件系统代码,及各种类型的文件的操作代码。每个子目录都代表Linux支持的一种文件系统类型


/include


内核编译通用的头文件


/init


内核初始化的核心代码


/ipc


内核中进程间的通信代码


/kernel


内核的核心代码,此目录下实现了大多数Linux系统的内核函数。与处理器架构相关的内核代码在/kernel/$ARCH/kernel


/lib


内核共用的函数库,与处理器架构相关的库在/kernel/$ARCH/lib


/mm


内存管理代码,譬如页式存储管理内存的分配和释放等。与具体处理器架构相关的内存管理代码位于/arch/$ARCH/mm目录下


/net


网络通信相关代码


/samples


示例代码


/scripts


用于内核配置的脚本文件,用于实现内核配置的图形界面


/security


安全性相关的代码


/tools


Linux中的常用工具


/usr


内核启动相关的代码


/virt


内核虚拟机相关的代码

原文地址:https://www.cnblogs.com/liuhongru/p/11399294.html

时间: 2024-11-13 08:08:28

Linux内核源码目录结构分析的相关文章

Linux内核源码目录说明

Linux内核源代码位于/usr/src/linux目录下,其结构分布如图1.3所示,每一个目录或子目录可以看作一个模块,其目录之间的连线表示“子目录或子模块”的关系.下面是对每一个目录的简单描述. Arch 目录包括了所有和体系结构相关的核心代码.它下面的每一个子目录都代表一种Linux支持的体系结构,例如X86就是Intel CPU及与之相兼容体系结构的子目录.Arch目录下的子目录包括:/arch/kernel./arch/mm./arch/include./arch/boot./arch

2.15.1.linux内核源码目录结构1

2.15.1.1.源码从哪里来 (1)之前讲过,我们使用2.6.35.7版本的内核.这个版本的内核有三种:第一种是kernel.org上的官方版本,第二种是三星移植过的,第三种是九鼎X210的移植版本.我们讲课时使用第三种内核来讲解,后面的移植实验使用第二种内核来移植. (2)源码在开发板光盘中有.可以自己去linux下解压然后make distclean清理然后再次打包传输到windows下去解压分析:也可以直接去我网盘中下载我打包好的. (3)解压后最终在windows下得到了一个kerne

2.15.2.linux内核源码目录结构2

本节接上节讲解内核源码根目录下的各个文件夹,并且把一些重要文件夹的作用简单讲解. (1)arch.arch是architecture的缩写,意思是架构.arch目录下是好多个不同架构的CPU的子目录,譬如arm这种cpu的所有文件都在arch/arm目录下,X86的CPU的所有文件都在arch/x86目录下. (2)block.英文是块的意思,在linux中block表示块设备(以块(多个字节组成的整体,类似于扇区)为单位来整体访问),譬如说SD卡.iNand.Nand.硬盘等都是块设备.你几乎

linux内核源码目录(转)

Linux用来支持各种体系结构的源代码包含大约4500个C语言程序,存放在270个左右的子目录下,总共大约包含200万行代码,大概占用58MB磁盘空间. 源代码所有在目录:/usr/src/linux (大部分linux发行版本中) init 内核初始化代码 kernel 内核核心部分:进程.定时.程序执行.信号.模块... mm 内存处理 arch 平台相关代码 i386 IBM的PC体系结构 kernel 内核核心部分       mm 内存管理       math-emu 浮点单元软件仿

Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7)【转】

原文地址:Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinaunix.net/uid-25909619-id-4938396.html 在基本分析完内核启动流程的之后,还有一个比较重要的初始化函数没有分析,那就是do_basic_setup.在内核init线程中调用了do_basic_setup,这个函数也做了很多内核和驱动的初始化工作,详解

Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 【转】

原文地址:Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinaunix.net/uid-25909619-id-4938390.html 在构架相关的汇编代码运行完之后,程序跳入了构架无关的内核C语言代码:init/main.c中的start_kernel函数,在这个函数中Linux内核开始真正进入初始化阶段, 下面我就顺这代码逐个函数的解释,但是这里并不会过于深入

Linux内核源码分析方法

  一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写.编程固然重要,但是往往只编程的人很容易把自己局限在自己的知识领域内.如果要扩展自己知识的广度,我们需要多接触其他人编写的代码,尤其是水平比我们更高的人编写的代码.通过这种途径,我们可以跳出自己知识圈的束缚,进入他人的知识圈,了解更多甚至我们一

linux内核源码注解

轻松学习Linux操作系统内核源码的方法 针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制:一.核心源程序的文件组织:1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心. 本文基于稳定的2.2.5源代码,第二部分的实现平台为 RedHat Lin

获取Android源码跟官方Linux内核源码

最近在探索安卓源码跟ROM,有幸买了本书跟在网上看到一些交教程,先做一些笔记,以备不时之需... 1.了解git和repo 2.环境配置 首先最先的肯定是JDK和SDK的安装,网上教程很多,也可以参考Google官方提供的: https://source.android.com/source/initializing.html (a)安装git 和curl: apt-get install git-core curl (b)安装repo: 创建存放repo目录 # mkdir ~/bin  #