- 02 - 开篇的话2
- 03 - 开篇的话3
- 04 - 内核开发初探1
- 05 - 内核开发初探2
- 06 - 内核开发初探3
- 07 - Linux内核的基本概念1
- 08 - Linux内核的基本概念2
- 09 - Linux内核的基本概念3
- 10 - Linux内核的基本概念4
- 11 - Linux内核的基本概念5
- 12 - Linux驱动程序开发基础1
- 13 - Linux驱动程序开发基础2
- 14 - Linux驱动程序开发基础3
- 15 - Linux驱动程序开发基础4
- 16 - Linux驱动程序开发基础5
- 17 - LED设备驱动1
- 18 - LED设备驱动2
- 19 - LED设备驱动3
- 20 - LED设备驱动4
- 21 - LED设备驱动5
- 22 - RTC驱动1
- 23 - RTC驱动2
- 24 - RTC驱动3
- 25 - RTC驱动4
- 26 - 电容触摸屏驱动1
- 27 - 电容触摸屏驱动2
- 28 - 电容触摸屏驱动3
- 29 - 电容触摸屏驱动4
- 30 - 网络设备驱动1
- 31 - 网络设备驱动2
- 32 - 网络设备驱动3
- 33 - 网络设备驱动4
- 34 - 网络设备驱动5
- 35 - 网络设备驱动6
- 36 - 声卡驱动1
- 37 - 声卡驱动2
- 38 - 声卡驱动3
- 39 - 声卡驱动4
- 40 - 声卡驱动5
- 41 - 声卡驱动6
- 42 - LCD驱动1
- 43 - LCD驱动2
- 44 - LCD驱动3
- 45 - LCD驱动4
- 46 - LCD驱动5
- 47 - LCD驱动6
- 48 - LCD驱动7
- 49 - LCD驱动8
- 50 - LCD驱动9
- 51 - LCD驱动10
- 52 - nandflash驱动1
- 53 - nandflash驱动2
- 54 - nandflash驱动3
- 55 - nandflash驱动4
- 56 - nandflash驱动5
- 57 - nandflash驱动6
- 58 - 驱动课程总结提高
这门课的精髓在于,不仅教会你如何分析Linux内核,更教你做事的方法论:“天下难事必做于易,天下大事必做于细”,对于代码量庞大无从下手的内核,我们从小处入手,步步为营,最终掌握全局。
Linux内核分析的过程,是对自己肯定,否定,再肯定并不断重复这个循环的过程。作为coder,唯一的快感就是有一种自我肯定的得意。然而这个过程很快会被无情的打破,因为这么庞大的内核,我们始终有一种盲人摸象的茫然。
进程调度算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已。对于理解操作系统的工作机制,反而是进程的调度时机与进程的切换机制更为关键。schedule()函数用来选择一个新的进程来运行,并调用context_switch()进行上下文的切换,这个宏调用switch_to()来进行关键上下文切换,其中pick_next_task()函数封装了进程调度算法。