Linux内核分析期中知识点总结
1. 计算机是如何工作的
- 存储程序计算机工作模型:冯诺依曼体系结构
- X86汇编基础
- 会变一个简单的C程序分析其汇编指令执行过程
2. 操作系统是如何工作的
- 函数调用堆栈
- 模拟存储程序计算机工作模型和时钟中断
- 在mykernel基础构建一个简单的操作系统
3.构造一个简单的Linux系统
- Linux内核源代码
- 构造一个简单的Linux系统
- 跟踪调试Linux内核的启动过程
4. 系统调用
- 用户态、内核态和中断
- 系统调用概述
- 使用库函数API和C代码中嵌入汇编代码触发同一个系统调用
- 给MenuOS增加time和time-asm命令
- 用gdb跟踪系统调用内核函数sys_time
- 系统调用在内核代码中的处理过程
5. 进程的描述和进程的创建
- 进程的描述
- 进程的创建
6. 可执行程序的装载
- 预处理、编译、链接和目标 文件的格式
- 可执行程序、共享库和动态链接
- 可执行程序的装载
7. 进程的切换和系统的一般执行过程
- 进程切换的关键代码switch_to的分析
- Linux系统的一般执行过程
- Linux系统架构和执行过程概览
Linux内核分析期中学习感想
第一次接触MOOC,开始的时候还有些措手不及,在学习的过程中对于源码能够自己去搜索查看,能通过阅读部分核心源码来验证老师所说的理论。之前的学习就像盲人摸象,不能联系到一起,学的很零碎。通过这次课,就像老师所说的,有时候我们可以先动脑想一下系统是如何操作如何管理的,然后再看源码验证纠正自己的想法,这样的内核学习方式更加有效,毕竟内核源码博大精深,想要研究透彻不是一朝一夕可以做到的。
总结下我这次课程的学习,我觉得还有好多不足,慕课结束了,到现在还没有把所有的知识点串起来,没能很好的形成一条主线,还需要多花时间理一理,能够有更清晰的思路才能更好的学习好内核,但每一个知识点之间都有融会贯通的地方,但又有其区别与其他知识点而存在的独特之处。至于MOOC的前两节以及课本自学笔记,则是辅助知识主线所补充的一些背景知识或扩充。
Linux内核分析博客链接汇总
- 学习总结
- 读书笔记