Linux内核分析是一项深入探讨Linux操作系统核心功能的任务,Linux作为一款开源的、多任务、多用户的操作系统,其内核是整个系统的核心组成部分,通过对Linux内核的深入分析,我们可以了解其架构设计、系统调用、内存管理、进程管理、设备驱动等关键组件的工作原理和实现细节,这有助于我们更好地理解Linux操作系统的运行机制,提高系统性能和稳定性,同时也能为开发人员提供更多的开发思路和解决方案,Linux内核分析对于深入学习Linux操作系统、提高系统开发能力具有重要意义。

本课程从了解计算机硬件的核心工作机制(存储计算机和函数调用堆栈)和用户态度程序如何通过系统调用进入核心(中断异常),通过上下两个方向的双向攻击策略,使用实际可操作程序的反汇编代码从实践的角度理解操作系统的核心,然后开始分析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系统架构及执行过程概述

