作品简介

本书共五篇,以从易到难的顺序详细剖析了Linux内核开发的核心技术。“知识储备篇”介绍了Linux的数据结构、中断处理、内核同步和时间计算等内容,这些是理解后续章节的前提。之后通过“内存管理篇”“文件系统篇”“进程管理篇”详细介绍了Linux的三大核心模块。最后的“升华篇”则融合了前面诸多模块展示了Linux内核开发在操作系统、智能设备、驱动、通信、芯片以及人工智能等热点领域的应用。书中的重点、难点均配以图表、代码和实战案例进行展示,有助于提高读者的动手操作能力。

本书的读者需要熟悉C语言,对Linux内核有一定了解。推荐初学者按照本书的编排顺序阅读,而熟悉Linux内核的读者可以跳过第一篇,直接从三大核心模块篇进行阅读。本书可作为Linux初中级读者系统学习Linux内核开发的指导手册,也可作为从事嵌入式、操作系统、Linux编程、驱动/内核开发,以及智能设备开发等工作工程师的案头指南和进阶工具书。

姜亚华,曾负责华为手机的Touch、Sensor的驱动和软件优化(包括Mate、荣耀等系列),以及Intel安卓平台Camera和Sensor的驱动开发(包括Baytrail、Cherrytrail、Cherrytrail CR、Sofia等);现负责DMA、Interrupt、Semaphore等模块的优化和验证(包括Vega、Navi系列和多款APU产品。)。

一直从事与Linux内核和Linux编程相关的工作,研究内核代码十多年,对多数模块的细节如数家珍。熟悉Linux程序,对Linux常见机制的使用理解透彻。曾在华为终端软件精英赛中获奖,三次获得AMD Spotlight奖励。

作品目录

  • 序一
  • 序二
  • 前言
  • 知识储备篇
  • 第1章 基于Linux内核的操作系统
  • 第2章 数据结构的使用
  • 第3章 时间的衡量和计算
  • 第4章 中断和中断处理
  • 第5章 内核同步
  • 第6章 事件的同步与异步
  • 内存管理篇
  • 第7章 内存寻址
  • 第8章 物理内存的管理
  • 第9章 内存线性空间布局
  • 第10章 内存管理进阶
  • 文件系统篇
  • 第11章 文件系统
  • 第12章 sysfs文件系统
  • 第13章 ext4文件系统
  • 进程管理篇
  • 第14章 进程
  • 第15章 进程调度
  • 第16章 信号处理
  • 第17章 进程通信
  • 第18章 程序的执行
  • 升华篇
  • 第19章 梳理操作系统:I/O多路复用
  • 第20章 智能设备的传感器开发
  • 第21章 智能设备的Camera开发
  • 第22章 设备驱动开发:设备驱动模型
  • 第23章 安卓系统的核心:Binder通信
  • 第24章 从内核的角度看芯片和驱动
  • 第25章 Linux与人工智能
  • 附录
  • 附录A 内嵌汇编语言
  • 附录B 链接脚本
  • 附录C 函数和宏所属文件表
展开全部