技术知识库

奔跑吧 Linux 内核入门篇第二版实验指导手册

奔跑吧 Linux 内核入门篇第二版实验指导手册

摘要

《奔跑吧 Linux 内核·入门篇》第二版的配套实验指导手册,版本 v2.0.7,基于 Linux 5.0,包含从 Linux/QEMU 环境、GCC 与数据结构,到模块、驱动、进程、内存、中断、调试和 BenOS 的实验步骤。本知识库以书中实验目标为学习主线,但会根据 Ubuntu 26.04、现代工具版本和本地硬件条件调整具体命令。

本地来源

/home/martin-zou/workspace/study_book/online_book-master/online_book-master/实验指导手册 - 奔跑吧Linux内核入门篇第二版v2.0.7.pdf
标题:奔跑吧 Linux 内核·入门篇 第二版 实验指导手册
版本:v2.0.7
发布日期:2023-08
页数:408

当前使用章节

  • 第 1 章:Linux 系统入门与实验平台构建。
  • 第 2.1 节:GCC 预处理、编译、汇编、链接、ARM64 运行和 Makefile。
  • 第 2.2 节:Linux 内核链表。
  • 第 2.3 节:Linux 红黑树。
  • 第 6.1 节:已完成基础 cdev、自动设备节点和内存邮箱读写实验。
  • 第 6.2 节:已完成 misc 设备注册和 /dev/misc_mailbox 读写实验。
  • 第 6.3 节:普通虚拟缓冲区读写已合并在 misc_mailbox 实验中完成。
  • 第 6.4 节:已完成 KFIFO 环形缓冲区读写,并复现 FIFO 写满后的持续重试问题。
  • 第 6.5 节:Nonblocking I/O 已加入 KFIFO;满 FIFO 的非阻塞写已验证,空 FIFO 的非阻塞读待验证。
  • 第 6.6 节:已使用读写等待队列完成阻塞 KFIFO 邮箱,并观察空 FIFO 上的读取等待。
  • 第 6.7 节:已完成 8 个独立 misc/KFIFO 设备与 .poll 回调的 ARM64 模块编译;目标系统运行验证待完成。
  • 第 6.8 节:已正确解释故意错误的根因——把 KFIFO 和等待队列放在每次 open() 的私有对象中,会令读者与写者操作不同的内存对象和等待队列;实际故障复现作为可选验证保留。
  • 第 6.9 节:已完成 FASYNC/SIGIO 异步通知实验;echo 写入后 kill_fasync() 通知测试进程,测试进程读取相同长度数据。进阶 Oops 题已定位到 fasync_insert_entry() 调用链,并建立用户态 GCC/GDB 类比实验,尚未完成调试。

使用原则

关联