Linux内核深度解析-中科大孟宁
如何掌握Linux内核核心机制?中科大孟宁教授深度解析

1. 课程核心价值解析
中国科学技术大学孟宁教授的《Linux内核深度解析》,通过系统调用、进程管理、程序装载三大核心模块,揭开操作系统底层运行机制。课程特色在于:
- 实践导向:从C语言嵌入汇编到MenuOS系统构建,全程结合代码实操
- 深度追踪:使用gdb跟踪sys_time等内核函数,直观呈现中断处理过程
- 体系化认知:覆盖X86汇编基础→存储程序模型→进程切换的全知识链条2. 讲师权威背景
孟宁教授作为中科大计算机系资深研究者,其教学具有显著优势:
- 学术研究聚焦操作系统安全与虚拟化技术
- 授课风格深入浅出,擅长用"三层皮"等比喻解析复杂概念
- 课程内容经过企业级项目验证,曾指导多家科技公司内核开发团队3. 关键知识模块拆解
系统调用机制
- 三层皮理论:API→中断→内核函数的完整调用链
- 对比实验:库函数API与汇编嵌入代码两种触发方式
- 关键跟踪技术:gdb调试sys_time内核函数全流程进程管理核心
- task_struct数据结构深度剖析
- fork创建进程的4个关键阶段及执行起点分析
- 进程切换的switch_to代码与上下文保存机制可执行程序装载
- ELF文件格式与动态链接原理
- sys_execve内核处理过程的3层跳转
- 从庄生梦蝶故事理解进程地址空间映射4. 独特学习方法
课程采用"逆向工程"式教学:
1. 通过mykernel实验模拟硬件平台
2. 构建精简操作系统内核(含时钟中断模拟)
3. 用MenuOS系统验证理论,所见即所得5. 适合哪些学习者
- 需突破技术瓶颈的嵌入式开发工程师
- 希望理解Linux调度机制的运维人员
- 计算机专业考研/深造需强化内核知识的学子
这套课程的价值在于将抽象的内核机制转化为可验证的代码实践,从X86汇编基础到进程调度全景,构建完整的操作系统认知体系。通过20+个关键实验演示,让学习者真正掌握Linux内核的"造血机制"。
资源下载通道
夸克网盘分享
文件大小:2.34 GB
资源目录列表:
├─Linux内核分析-中国科学技术大学-孟宁│ ├─扒开系统调用的三层皮(上)
│ │ ├─使用库函数API和C代码中嵌入汇编代码触发同一个系统调用
│ │ │ ├─0使用库函数API获取系统当前时间.mp4
│ │ │ ├─1C代码中嵌入汇编代码的写法(复习可跳过).mp4
│ │ │ ├─2使用C代码中嵌入汇编代码触发系统调用获取系统当前时间.mp4
│ │ ├─系统调用概述
│ │ │ ├─0系统调用概述和系统调用的三层皮.mp4
│ │ ├─用户态、内核态和中断
│ │ │ ├─0用户态、内核态和中断处理过程.mp4
│ ├─扒开系统调用的三层皮(下)
│ │ ├─给MenuOS增加time和time-asm命令
│ │ │ ├─0给MenuOS增加time和time-asm命令.mp4
│ │ ├─使用gdb跟踪系统调用内核函数sys_time
│ │ │ ├─0使用gdb跟踪系统调用内核函数sys_time.mp4
│ │ ├─系统调用在内核代码中的处理过程
│ │ │ ├─0系统调用在内核代码中的工作机制和初始化.mp4
│ │ │ ├─1简化后便于理解的system_call伪代码.mp4
│ │ │ ├─2简单浏览system_call到iret之间的主要代码.mp4
│ ├─操作系统是如何工作的?
│ │ ├─函数调用堆栈
│ │ │ ├─0三个法宝.mp4
│ │ │ ├─1深入理解函数调用堆栈.mp4
│ │ │ ├─2参数传递与局部变量.mp4
│ │ ├─借助Linux内核部分源代码模拟存储程序计算机工作模型及时钟中断
│ │ │ ├─0mykernel实验背后涉及的思想.mp4
│ │ │ ├─1利用mykernel实验模拟计算机硬件平台.mp4
│ │ ├─在mykernel基础上构造一个简单的操作系统内核
│ │ │ ├─0C代码中嵌入汇编代码的写法.mp4
│ │ │ ├─1一个简单的操作系统内核源代码.mp4
│ │ │ ├─2运行这个精简的操作系统内核.mp4
│ ├─构造一个简单的Linux系统MenuOS
│ │ ├─Linux内核源代码简介
│ │ │ ├─0Linux内核源代码.mp4
│ │ ├─跟踪调试Linux内核的启动过程
│ │ │ ├─0使用gdb跟踪调试Linux内核的方法.mp4
│ │ │ ├─1简单分析一下start_kernel.mp4
│ │ ├─构造一个简单的Linux系统
│ │ │ ├─0构造一个简单的Linux系统MenuOS.mp4
│ ├─计算机是如何工作的?
│ │ ├─X86汇编基础
│ │ │ ├─0X86Registers.mp4
│ │ │ ├─1X86汇编指令一(mov指令及几种内存寻址方式).mp4
│ │ │ ├─2X86汇编指令二(push、pop、call、ret).mp4
│ │ │ ├─3分析几个汇编指令片段(一).mp4
│ │ │ ├─4分析几个汇编指令片段(二).mp4
│ │ ├─存储程序计算机工作模型
│ │ │ ├─0什么是冯诺依曼体系结构?.mp4
│ │ ├─汇编一个简单的C程序分析其汇编指令执行过程
│ │ │ ├─0汇编一个简单的C程序.mp4
│ │ │ ├─1C程序和对应的汇编指令.mp4
│ │ │ ├─2完整汇编程序执行过程分析.mp4
│ ├─进程的描述和进程的创建
│ │ ├─进程的创建
│ │ │ ├─0进程的创建概览及fork一个进程的用户态代码.mp4
│ │ │ ├─1理解进程创建过程复杂代码的方法.mp4
│ │ │ ├─2浏览进程创建过程相关的关键代码.mp4
│ │ │ ├─3创建的新进程是从哪里开始执行的?.mp4
│ │ │ ├─4使用gdb跟踪创建新进程的过程.mp4
│ │ ├─进程的描述
│ │ │ ├─0进程描述符task_struct数据结构(一).mp4
│ │ │ ├─1进程描述符task_struct数据结构(二).mp4
│ ├─进程的切换和系统的一般执行过程
│ │ ├─Linux系统的一般执行过程
│ │ │ ├─0Linux系统的一般执行过程分析.mp4
│ │ │ ├─1Linux系统执行过程中的几个特殊情况.mp4
│ │ │ ├─2内核与舞女.mp4
│ │ ├─Linux系统架构和执行过程概览
│ │ │ ├─0Linux操作系统架构概览.mp4
│ │ │ ├─1最简单也是最复杂的操作——执行ls命令.mp4
│ │ │ ├─2从CPU和内存的角度看Linux系统的执行.mp4
│ │ ├─进程切换的关键代码switch_to分析
│ │ │ ├─0进程调度与进程调度的时机分析.mp4
│ │ │ ├─1进程上下文切换相关代码分析.mp4
│ ├─可执行程序的装载
│ │ ├─可执行程序、共享库和动态链接
│ │ │ ├─0装载可执行程序之前的工作.mp4
│ │ │ ├─1装载时动态链接和运行时动态链接应用举例.mp4
│ │ ├─可执行程序的装载
│ │ │ ├─0可执行程序的装载相关关键问题分析.mp4
│ │ │ ├─1sys_execve的内部处理过程.mp4
│ │ │ ├─2使用gdb跟踪sys_execve内核函数的处理过程.mp4
│ │ │ ├─3可执行程序的装载与庄生梦蝶的故事.mp4
│ │ │ ├─4浅析动态链接的可执行程序的装载.mp4
│ │ ├─预处理、编译、链接和目标文件的格式
│ │ │ ├─0可执行程序是怎么得来的?.mp4
│ │ │ ├─1目标文件的格式ELF.mp4
│ │ │ ├─2静态链接的ELF可执行文件和进程的地址空间.mp4
│ ├─Docs(+rr)[07F172D6].rar
│ ├─课程封面图-Linux内核分析.png
│ ├─课程简介-Linux内核分析.mp4
│ ├─课程介绍及抓取说明.txt
│ ├─课程目录-Linux内核分析.jpg
│ ├─免责声明.txt
│ ├─抓取档目录结构.txt





![[Linux] Linux系统管理与网络管理 22集 系统内核管理和企业常用服务搭建视频详解](https://static.kouhao8.com/sucaidashi/xkbb/c2d85ee4b888cae0a6832a196aa5c16f.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)













![[Linux] Linux 课程视频 [系统管理] 专题讲解 12天完整版[多图预览]](https://static.kouhao8.com/sucaidashi/xkbb/99c64be86c42c87f50f911cae32ce5a7.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)





![[Linux] 杨坤Linux入门基础视频 Linux学习视频教程 网络管理配置视频 入门与提高](https://static.kouhao8.com/sucaidashi/xkbb/8439576b50b3e0efa7e7948df4d6df5d.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)


相关资源