【linux】剖析底层——带你详细了解Linux内核源码的构成及其作用

本文详细剖析了Linux内核的几个关键组成部分,包括arch架构文件,涵盖了多种处理器架构如X86、ARM、PowerPC等;block文件涉及磁盘I/O管理和设备驱动;certs文件夹包含加密证书,用于安全通信;crypto文件夹实现了加密算法如AES、MD5等;最后是drivers文件,包含了各种设备驱动代码,如GPU、网络和输入设备等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、arch文件

1.作用

2.arch文件下的子文件示意图

3.各个子文件的作用

(1)alpha

(2)arc

(3)arm

(4)arm64

(5)cshy

(6)hexagon

(7)ia64

(8)loongarch

(9)m68k

(10)microblaz

(11)mips

(12)nios2

(13)openrisc

(14)parisc

(15)powerpc

(16)riscv

(17)s390

(18)sh

(19)sparc

(20)um

(21)x86

(22)xtensa

(23).gitignore

(24)Kconfig

二、block文件

1.作用

2.block文件下子文件示意图

3.各个子文件的作用

(1)partitions文件

(2)磁盘设备管理文件

(3)磁盘哈希表文件

(4)磁盘I/O队列文件

(5)定时器队列文件

(6)磁盘追踪文件

(7)内核区分管理文件

(8)剥离文件

(9)硬盘加密文件

(10)磁盘镜像文件

(11)只能磁盘I/O调度文件

三、certs文件

1.作用

2.各个子文件的作用

(1)ca-bundle.trust.crt

(2)ca-bundle.crt

(3)ca-certificates.crt

(4)ca-certificates-cacert.pem

(5)ca-certificates.crt.txt

四、crpyto文件

1.作用

2.各个子文件的作用

(1)aes.ko

(2)ans.ko

(3)md5.ko

(4)sha1.ko

(5)ecryptfs.ko

(6)des.ko

(7)cast.ko

(8)hmac.ko

五、Documentation文件

1.作用

六、drivers文件

1.作用

2.各个子文件的作用

(1)acpi文件夹

(2)block文件夹

(3)firewire文件夹

(4)GPU文件夹

(5)hwmon文件夹

(6)input文件夹

(7)ion文件夹

(8)media文件夹

(9)net文件夹

(10)rtc文件夹

(11)scsi文件夹

(12)sound文件夹

(13)vfio文件夹

(14)w1文件夹


一、arch文件

1.作用

arch文件夹用于定义支持的架构和每个架构所需要的CPU处理器特定代码。它包含各种处理器架构的支持,包括汇编代码、核心实现和其他驱动程序,如X86、PowerPC、ARM、MIPS、SPARC、S390等。它还包含有关架构特定的处理器和中断处理器特定的信息,用于在整个系统中执行操作。

2.arch文件下的子文件示意图

3.各个子文件的作用

(1)alpha

alpha文件夹是内核源代码支持DEC alpha处理器的相关操作系统文件,包括主要抽象层,通用文件和架构相关文件。

(2)arc

arc文件夹是内核源代码支持SynopsysARC处理器的相关操作系统文件,其中包括主要抽象层,通
用文件和架构相关文件。

(3)arm

arm文件夹是内核源代码支持ARM处理器的相关操作系统文件,其中包括主要抽象层,通用文件和架构相关文件。

(4)arm64

arm64文件夹是内核源代码支持ARM64处理器的相关操作系统文件,其中包括主要抽象层,通用文件和架构相关文件。

(5)cshy

cshy文件夹下的cshy文件夹是内核源代码支持高通处理器的相关操作系统文件,其中包括主要抽象层,通用文件和架构相关文件。

(6)hexagon

是一个针对赛讯的嵌入式多处理器架构的linux内核支持,可以实现控制系统优化,高效率的计算单元。它能够处理赛讯表下发来的压缩代码,实现运算极大提高,多处理器和多核心技术确保系统高性能。

(7)ia64

表示Intelltanium存储器架构,是英特尔公司专门针对64位处理器的x86体系结构的构建,使用EPlC(Explicitly ParallelInstructionComputing)优化、改良的高性能处理机架构。它主要用于comp
uting领域,服务器市场和位图设备,它通常将Linux和Windows结合使用。

(8)loongarch

是中国龙芯基金会自主研发的64位权威处理器解决方案,采用多处理器技术实现计算和图形处理器整合,帮助企业规模和小型用户实现普及套用新一代计算机语言,把握更新整合知识的机遇。

(9)m68k

一种32位核心的处理器架构,能提供支持多种低功率的处理能力,并且可以在不同的软件环境中运行,如Linux、 Unix、VxWorks等.运行在m68k系统上的应用程序在移植到其他系统上也可正常执行。m68k平台也是应用在Android智能手机、平板电脑和苹果手机等多种终端设备上的。

(10)microblaz

它是一种精简的可编程处理器,由Xilinx开发,其也是一种庞大的RISC处理器。

(11)mips

它是一种RISC处理器体系结构,其中包含多款不同的处理器产品,包括针对低成本,大容量存储,虚拟化,图形处理,以及应用程序指令优化的设计。

(12)nios2

它是一种基于精简的定制的RISC系统的处理器,由Altera开发,其被称为NiosIl处理器。

(13)openrisc

它是一种开源RISC处理器体系结构,其包含一系列独特的体系结构指令以及多种定制硬件支持。

(14)parisc

它是一种由Hewlett Packard(现代Hewlett Packard Enterprise)开发的RISC处理器体系结构,其于1990年代晚期出现,后来被PA-RISC2.1系统取代。

(15)powerpc

它是一种架构,由IBM,Motorola和Apple合作开发,用于构建高性能,小而紧凑的体系结构指令集(RISC)处理器。

(16)riscv

它是一种新的RISC处理器架构,由RISC-V基金会支持,它是一个开放标准,旨在改变嵌入式,移动,网络和云计算系统的技术。

(17)s390

它是一种IBM的架构,用于构建极高性能的RISC处理器,其具有多项必备的硬件功能,可支持指令集向后兼容性,以及低能耗和高可靠性。

(18)sh

它是一个标准RISC处理器架构,由Hitachi/Renesas开发,作为针对32位和64位应用程序的小体积,功耗效率和性能优越的体系结构。

(19)sparc

它是由Sun Microsystems(后来被Oracle收购)开发的一种RISC处理器体系结构,其具有针对浮点计算,高大容量存储,虚拟存储器和互操作性的优势。

(20)um

 它是一种可扩展的,高度可移植的RISC体系结构,其由Uni-Micro开发,包括多款处理器,交换机,以及网络存储器。

(21)x86

它是一种架构,由Intel设计用于其系列芯片组产品,其具有针对大多数主流桌面,笔记本电脑和移动设备产品的指令集向后兼容性。

(22)xtensa

它是一种低功耗的RISC处理器,由Tensilica公司开发,具有高可配置性,包括可自定义的指令集,硬件加速器,多处理器,高容量存储,以及多个安全等级的支持。

(23).gitignore

它是一个普通文件,其为Git配置指定了哪些文件和目录应该被Git忽略,以及如何处理已添加到仓库中的文件。

(24)Kconfig

Kconfig文件夹:它是Linux内核开发过程中用于管理系统配置和内核特性的文件夹,其包含一些特定的配置文件,用于配置不同硬件和软件组件。

二、block文件

1.作用

block文件夹中包含用于处理/O请求的核心内核实现,如块设备驱动和支持访问块设备的内核抽象层。它还包括一些用于处理块设备访问的辅助模块,如块请求处理和管理,硬盘缓存管理和磁盘空间管理等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值