• Linux内核分析之进程管理-05

    第5章 进程调度 基于 Linux 6.12.38 源码分析 5.1 调度器架构5.1.1 调度器设计原则Linux 调度器采用模块化设计,支持多种调度策略: 公平性:确保每个进程获得公平的 CPU 时间 高效性:最小化调度开销 可扩展性:支持多核 SMP 架构 实时性:支持实时任务调度 灵活性:支持多种调度策略共存 5.1.2 调度类层次1234567891011121314151...
  • Linux内核分析之进程管理-04

    第4章 进程创建 基于 Linux 6.12.38 源码分析 4.1 进程创建系统调用4.1.1 系统调用概述Linux 提供多个进程/线程创建系统调用: 系统调用 描述 内核实现 fork() 创建子进程 kernel_clone() vfork() 创建共享地址空间的子进程 kernel_clone() clone() 灵活创建进程/线程 ke...
  • Linux内核分析之进程管理-03

    第3章 进程标识符与命名空间 基于 Linux 6.12.38 源码分析 3.1 进程 ID 类型3.1.1 PID 类型定义位置: include/linux/pid.h 1234567enum pid_type { PIDTYPE_PID, // 进程 ID (线程 ID) PIDTYPE_TGID, // 线程组 ID (进程 ID) ...
  • Linux内核分析之进程管理-02

    第2章 进程描述符 task_struct 基于 Linux 6.12.38 源码分析 2.1 task_struct 概览2.1.1 定义位置struct task_struct 是 Linux 内核中最重要的数据结构之一,定义在 include/linux/sched.h 中。它包含了进程的所有信息,是内核管理进程的核心数据结构。 task_struct 12345678910111...
  • Linux内核分析之进程管理-01

    第1章 Linux 进程管理概述 基于 Linux 6.12.38 源码分析 1.1 进程与线程的概念1.1.1 什么是进程进程(Process)是程序执行的实例,是操作系统进行资源分配和调度的基本单位。在 Linux 内核中,进程具有以下特征: 独立的地址空间:每个进程拥有自己独立的虚拟内存空间 资源所有权:进程拥有文件描述符、信号处理、内存等资源 执行上下文:包含程序计数器、栈、寄...
  • Linux内核分析之基础知识-7

    第7章:调试技巧 诊断和分析内核启动问题的方法 本章概述内核启动问题可能发生在任何阶段,从早期汇编代码到用户空间启动。本章提供各种调试技术和工具来诊断这些问题。 调试阶段划分12345678910111213141516171819202122232425262728┌────────────────────────────────────────────────────────────...
  • Linux内核分析之基础知识-6

    第6章:启动参数与配置 通过命令行和配置选项控制内核行为 本章概述Linux 内核启动时可以通过命令行参数传递配置信息。本章详细讲解常用的启动参数、Kconfig 配置选项以及 initrd/initramfs 的使用。 参数传递方式 架构 传递方式 x86_64 boot_params.hdr.cmd_line_ptr ARM64 设备树 /chosen/boo...
  • Linux内核分析之基础知识-5

    第5章:通用启动流程 start_kernel 所有架构的 C 语言初始化入口 本章概述start_kernel() 是 Linux 内核的通用 C 语言入口点,所有架构最终都会跳转到这个函数。本章详细讲解这个核心初始化函数的执行流程。 start_kernel 调用链1234567891011121314151617181920212223242526┌────────────────...
  • Linux内核分析之基础知识-4

    第4章:ARM64 启动流程 从 EL3 到 Linux 内核的旅程 本章概述ARM64 (AArch64) 的启动流程与 x86_64 有显著差异。本章详细讲解 ARM64 特有的启动机制,包括异常级别、设备树和 ATF。 ARM64 启动方式对比 启动方式 引导程序 典型设备 参数传递 UEFI UEFI 固件 → GRUB 服务器、工控 设备树/ACPI A...
  • Linux内核分析之基础知识-3

    第3章:x86_64 内核映像格式 vmlinux、bzImage 和 vmlinuz 的秘密 本章概述Linux 内核有多种存在形式,本章详细讲解这些格式的区别、构建过程以及内部结构。 内核映像类型对比 名称 描述 格式 用途 vmlinux 未压缩的内核 ELF 调试、符号表 bzImage 大 zImage 自定义 实际启动 vmlinuz bzImage 的链接...
123415