Linux Kernel简介

Posted Oudeyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Kernel简介相关的知识,希望对你有一定的参考价值。

copy from : http://gityuan.com/2016/04/01/linux-kernel-map/

 

一. Linux全局观

先来看一幅Linux kernel map:点击查看大图

技术图片

这是makelinux网站提供的一幅非常经典的Linux内核图,涵盖了内核最为核心的方法. Linux除了驱动开发外,还有很多通用子系统,比如CPU, memory, file system等核心模块,即便不做底层驱动开发, 掌握这些模块对于加深理解整个系统运转机制还是很有帮助。

二. Kernel源码目录结构

简要列举Kernel源代码的常见目录:

目录解释部分子目录
kernel 内核管理相关,进程调度等 sched/fork等
fs 文件子系统 ext4/f2fs/fuse/debugfs/proc等
mm 内存子系统  
drivers 设备驱动 staging/cpufreq/gpu等
arch 所有CPU体系结构相关的代码 armm64/x86等
include 头文件 linux/uapi/asm_generic等
lib 标准通用的C库  
ipc 进程间通信相关  
init 初始化过程(非系统引导阶段)  
block 块设备驱动程序 -
crypto 加密、解密、校验算法 -
Documentation 说明文档 -

三. 资料

  • lxr.free-electrons:LXR(The Linux Cross Referencer),提供方便地kernel在线源码阅读。
  • makelinux.net:可快速跳转到linux kernel map所涉及的任一方法;

以上是关于Linux Kernel简介的主要内容,如果未能解决你的问题,请参考以下文章

Linux kernel简介

深入浅出 eBPF: (Linux/Kernel/XDP/BCC/BPFTrace/Cillium)

Linux kernel rbtree

Analyse Linux kernel by using Perf

Analyse Linux kernel by using Perf

Analyse Linux kernel by using Perf