Linux内核分析课程总结

时间:2022-10-01 16:54:18

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系统

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

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

第六周:进程的描述和进程的创建

第七周:可执行程序的装载

第八周:进程的切换和系统的一般执行过程

 

三、总结

经过了这几周的学习,我对Linux内核的构架和原理,有了一些初步的了解,明白了内核的工作流程。在今后的学习中,我将会更加努力,按照老师的教学思路,多多实践,争取将理论知识运用到实际中,深入理解Linux内核。

为了帮助自己理解孟老师的讲解内容,我在课下自学了《Linux内核设计与分析》,收获颇多。

在这几周的学习中,我最大的收获是从孟老师的教学中学会了从实践中学习和验证知识,找到了属于自己的学习方式,提高了自己的自学效率,学以致用。在此,十分感谢孟老师的教导。

最大的遗憾大概就是遗憾网课时间太短,没能在孟老师的教导下继续进一步去学习Linux更深入的知识。今后只能自学来深入学习Linux内核了。