感谢学堂在线与孟宁老师提供的精彩课程,让我获益良多.最大收获便是对 Linux 内核有了整体的认识.可以指导自己在以后的工作,学习中不断学习,深化对Linux 的认识.
老师在课程中所讲授的:三个法宝,两把宝剑,大S、小s,道生一、一生二、二生三、三生万物等内容为我巩固了基础知识并提炼了内核基本思想和实际调试时的操作方式.
道生一,一生二,二生三,三生万物:
道生一(start_kernel创建cpu_idle)
一生二(kennel_init和kthreadd)
二生三(即0号,1号和2号三个进程)
三生万物(1号进程是所有用户态进程的祖先,2号进程是所有内核态进程的祖先)
构建在中断机制之上的系统调用工作方式,使用户态程序可以使用Linux内核提供的服务;Linux系统中所有进程的祖先init进程,由init进程通过do_fork()创建的其他进程以及一次调用两次返回的fork()系统调用(子进程在 ret_from_fork处返回);程序的编译过程和共享库动态链接的工作方式(静态编译直接到程序入口,动态编译的话先到动态链接器执行);进程调度过程中进程的切换过程.
作业目录:
从C语言中的函数调用过程理解计算机执行原理
简单的内核时间片轮转程序方式
从start_kernel到init进程启动的过程
通过两种方式使用系统调用
分析system_call中断处理过程
分析Linux内核创建一个新进程的过程
Linux内核如何启动并装载一个可执行程序
理解进程调度时机跟踪分析进程调度与进程切换的过程
swkhack 原创作品转载请注明出处 http://www.xuetangx.com/courses/course-v1:ustcX+USTC001+_/info《Linux内核分析》MOOC课程