《Linux内核分析》 期中总结

时间:2021-08-07 15:40:31

Linux内核分析 期中总结


20135307 张嘉琪

一、Linux内核分析课程总结

学习笔记汇总

第一节 计算机是如何工作的

第二节 操作系统是如何工作的

第三节 构造一个简单的Linux系统MenuOS

第四节 扒开系统调用的三层皮(上)

第五节 扒开系统调用的三层皮(下)

第六节 进程的描述和进程的创建

第七节 可执行程序的装载

第八节 进程的切换和一般的执行过程

  • 理解计算机是如何工作的

    • 根据冯诺依曼体系结构计算机可从硬件和软件两个角度进行分析,硬件部分较为复杂,不仅有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内核内核设计与实现》知识点总结

读书笔记汇总

第一章 Linux内核简介

第五章 系统调用

第三章 进程管理

第十八章 调试

《深入理解计算机系统》第七章 链接

第四章 进程调度

三、课程收获与不足

通过Mooc和实验以及课堂上的补充内容,我对Linux内核有了一定的了解,虽然以前的基础知识并不扎实,但是这种深入浅出的讲解方式让我更快地接受了所讲授的内容,每次讲解后还会有相应的实验,及时练习,更好的掌握。虽然在实验中经常出错,但是反复的尝试收获更多,我也会继续尝试利用Mooc环境进行相关知识的学习。