Linux内核分析 期中总结
20135307 张嘉琪
一、Linux内核分析课程总结
学习笔记汇总
-
理解计算机是如何工作的
- 根据冯诺依曼体系结构计算机可从硬件和软件两个角度进行分析,硬件部分较为复杂,不仅有CPU还有各种存储设备,存储设备为CPU的运行服务。CPU通过执行总线传输的多种指令完成工作,通过内置的各种软件将命令“翻译”成机器可识别的指令,执行指令的过程体现在不断地在寄存器中存储、撤销数据,最终完成“计算过程”。
-
理解操作系统是如何工作的
- 操作系统也有“两把剑”,分别是中断上下文和进程上下文的切换。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统通过对进程的控制完成每项事物,进程通过控制数据的压入、弹出堆栈,设置时间片等方式进行进程上下文的切换和中断,从而让操作系统可以正常工作
-
理解Linux系统启动过程
- startkernel是内核启动的起点,存在于init目录下main.c文件中。initkernel即手工创建的PCB,0号进程即最终的idle.不论分析内核的哪一部分都会涉及startkernel,模块初始化时需要调用startkernel。在startkernel中最后一句restinit是start_kernel从内核启动时就一直存在的0号进程,0号进程创建了1号进程和其他的内核服务线程。当系统中没有进程序需要执行时就调度idle进程也就是说一个内核启动时就存在一个0号进程,0号进程创建了1号进程,一个进程创建另一个进程和线程,一生二,二生三,三生万物,系统内核就启动了
二、《Linux内核内核设计与实现》知识点总结
读书笔记汇总
三、课程收获与不足
通过Mooc和实验以及课堂上的补充内容,我对Linux内核有了一定的了解,虽然以前的基础知识并不扎实,但是这种深入浅出的讲解方式让我更快地接受了所讲授的内容,每次讲解后还会有相应的实验,及时练习,更好的掌握。虽然在实验中经常出错,但是反复的尝试收获更多,我也会继续尝试利用Mooc环境进行相关知识的学习。