Linux的内核源码树的根目录下的每个文件的含义简介

  在下载Linux内核源码包解压后,Linux的内核源码树的根目录的每一个含义看不太明白,估计每个喜欢研究内核源码的小伙伴刚开始都会有此疑问,因此,在这里对Linux内核源码的根目录的每个文件包做些简介,让喜欢研究内核源码的小伙伴对内核这个看起来特别神秘且复杂的东西有个大体的了解。

  具体的详情请见下表:

Linux 内核源码树的根目录描述
目录 含义描述
arch 特定体系结构的源码
block 块设备 I/O层
crypto 加密API
Documentation 内核源码文档
drivers 设备驱动程序
firmware 某些驱动程序需要的设备固件
fs VFS和各种文件系统
include 内核头文件
init 内核引导和初始化
ipc 进程间通信代码
kernel 调度程序的核心子系统
lib 通用内核函数
LICENSES 内核相关的lincese文件
mm 内存管理子系统和VM
net 网络子系统
samples 示例,示范代码
scripts 编译内核所用的脚本
security Linux 内核安全模块
sound 语音子系统
tools 在Linux开发中有用的工具
usr 早期用户空间代码
virt 虚拟化基础结构

  内核源码的下载地址:https://www.kernel.org/

原文地址:https://www.cnblogs.com/Senchuangdianzi/p/12120354.html

时间: 2024-08-29 22:20:01

Linux的内核源码树的根目录下的每个文件的含义简介的相关文章

Linux内核源码树建立加载hello模块

在加载模块之前,书中说要先建立内核源码树,那么,如何建立内核源码树呢? 首先,要先知道你的OS的内核版本,用uname -r可以查得到 在/url/src/目录下可以看到对应的版本目录 如果没有可以用apt-cache search linux-source获取内核 用sudo apt-get install linux-source-3.13.0下载内核 下载完成后在该文件夹中产生一个对应的压缩文件 linux-source-3.13.0.tar.bz2 然后解压该文件tar jxvf lin

linux内核-源码树(2.6.32) - 枯鱼的博客

/home/fishcried/Code/linux-2.6.32.61/ ├── arch 特定体系结构的源码,每个体系结构都有一个目录. │?? ├── ... │?? ├── x86 │?? │?? ├── boot 引导相关 │?? │?? │?? ├── compressed 压缩内核处理 │?? │?? │?? └── tools 生成压缩内核镜像的程序 │?? │?? ├── configs │?? │?? ├── crypto │?? │?? ├── ia32 │?? │?? ├

Linux内核(3) - 分析内核源码如何入手(下)

下面的分析,米卢教练说了,内容不重要,重要的是态度.就像韩局长对待日记的态度那样,严谨而细致. 只要你使用这样的态度开始分析内核,那么无论你选择内核的哪个部分作为切入点,比如USB,比如进程管理,在花费相对不算很多的时间之后,你就会发现你对内核的理解会上升到另外一个高度,一个抱着情景分析,抱着0.1内核完全注释,抱着各种各样的内核书籍翻来覆去的看很多遍又忘很多遍都无法达到的高度.请相信我! 让我们在Linux社区里发出号召:学习内核源码,从学习韩局长开始! 态度决定一切:从初始化函数开始 任小强

Linux Hugetlbfs内核源码简析-----(一)Hugetlbfs初始化

一.引言 为了实现虚拟内存管理机制,操作系统对内存实行分页管理.自内存“分页机制”提出之始,内存页面的默认大小便被设置为 4096 字节(4KB),虽然原则上内存页面大小是可配置的,但绝大多数的操作系统实现中仍然采用默认的 4KB 页面.当某些应用的需要使用的内存达到几G.甚至几十G的时候,4KB的内存页面将严重制约程序的性能. CPU缓存中有一组缓存专门用于缓存TLB,但其大小是有限的.当采用的默认页面大小为 4KB,其产生的TLB较大,因而将会产生较多 TLB Miss 和缺页中断,从而大大

centos7编译linux的内核源码

昨天编译了一个linux 内核源码,遇到一些问题, 今天把我遇到的问题和解决方法分享给大家.希望可以帮助到需要的人. 1)检查是否安装了相应的包(我第一次编译的时候只安装的“Development Tools” 包,”Compatibility Libraries“和”Development and Creative Workstation“没有安装) [[email protected] yum.repos.d]# yum groups list #查看包组列表 Loaded plugins:

linux、内核源码、内核编译与配置、内核模块开发、内核启动流程(转)

linux是如何组成的?答:linux是由用户空间和内核空间组成的为什么要划分用户空间和内核空间?答:有关CPU体系结构,各处理器可以有多种模式,而LInux这样的划分是考虑到系统的安全性,比如X86可以有4种模式RING0~RING3  RING0特权模式给LINUX内核空间RING3给用户空间linux内核是如何组成的?答:linux内核由SCI(System Call Interface)系统调用接口.PM(Process Management)进程管理.MM(Memory Managem

MVP+RXJAVA+RecyclerView实现sd卡根目录下的所有文件中的照片加载并显示

初学Rxjava,目前只能遍历加载指定目录下的所有文件夹中的照片,文件夹中如果还嵌套有文件夹目前还没找到实现方法. 先看mvp目录结构: 很抱歉,没有model. 接下来是view层的接口代码和presenter层的接口代码 public interface IImgsView { void onImgsLoadCompleted(ArrayList<String> imgs); } public interface IImgsPresenter { void getImages(File[]

linux面试题:删除一个目录下的所有文件,但保留一个指定文件

此题问题虽小,但是初学者还是很难给出合理的答案的!本文来自老男孩21期网络班学员 面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10  十个文件 [[email protected] xx]# touch file{1..10} [[email protected] xx]# ls file1  file10  file2  file3  file4  file5  file6  file7  file8

Android内核源码bionic目录下的源码的学习笔记

好记性不如烂笔头.今天要做的学习是关于bionic目录下的代码. 首先需要看的是_errno.c这份代码. volatile int* __errno( void ) { return &((volatile int*)__get_tls())[TLS_SLOT_ERRNO]; } 从上面可以看出,返回的是一个指向int类型的指针. volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统.硬件或者其它线程等.由于访问寄存器的速度要快过RAM,