· 多年嵌入式人才培养及项目研发经验总结· 数百家企业嵌入式研发岗位人才需求汇总
· 数十所嵌入式专业大学院校教学现状调研· 侧重实践及案例分析并辅以代码加以讲解
本书重点介绍linux内核工作原理以及学习方法。将linux内核的修炼之道总结为四个层次:“全面了解抓基本,兴趣导向深钻研,融入社区做贡献,坚持坚持再坚持”。第一层次目的是对linux以及内核有个全面的认识和了解,掌握linux内核源代码的分析方法。第二个层次讨论了内核中系统初始化、系统调用、中断处理、进程管理及调度、内存管理、文件系统以及设备驱动等主要部分,目的是希望读者以兴趣为导向,寻找一个子系统或模块,对其代码深入钻研和分析。第三个层次介绍了内核开发与调试的一些基本信息,目的是希望读者能够融入到内核的开发社区,做出自己的贡献。第四个层次浓缩为两个字——坚持。
本书语言通俗易懂,内容覆盖了内核的学习方法到内核设计与实现等各方面内容,能够带领读者快速走入linux内核的世界,适合对linux内核学习茫然的初学者,也适合各类希望深入理解linux内核的读者。
第1章 初识linux
1.1 linux史记
1.1.1 linux诞生记
1.1.2 泰坦尼克的狂潮
1.1.3 提前发生的革命
1.1.4 和平、爱情和linux
1.1.5 ubuntu 4.10
1.1.6 richard stallman的征婚启事
1.1.7 一封公开信
1.1.8 首款android手机
1.1.9 linux信用卡
1.2 内核的版本
1.3 获取内核源码
1.4 linux发行版
1.4.1 软件包管理器
1.4.2 流行的发行版
1.4.3 选择linux发行版
第2章 配置与编译内核
2.1 配置内核
2.1.1 几种配置方式
2.1.2 .config文件
2.1.3 配置选项详解
2.2 编译内核
2.2.1 准备工作
2.2.2 如何为内核打补丁
2.2.3 编译步骤
2.2.4 文档的编译
2.2.5 编译小技巧
2.3 自由软件的编译与安装
2.3.1 发布时的组织结构
2.3.2 配置
2.3.3 编译
2.3.4 安装
第3章 浏览内核源代码
3.1 内核学习的技术基础
3.2 内核体系结构
3.3 内核源码目录结构
3.4 浏览代码的工具
3.4.1 source insight
3.4.2 vim+cscope
3.4.3 lxr
3.5 内核代码的特点
3.5.1 gcc扩展
3.5.2 内嵌汇编
3.6 内核中的链表
3.7 kconfig和makefile
3.7.1 kconfig结构
3.7.2 利用kconfig和makefile寻找目标代码
3.8 代码分析示例
3.8.1 分析readme
3.8.2 分析kconfig和makefile
3.8.3 寻找初始化函数
第4章 系统初始化
4.1 引导过程
4.2 内核初始化
4.2.1 start_kernel函数
4.2.2 reset_init函数
4.2.3 kernel_init函数
4.2.4 init_post函数
4.3 init进程
4.4 内核选项解析
4.4.1 内核选项
4.4.2 注册内核选项
4.4.3 两次解析
4.5 子系统的初始化
4.5.1 do_initcalls()函数
4.5.2 initcall.init节
4.5.3 分析示例
第5章 系统调用
5.1 系统调用概述
5.1.1 系统调用、posix、c库、系统命令和内核函数
5.1.2 系统调用表
5.1.3 系统调用号
5.1.4 系统调用服务例程
5.1.5 如何使用系统调用
5.1.6 为什么需要系统调用
5.2 系统调用执行过程
5.3 系统调用示例
5.3.1 sys_dup
5.3.2 sys_reboot
5.4 系统调用的实现
5.4.1 如何实现一个新的系统调用
5.4.2 什么时候需要添加新的系统调用
第6章 中断与中断处理
第7章 进程管理
第8章 调度
第9章 内存管理
第10章 文件系统
第11章 设备驱动
第12章 内核开发基础
第13章 调试
本课程每期班限额15名,报满即停止报名,请提前在线报名(点击这里)或电话预约。
◆ 时间:根据报名人数确定,需提前预约。
◆ 地点:北京、上海、深圳、成都、南京、武汉、西安、广州、沈阳
华清远见保留开课时间调整的权利,欢迎来电洽询 400-611-6270