嵌入式Linux架构和开发实践培训
课程简介:
对开发者而言,Linux本身因其庞大复杂性导致学习确实有一定的难度,但这并不是掌握不了的主要原因。
Linux Torvalds倡导Linux开发时要“接口定义合理,代码风格一致”和“一次做一件事情,做到完美” ,旨在针对一方面是前辈级别的Linux开发者尤其是内核开发者对Linux的掌握越来越出神入化而另一方面对Linux的初学者而言门槛确越来越高的尴尬境地;
Linux的学习尤其是Linux Kernel的学习的门槛确实很高,究其核心原因:
根据自己多年的经验和领悟,家林设计出了一套行之有效的学习课程,按照该课程内容掌握Linux必然会事半功倍的轻松掌握Linux开发的精髓。
中国电子标准协会http://www.ways.org.cn
课程目标:
本课程旨在协助工程师快速领悟Linux架构和设计的核心精髓,在此基础上掌握Linux设计和实现的细节,从而迈开Linux开发尤其是Linux Kernel的高手之旅的第一步。
培训对象:
能看懂C语言代码;
具有计算机理论基础的并想从事于Linux开发;
时间 |
內 容 |
备注 |
第一天 |
第1个主题:Linux开发的核心要素 1,1 不同的Linux版本 1,2 源代码的获取与提交 1,3 编译内核 1,4 内核开发最佳实践步骤
第2个主题:进程管理和调度 2,1 进程的创建和终结; 2.2 再谈Fork机制; 2.3 线程; 2.4 进程调度的策略和算法; 2.4 抢占;
第3个主题:中断 3.1 注册和编写中断; 3.2 中断控制; 3.3 软中断; 第4主题:内核同步 4.1 锁; 4.2 内核同步策略;
第5主题:内存管理 5.1 kmalloc与vmalloc; 5.2 内存映射;
第6个主题: 虚拟文件系统 6.1文件系统抽象层; 6.2 VFS及其数据结构; 6.3 超级快、索引节点和目录、文件对象; 6.4 仿制对象;
|
|
时间 |
內 容 |
备注 |
第二天 |
第7个主题: I/O 7.1 块设备和bio结构体; 7.2 I/O调度程序;
第8个主题:地址空间 8.1 内存描述符和内存区域; 8.2 如何操作内存区域? 8.3 深入思考mmap;
第9个主题:页面的高速缓存 9.1 告诉缓存的方式和实现 9.2 pdflush
第10个主题:kobject与sysfs 10.1 kobject; 10.2 sysfs;
第11个主题:调试 11.1 printk; 11.2 内核调试配置; 11.3 gdb、kgdb、kdb;
第12个主题:移植性 12.1 字长和数据类型; 12.2 数据对齐与字节顺序; 12.3 页长度; 12.4 SMP、处理器排序、内核抢占、内存;
|
|
文章评论(0条评论)
登录后参与讨论