教学优势
曙海教育的课程培养了大批受企业欢迎的工程师。大批企业和曙海
建立了良好的合作关系。曙海教育的课程在业内有着响亮的知名度。
本课程,秉承20年积累的教学品质,以项目实现为导向,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。
课程简介:
本课程详解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) · 社区维护 |
|
· |