Linux内核深度解析

Linux内核深度解析

基于ARM64架构的Linux4.x内核

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。

作品简介

本书基于4.x版本的Linux内核,介绍了Linux内核的若干关键子系统的技术原理。本书主要内容包括内核的引导过程、内核管理和调度进程的技术原理、内核管理虚拟内存和物理内存的技术原理、内核处理异常和中断的技术原理,以及系统调用的实现方式等。此外,本书还详细讲解了内核实现的各种保护临界区的互斥技术,以及内核的文件系统。本书内容丰富,深入浅出,通过大量的图例来描述数据结构之间的关系和函数的执行流程,并结合代码分析,引导读者阅读和理解内核源代码。

本书适用于负责维护和开发Linux内核或基于Linux内核开发设备驱动程序的专业人士,以及想要学习了解Linux内核的软件工程师,也适合作为高等院校计算机专业的师生用书和培训学校的教材。

余华兵,2005年毕业于华中科技大学计算机学院,取得硕士学位。毕业后的十余年一直在网络通信行业从事软件设计和开发工作,研究方向包括IPv4协议栈、IPv6协议栈和Linux内核。

作品目录

  1. 内容提要
  2. 序一
  3. 序二
  4. 资源与支持
  5. 前言
  6. 第1章 内核引导和初始化
  7. 1.1 到哪里读取引导程序
  8. 1.2 引导程序
  9. 1.3 内核初始化
  10. 1.4 init进程
  11. 第2章 进程管理
  12. 2.1 进程
  13. 2.2 命名空间
  14. 2.3 进程标识符
  15. 2.4 进程关系
  16. 2.5 启动程序
  17. 2.6 进程退出
  18. 2.7 进程状态
  19. 2.8 进程调度
  20. 2.9 SMP调度
  21. 2.10 进程的安全上下文
  22. 第3章 内存管理
  23. 3.1 概述
  24. 3.2 虚拟地址空间布局
  25. 3.3 物理地址空间
  26. 3.4 内存映射
  27. 3.5 物理内存组织
  28. 3.6 引导内存分配器
  29. 3.7 伙伴分配器
  30. 3.8 块分配器
  31. 3.9 不连续页分配器
  32. 3.10 每处理器内存分配器
  33. 3.11 页表
  34. 3.12 页表缓存
  35. 3.13 巨型页
  36. 3.14 页错误异常处理
  37. 3.15 反碎片技术
  38. 3.16 页回收
  39. 3.17 内存耗尽杀手
  40. 3.18 内存资源控制器
  41. 3.19 处理器缓存
  42. 3.20 连续内存分配器
  43. 3.21 userfaultfd
  44. 3.22 内存错误检测工具KASAN
  45. 第4章 中断、异常和系统调用
  46. 4.1 ARM64异常处理
  47. 4.2 中断
  48. 4.3 中断下半部
  49. 4.4 系统调用
  50. 第5章 内核互斥技术
  51. 5.1 信号量
  52. 5.2 读写信号量
  53. 5.3 互斥锁
  54. 5.4 实时互斥锁
  55. 5.5 原子变量
  56. 5.6 自旋锁
  57. 5.7 读写自旋锁
  58. 5.8 顺序锁
  59. 5.9 禁止内核抢占
  60. 5.10 进程和软中断互斥
  61. 5.11 进程和硬中断互斥
  62. 5.12 每处理器变量
  63. 5.13 每处理器计数器
  64. 5.14 内存屏障
  65. 5.15 RCU
  66. 5.16 可睡眠RCU
  67. 5.17 死锁检测工具lockdep
  68. 第6章 文件系统
  69. 6.1 概述
  70. 6.2 虚拟文件系统的数据结构
  71. 6.3 注册文件系统类型
  72. 6.4 挂载文件系统
  73. 6.5 打开文件
  74. 6.6 关闭文件
  75. 6.7 创建文件
  76. 6.8 删除文件
  77. 6.9 设置文件权限
  78. 6.10 页缓存
  79. 6.11 读文件
  80. 6.12 写文件
  81. 6.13 文件回写
  82. 6.14 DAX
  83. 6.15 常用的文件系统类型
  84. 结束语