Linux内核学习总结
学习心得
1.计算机是如何工作的
复习了微机原理、汇编语言等相关知识,对计算机体系结构及工作原理有了更清晰的认识
2.操作系统是如何工作的?
复习了函数堆栈、时间片轮转等相关知识,对时钟中断模型有了实践性的认识
3.构造一个简单的Linux系统MenuOS
通过shell调试内核,对start_kernel到init进程启动的过程有了详细的认识
4.扒开系统调用的三层皮(上)
复习了用户态、内核态、中断等相关知识,对系统调用工作机制有了理解
5.扒开系统调用的三层皮(下)
通过调试分析系统调用内核函数,学习了系统调用流程,对系统调用处理过程有了理解
6.进程的描述和进程的创建
复习了进程相关知识,理解了进程创建的过程、新进程开始执行的位置
7.可执行程序的装载
复习了程序预处理、编译、装载等相关知识,跟踪了系统调用内核处理函数,理解了加载可执行程序所需处理过程
8.进程的切换和系统的一般执行过程
复习了进程调度相关知识,对进程调度时机、进程上下文切换机制、有了理解
作业目录
1.通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
2.一个简单的时间片轮转多道程序内核代码
3.跟踪分析Linux内核的启动过程
4.使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
5.分析system_call中断处理过程
6.分析Linux内核创建一个新进程的过程
7.Linux内核如何装载和启动一个可执行程序
8.理解进程调度时机跟踪分析进程调度与进程切换的过程
学习总结
学习linux内核分析中最大的收获:
消除了对内核代码的神秘感和阅读障碍,开始使用linux系统和vim编辑器
学习完linux内核分析后最大的遗憾:
大学没有机会选择相关专业学习
王潇洋
原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000