Linux内核代码目录树分析

一、前言

  最近系统与安全课上,老师反复提起到Linux驱动程序和Linux内核,这两个词语反复被老师提及,都可以成为系统与网络安全的这门课的代名词了,那么既然提到内核,那么我们就来分析分析这Linux内核有何东西,和各个内核文件的含义。首先来看看Linux内核这个庞大的工程有多少代码。
在这里插入图片描述
  看到以上信息,不禁佩服起Linux内核维护人员,真牛,这里也给推荐大家一本我们老师推荐的书《寒江独钓》。我们就不具体看内核代码,下面我们分析分析内核的一些文件含义。

二、Linux内核源代码目录树结构

  Linux内核源码是一个开源的,支持多个架构的平台,它的可移植性非常高。正是因为支持的架构比较多,所以内核源码被我们的特定的架构上时,就必须进行内核的配置和编译,在此基础上还可以进行裁剪。

  这是我下载的内核文件目录,也可以看通过tree来看树形文件目录。
在这里插入图片描述
  arch:主要就是存放内核支持的平台,常见的x86、arm、minps、powerpc等等。
  certs:与认证和签名相关代码;
  Documentation:关于内核各部分的通用解释和注释。其实打开看发现虽然有注释,发现还是看不懂。
  include:包含内核中大部分的头文件,要修改处理器结构只需编辑核心的Makefile并重新运行Linux核心配置程序。
  firmware:包含了让计算机读取和理解从设备发来的信号的代码
  ipc:主要是包含进程间通信的一些文件。
  lib:包含库文件代码。
  Makefile:内核编译的重要重要文件,组织起内核编译的各个文件。
  net:网络相关驱动。
  samples:真如其名,一些内核编程的范例。
  security:关于selinux的一些文件。
  tools:包含了和内核交互的工具。
  block:块设备驱动,其框架是Linux设备最重要的框架之一,涉及内核的vfs设备驱动模型等模块,内核中异常复杂的一个框架。
  crypto:内核本身所用的加密API,实现了常用的加密和散列算法
  drivers:存放与设备驱动相关。(内核开发主要之一)
  fs:虚拟文件系统(VFS)的代码和各个不同文件系统的代码。
  init:内核的初始代码,包括main.c,创建早期用户空间的代码及其他的初始代码。
  mm:内存管理代码。
  scripts:当运行make menuconfig编译内核的时候会用到。
  kernel内核的最核心部分,包括进程调度、定时器,与硬件相代码。
  sound:音频驱动相关。
  usr:存放cpio相关。cpio 是用来建立,还原备份档的工具程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值