Linux
Linux 内核、系统与底层机制
- 保护模式寻址:段选择子、GDT 与两级分页如何算出物理地址
实模式用"段值 × 16 + 偏移"最多够到 1 MB 出头,且对段的大小、访问权限、特权级一无所知。
- ELF 文件格式数据结构全解析
每个 Linux 平台的开发者肯定会接触到 ELF。它不仅是可执行文件的载体,更是链接、加载、Core Dump、内核模块、vdso 等核心机制的基础。本文将从 Linux 内核源码出发,彻底搞懂 ELF 的数据结构。本文也是我的学习笔记,希望对有缘读到此文的你也有帮助。
- macOS上保存Linux源码的方案
在macOS默认的文件系统(APFS或HFS+,不区分大小写)上处理Linux内核源码时,会遇到Git无法正确跟踪文件名大小写的问题。
- 实模式寻址:CPU 怎么用"段值×16+偏移"算出物理地址
实模式(real mode)是 x86 处理器加电后的初始状态,也是理解"段值:偏移"这套寻址玩法的起点。Intel 在 1978 年推出 8086 时,给了它 16 位的寄存器和 20 根地址线。16 位寄存器最多只能数到 0xFFFF(64 KB),而 20 根地址线能访问
- Linux 内存寻址原理:分段、分页与地址翻译
写 C 程序时,我们一直在操作形如 0x7ffe34dd2394 这样的指针。这个数字不是内存条上的物理位置,而是虚拟地址。CPU 取指令、读写变量时发出的都是虚拟地址,它要经过一段硬件翻译,才能落到真实的物理页框上。这段翻译就是内存寻址。
- Linux 内存管理原理:虚拟内存、分配原则与 malloc/free 的内核足迹
从一句常见误解说起
- 入门实践:在 x86_64 上使用 QEMU 与 GDB 配置Linux 内核调试环境
内核版本:Linux v6.14
- 深入 Linux 内核:一次 fork() 调用,内核到底做了什么?
内核版本:Linux v6.14