《Linux 2.6内核标准教程?

图书作者: 河秦 王洪? 丛书名称:华清远见系列图? 出版日期?2008?11?

编辑推荐理由

推荐评分?5.0?

多年嵌入式人才培养及项目研发经验总结

数百家企业嵌入式研发岗位人才需求汇?

数十所嵌入式专业大学院校教学现状调?

侧重实践及?例分析并辅以代码加以?解

图书简?

Linux内核是Linux操作系统?最核心的部分,用于实现对硬件部件的编程控制和接口操作。本书深入、系统地讲解了Linux内核的工作原理,对Linux内核的核心组件逐一进?深入?解? 全书?8章,首先讲解Linux系统的引导过程;然后对Linux内核?3大核心模块——内存?理、进程?理、中?和异常?理进?了深入的分析;在?基础上,对时间度量、系统调用进行了分析和??;最后?解了Linux内核?常?的同?机制,使?者掌握每处理器变量和RCU这两种新的同步机制? ?书适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使?,也?以作为?算机及相关专业学生深入学习操作系统的参考书?

图书??

  • ※??1? Linux内核学习基?

  • 1.1 为什么研究Linux内核
  • 1.1.1 Linux的历史来?
  • 1.1.2 Linux的发展现?
  • 1.1.3 Linux的前?展望
  • 1.2 选择什么版?进?研?
  • 1.3 内核基本结构
  • 1.3.1 内核在操作系统中的地?
  • 1.3.2 Linux 2.6内核源代码目录树简?
  • 1.3.3 Linux 2.6内核的新特?
  • 1.4 如何阅?本?
  • 1.4.1 内核探索工具
  • 1.4.2 推荐阅?方?
  • ※??2? 引?过程分?

  • 2.1 内核镜像的构建过?
  • 2.1.1 编译内核的??及分析
  • 2.1.2 内核镜像构建过程分析
  • 2.2 系统引?过程分?
  • 2.2.1 傀儡引导扇?
  • 2.2.2 探测系统资源
  • 2.2.3 解压内核镜像
  • 2.2.4 进入保护模式
  • 2.2.5 系统最终初始化
  • 2.3 系统引?过程总结
  • ※??3? 内存管理

  • 3.1 基?知识
  • 3.1.1 存储器地址
  • 3.1.2 分?机?
  • 3.1.3 分页机制
  • 3.2 内核页表的初始化过程
  • 3.2.1 ?用分页机?
  • 3.2.2 构建内核页表
  • 3.3 物理内存的描述方?
  • 3.3.1 内存节点
  • 3.3.2 内存区域 1
  • 3.3.3 物理页??
  • 3.4 物理内存的初始化过程
  • 3.4.1 探测系统物理内存
  • 3.4.2 初?化内存分配?
  • 3.5 物理内存的分配与回收
  • 3.5.1 伙伴分配算法
  • 3.5.2 对象缓冲技?
  • 3.6 内核地址空间
  • 3.6.1 常?映射地址空间
  • 3.6.2 固定映射地址空间
  • 3.6.3 长久内核映射空间
  • 3.6.4 临时内核映射空间
  • 3.6.5 非连?映射地址空间
  • ※??4? 进程管理

  • 4.1 进程与线程的概念
  • 4.1.1 程序与进?
  • 4.1.2 进程与线?
  • 4.2 进程描述?
  • 4.2.1 进程标识?
  • 4.2.2 进程的状?
  • 4.2.3 进程上下?
  • 4.2.4 当前进程
  • 4.3 进程的组织形?
  • 4.3.1 进程标识符构成的哈希?
  • 4.3.2 所有进程构成的双向链表
  • 4.3.3 执?态进程组成的运?队?
  • 4.3.4 阻?态进程组成的等待队列
  • 4.4 进程的创建过?
  • 4.4.1 进程创建的接口函?
  • 4.4.2 进程创建的?理过程
  • 4.5 进程调度算法
  • 4.5.1 进程的分?
  • 4.5.2 进程优先?
  • 4.5.3 时间片分?
  • 4.5.4 进程调度时机
  • 4.6 进程切换过程分析
  • 4.6.1 选取合适进?
  • 4.6.2 完成上下文切?
  • 4.7 空闲进程的初始化
  • 4.7.1 空闲进程的内核态栈
  • 4.7.2 空闲进程的内存描述??
  • 4.7.3 空闲进程的硬件上下文
  • 4.7.4 空闲进程的任务状态??
  • ※??5? ??和异?

  • 5.1 基?知识
  • 5.1.1 ??和异常的定义
  • 5.1.2 ??和异常的分类
  • 5.1.3 ??和异常的对比
  • 5.2 处理机制
  • 5.2.1 IA32架构下的处理机制
  • 5.2.2 Linux内核的实现策?
  • 5.3 ??描述符表的初始化
  • 5.3.1 ??描述符表的初步初始化
  • 5.3.2 ??描述符表的最终初始化
  • 5.4 具体处理过程
  • 5.4.1 ?用的?件?理阶??
  • 5.4.2 ??的软件?理阶??
  • 5.4.3 异常的软件?理阶??
  • 5.5 延迟处理机制
  • 5.5.1 softirq延迟处理
  • 5.5.2 tasklet延迟处理
  • 5.5.3 work queue延迟处理
  • ※??6? 时间度量

  • 6.1 ?件支?
  • 6.1.1 实时钟RTC
  • 6.1.2 系统时钟
  • 6.2 ?件架?
  • 6.2.1 相?时?
  • 6.2.2 墙上时间
  • 6.2.3 内核定时?
  • 6.3 时间度量的初始化过程
  • 6.3.1 内核定时器初始化
  • 6.3.2 系统时钟的初始化
  • 6.3.3 初?化时钟???
  • 6.4 时钟??处理过程
  • 6.4.1 找回遗失的时钟中?
  • 6.4.2 更新jiffies_64、xtime
  • 6.4.3 对当前进程?账
  • 6.4.4 时钟??处理小结
  • 6.5 内核定时器工作原?
  • 6.5.1 初?化内核定时器节?
  • 6.5.2 激活内核定时器节点
  • 6.5.3 内核定时器的处理过程
  • 6.6 ?秒级延迟
  • 6.6.1 ?妙级延迟的?问接口
  • 6.6.2 ?妙级延迟的实现方?
  • ※??7? 系统调用

  • 7.1 系统服务接口的?类
  • 7.1.1 系统调用接口
  • 7.1.2 应用编程接口
  • 7.2 系统调用的?问手??
  • 7.2.1 使用封?函?
  • 7.2.2 使用通用接口
  • 7.2.3 使用内嵌汇编
  • 7.3 系统调用的工作机?
  • 7.3.1 系统调用的基?要素
  • 7.3.2 系统调用门的初?化
  • 7.3.3 系统调用的?理过程
  • 7.4 系统调用的参数传?
  • 7.4.1 少量参数的情?
  • 7.4.2 大量参数的情?
  • 7.5 如何添加新系统调?
  • 7.5.1 前期准?工?
  • 7.5.2 添加处理函数
  • 7.5.3 测试新系统调?
  • 7.6 什么是?速系统调?
  • 7.6.1 工作机制
  • 7.6.2 实现策略
  • 7.6.3 处理过程
  • ※??8? 内核同?机?

  • 8.1 同?基?原理
  • 8.1.1 原子变量
  • 8.1.2 ??禁用
  • 8.1.3 内核态抢?
  • 8.2 系统引?过程分?
  • 8.2.1 ?通自旋锁
  • 8.2.2 读写?旋锁
  • 8.2.3 顺序?旋锁
  • 8.3 信号量机?
  • 8.3.1 ?通信号量
  • 8.3.2 读写信号?
  • 8.4 其他同?机?
  • 8.4.1 每?理器变?
  • 8.4.2 RCU同?机?
  • ※附录A Linux内核双向链表

  • A.1 内核链表表头
  • A.2 内核链表遍历
  • A.3 内核链表遍历
  • ※附录B 跟踪调试内核
  • B.1 安?辅助工?
  • B.2 准?内核镜?
  • B.3 准?根文件系统
  • B.4 进?源码级调试
  • ※附录C Linux内核汇编??

  • C.1 常?汇编???
  • C.1.1 寄存器前缀
  • C.1.2 立即数前缀
  • C.1.3 操作数顺?
  • C.1.4 操作数?度
  • C.1.5 内存寻址格式
  • C.2 内嵌汇编??
  • C.2.1 内嵌汇编举例
  • C.2.2 内嵌汇编格式——格式?架
  • C.2.3 内嵌汇编格式——??句模?
  • C.2.4 内嵌汇编格式——输出列?
  • C.2.5 内嵌汇编格式——输入列?
  • C.2.6 内嵌汇编格式——修饰字?
  • C.2.7 内嵌汇编格式——破坏描?
  • ※附录D 参考文?

  • D.1 关于IA32体系结构的资?
  • D.2 关于Linux内核的相关资?
  • D.3 关于计算机基?原理的资?
  • D.4 其他相关资源