本课程从理解计算机硬件的核心工作机制(存储程序计算机和函数调用堆栈)和用户态程序如何通过系统调用陷入内核(中断异常)入手,通过上下两个方向双向夹击的策略,并利用实际可运行程序的反汇编代码从实践的角度理解操作系统内核,然后开始分析Linux内核源代码,从系统调用陷入内核,进程调度与进程切换,最后返回到用户态进程,通过仔细分析梳理这一过程,并推广到硬件中断、缺页异常等内核执行路径,最终能从本质上把握Linux内核的实质,乃至在头脑中演绎Linux系统的运行过程。
课程目录
1.存储程序计算机工作模型
2.X86汇编基础
3.反汇编一个简单的C程序分析其汇编指令执行过程
4.操作系统是如何工作的?
5.利用mykernel实验模拟计算机硬件平台
6.在mykernel基础上构造一个简单的操作系统内核
7.Linux内核源代码简介
8.构造一个简单的Linux系统
9.跟踪调试Linux内核的启动过程
10.用户态、内核态和中断
11.系统调用概述
12.使用库函数API和C代码中嵌入汇编代码触发同一个系统调用
13.给MenuOS增加time和time-asm命令
14.使用gdb跟踪系统调用内核函数sys_time
15.系统调用在内核代码中的处理过程
16.进程的创建
17.进程的描述
18.预处理编译链接和目标文件的格式
19.可执行程序共享库和动态链接
20.可执行程序的装载
21.进程切换的关键代码switch_to分析
22.Linux系统的一般执行过程
23.linux系统架构和执行过程概览
下载地址:
阿里网盘 天翼云盘