课程简介:
本课程详解Linux内核的组成、编程环境搭建、调试方法,并深度剖析内核的进程调度、内存管理、文件系统等子系统,后深入分析内核编程的并发、同步、中断、定时器、内存、DMA和cache等问题,最后结合实例讲解Linux驱动架构、I/O模型以及底层BSP的开发。
课程内容:
模块名称
|
课程内容
|
进入Linux的精彩世界
|
· Linux的特点、版本演进与发展方向
· GNU与GPL
· Linux系统组成、启动流程
· 开发环境构建
· GNU工具链
· 文件系统组成
|
Linux内核进程调度
|
· 进程生命周期
· 进程调度算法
· 进程调度时机
· Linux实时性
· SMP、CPU热插拔与负载均衡
· Cgroups
|
【实验课】
|
· 【实验课】
|
Linux内核内存管理
|
· MMU系统
· page与zone
· buddy系统
· slab、kmalloc
· 进程的内存消耗
· page cache与swap
· 内存泄露剖析
|
Linux内核文件系统
|
· 虚拟文件系统
· inode、dentry、file和superblock
· 文件系统与block层
|
【实验课】
|
· 【实验课】
|
内核编程主要API剖析
|
· 同步与并发
· 等待队列
· 内核延时
· 内存申请和释放
· 定时器与高精度定时器
· 中断顶底半部
·
· 软中断
· tasklet
· 工作队列
· threaded_irq
· 中断及软中断负载均衡
· Linux内核线程
· IO与内存访问
· DMA与cache一致性
|
Linux内核模块
|
· 内核模块init和exit
· 输入参数
· 输出参数
|
Linux内核调试方法
|
· printk
· Oops和panic
· initcall_debug
· suspend/resume debug
· earlyprintk与low level debug
· 使用仿真器
· proc和sys
· grabserial
· soft和hard lockup
|
Linux设备驱动模型
|
· Linux设备分类
· Sys,总线,设备和驱动
· 热插拔
· 电源管理
· udev
|
【实验课】
|
· 【实验课】
|
设备驱动并发控制与I/O模型
|
· Linux字符设备驱动结构
· Linux设备驱动中的并发控制
· Linux设备驱动中的阻塞与非阻塞I/O
· Linux多路复用I/O
· Signal IO与AIO
· 用户空间I/O与多线程设计原则
· C10K问题
|
Linux复杂设备驱动
|
· 设备驱动分层框架
· platform驱动
· 基于I2C/SPI/USB等总线的驱动
· 块设备驱动与块I/O调度
· 网络设备驱动
|
将Linux移植到一个新的SoC
|
· early_printk
· L2 cache
· OS timer
· clk tree
· GPIO
· pinmux
· IRQ chip
· DMA
· MACH_INIT
· 设备树(device tree)
· 社区维护
|
|
·
|
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表下载请点击
服务优势:
丰富专家资源,精准匹配相关行业,相关项目技术精英,面向用户实际需求,针对性培训或咨询,互动式交流,案例教学,精品小班,实际工程项目经验分享,快捷高效,节省时间与金钱,少走弯路与错路。
专家力量:
中国科学院相关研究所高级研究人员
西门子,TI,vmware,MSC,Ansys,MDI,Mentor, candence,Altium,Atmel 、Freescale,达索,华为等
大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关学历背景专业,理论素养高
多年实际项目实践,大型复杂项目实战案例分享,热情,乐于技术分享
针对客户实际需要,真实案例演示,互动式沟通,学有所值