文章目录
- 1.在哪下载linux内核源码?
- 2.linux文件夹都有哪些文件?
- ·arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、arm、arm64、powerpc、mips等。
- ·block:块设备驱动程序I/O调度。
- ·certs:这个目录可能包含用于内核和模块签名或认证的证书文件。这些证书可以确保加载的内核或模块经过合法认证,提高系统安全性。
- ·crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。
- ·documentation:内核各部分的通用解释和注释。
- ·drivers:设备驱动程序,每个不同的驱动占用一个子目录,如char、block、net、mtd、i2c等。
- ·fs:所支持的各种文件系统,如EXT、FAT、NTFS、JFFS2等。
- ·include:头文件,与系统相关的头文件放置在include/linux子目录下。
- ·init:内核初始化代码。著名的start_kernel()就位于init/main.c文件中。
- -io_usring:这个目录可能包含有关 Linux 内核中用户态 I/O 用户环包的相关代码。用户态 I/O 用户环是一种提供高性能 I/O 操作的技术,可以在用户态进行异步 I/O 操作。
- ·ipc:进程间通信的代码。
- ·kernel:内核最核心的部分,包括进程调度、定时器等,而和平台相关的一部分代码放在arch/*/kernel目录下。
- ·lib:库文件代码。
- ·mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。
- ·net:网络相关代码,实现各种常见的网络协议。
- -rust:这个目录可能指的是 Linux 内核中用 Rust 编程语言编写的部分代码。Rust 是一种系统级编程语言,逐渐在 Linux 内核开发中得到一些应用。
- -samples:这个目录包含一些示例代码或范例,用于展示如何在 Linux 内核中实现特定功能或特性。这些示例可以帮助开发人员快速了解如何使用内核提供的接口和功能。
- ·scripts:用于配置内核的脚本文件。
- ·security:主要是一个SELinux的模块。
- ·sound:ALSA、OSS音频设备的驱动核心代码和常用设备驱动。
- -tools:这个目录通常包含一些用于辅助开发、调试或分析 Linux 内核的工具。这些工具可以帮助开发人员对内核进行分析、性能调优等操作。
- ·usr:实现用于打包和压缩的cpio等。
- -virt:这个目录通常指的是 Linux 内核中用于支持虚拟化技术的相关代码。在这个目录下可能包含与虚拟化相关的驱动、接口、调度器等代码。
- 3.linux内核的组成
- 4.
1.在哪下载linux内核源码?
https://www.kernel.org/
2.linux文件夹都有哪些文件?
·arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、arm、arm64、powerpc、mips等。
Linux内核目前已经支持30种左右的体系结构。在arch目录下,存放的是各个平台以及各个平台的芯片对Linux内核进程调度、内存管理、中断等的支持,以及每个具体的SoC和电路板的板级支持代码。
·block:块设备驱动程序I/O调度。
·certs:这个目录可能包含用于内核和模块签名或认证的证书文件。这些证书可以确保加载的内核或模块经过合法认证,提高系统安全性。
·crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。
·documentation:内核各部分的通用解释和注释。
·drivers:设备驱动程序,每个不同的驱动占用一个子目录,如char、block、net、mtd、i2c等。
·fs:所支持的各种文件系统,如EXT、FAT、NTFS、JFFS2等。
·include:头文件,与系统相关的头文件放置在include/linux子目录下。
·init:内核初始化代码。著名的start_kernel()就位于init/main.c文件中。
-io_usring:这个目录可能包含有关 Linux 内核中用户态 I/O 用户环包的相关代码。用户态 I/O 用户环是一种提供高性能 I/O 操作的技术,可以在用户态进行异步 I/O 操作。
·ipc:进程间通信的代码。
·kernel:内核最核心的部分,包括进程调度、定时器等,而和平台相关的一部分代码放在arch/*/kernel目录下。
·lib:库文件代码。
·mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。
·net:网络相关代码,实现各种常见的网络协议。
-rust:这个目录可能指的是 Linux 内核中用 Rust 编程语言编写的部分代码。Rust 是一种系统级编程语言,逐渐在 Linux 内核开发中得到一些应用。
-samples:这个目录包含一些示例代码或范例,用于展示如何在 Linux 内核中实现特定功能或特性。这些示例可以帮助开发人员快速了解如何使用内核提供的接口和功能。
·scripts:用于配置内核的脚本文件。
·security:主要是一个SELinux的模块。
·sound:ALSA、OSS音频设备的驱动核心代码和常用设备驱动。
-tools:这个目录通常包含一些用于辅助开发、调试或分析 Linux 内核的工具。这些工具可以帮助开发人员对内核进行分析、性能调优等操作。
·usr:实现用于打包和压缩的cpio等。
-virt:这个目录通常指的是 Linux 内核中用于支持虚拟化技术的相关代码。在这个目录下可能包含与虚拟化相关的驱动、接口、调度器等代码。
内核一般要做到drivers与arch的软件架构分离,驱动中不包含板级信息,让驱动跨平台。同时内核的通用部分(如kernel、fs、ipc、net等)则与具体的硬件(arch和drivers)剥离。
3.linux内核的组成
答:
Linux内核主要由进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)和进程间通信(IPC)5个子系统组成。