Linux内核分析 期末总结
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的学习时间不长,但是却涵盖了许多内容,加上每周的实验,博客总结,读书笔记,总体来说是相当的充实。在对Linux内核的学习中,我对Linux系统又有了新的认识,也产生了许多问题。正因如此,我才发现linux真的不是很容易学,它的整个运作机制几乎包含了我们目前所学的有关计算机的所有原理,如果要真正融会贯通可能真的不是这几次网课和课堂上的一本书能够解决的。还需要我们更加深入的理解和学习它,最重要的还是一颗好学的心。在学习中我最大的收获就是能自主的的学习,最大的遗憾也是没有能达到自己想要的结果,过程是美好的,结果是残酷的,也许这也是一种收获吧!