images/logo.jpg

枕石的个人博客

详解C语言的编译过程

本文将以一个简单的 “Hello, World!” 程序为起点,通过 gcc -v 命令揭示编译过程的神秘面纱,并进一步以一个多文件的项目为例,逐步拆解C语言编译的四大核心步骤:预处理 (Preprocessing)编译 (Compilation)汇编 (Assemble)链接 (Linking)

Linux内核调度系统调用

内核最新的调度策略宏

#define SCHED_NORMAL    0   // 普通时间共享任务(CFS)
#define SCHED_FIFO      1   // 实时 FIFO
#define SCHED_RR        2   // 实时轮转
#define SCHED_BATCH     3   // 批处理任务
#define SCHED_IDLE      5   // 空闲任务
#define SCHED_DEADLINE  6   // 截止期调度

重新梳理 Linux 用户态相关的调度系统调用,包括 作用、参数意义、返回值,以及内核内部逻辑。

Linux内核模块核心指南:用途、优势与开发流程

在 Linux 的世界里,内核是操作系统的核心,负责管理系统的所有硬件资源。为了保持内核的精简、稳定和高效,我们不能随意修改它。然而,硬件和软件的需求日新月异,我们又必须有办法扩展内核的功能。内核模块(Kernel Module) 正是解决这一矛盾的完美方案。