网易云课堂:Linux系统内核分析课 [视频] [课件]
Linux网易云课堂课程,本课程共2.39GB,可通过百度网盘转存下载或者在线播放此“网易云课堂:Linux系统内核分析课”课程。
本课程从理解计算机硬件的核心工作机制(存储程序计算机和函数调用堆栈)和用户态程序如何通过系统调用陷入内核(中断异常)入手,通过上下两个方向双向夹击的策略,并利用实际可运行程序的反汇编代码从实践的角度理解操作系统内核,然后开始分析Linux内核源代码,从系统调用陷入内核,进程调度与进程切换,最后返回到用户态进程,通过仔细分析梳理这一过程,并推广到硬件中断、缺页异常等内核执行路径,最终能从本质上把握Linux内核的实质,乃至在头脑中演绎Linux系统的运行过程。
课程目录
01.存储程序计算机工作模型
HowtheComputerWorks.pdf 605.98kb
存储程序计算机工作模型.avi 43.40M
02.X86汇编基础
1.X86 Registers.avi 29.64M
2.X86汇编指令一(mov指令及几种内存寻址方式).avi 36.59M
3.X86汇编指令二(push、pop、call、ret).avi 43.08M
4.分析几个汇编指令片段(一).avi 26.71M
5.分析几个汇编指令片段(二).avi 17.30M
参考资料.txt 0.26kb
03.反汇编一个简单的C程序分析其汇编指令执行过程
1.反汇编一个简单的C程序.avi 31.77M
2.C程序和对应的汇编指令.avi 28.53M
3.完整汇编程序执行过程分析.avi 116.90M
执行过程演示.gif 706.20kb
04.操作系统是如何工作的?
1.三个法宝.avi 34.19M
2.深入理解函数调用堆栈.avi 51.33M
3.参数传递与局部变量.avi 86.76M
FoundationsForHackingLinux.pdf 659.03kb
计算机是如何工作的?(总结)——三个法宝.txt 0.44kb
05.利用mykernel实验模拟计算机硬件平台
1.mykernel实验背后涉及的思想.avi 26.37M
2.利用mykernel实验模拟计算机硬件平台.avi 37.52M
mykernel实验指导.txt 0.28kb
06.在mykernel基础上构造一个简单的操作系统内核
1.C代码中嵌入汇编代码的写法.avi 55.88M
2.一个简单的操作系统内核源代码.avi 89.87M
3.运行这个精简的操作系统内核.avi 12.49M
07.Linux内核源代码简介
1.Linux内核源代码.avi 61.84M
08.构造一个简单的Linux系统
1.构造一个简单的Linux系统MenuOS.avi 55.53M
实验指导.txt 1.74kb
09.跟踪调试Linux内核的启动过程
1.使用gdb跟踪调试Linux内核的方法.avi 35.65M
2.简单分析一下start_kernel.avi 53.81M
Linux内核启动过程相关的参考资料.txt 1.34kb
10.用户态、内核态和中断
1.用户态、内核态和中断.avi 66.41M
11.系统调用概述
1.系统调用概述.avi 57.74M
SystemCall.pdf 228.90kb
12.使用库函数API和C代码中嵌入汇编代码触发同一个系统调用
1.使用库函数API获取系统当前时间.avi 10.78M
2.C代码中嵌入汇编代码的写法.avi 55.91M
3.使用C代码中嵌入汇编代码触发系统调用获取系统当前时间.avi 19.23M
13.给MenuOS增加time和time-asm命令
1.给MenuOS增加time和time-asm命令.avi 32.27M
14.使用gdb跟踪系统调用内核函数sys_time
1.使用gdb跟踪系统调用内核函数sys_time.mp4 42.88M
15.系统调用在内核代码中的处理过程
1.系统调用在内核代码中的工作机制和初始化.mp4 15.36M
2.简化后便于理解的system_call伪代码.mp4 39.36M
3.简单浏览system_call到iret之间的主要代码.mp4 22.46M
16.进程的创建
创建的新进程是从哪里开始执行的.wmv 25.23M
进程的创建的创建和撤销资料参考.txt 1.70kb
进程的创建概览及fork一个进程的用户态代码.wmv 39.80M
理解进程创建过程复杂代码的方法.wmv 60.98M
浏览进程创建过程相关的关键代码.wmv 62.42M
使用GDB跟踪创建新进程的过程.wmv 32.07M
17.进程的描述
进程描述符task_struct数据结构(二).wmv 50.69M
进程描述符task_struct数据结构(一).wmv 32.05M
18.预处理编译链接和目标文件的格式
静态链接的ELF可执行文件和进程的地址空间.wmv 13.81M
可执行程序是怎么得来的.wmv 31.67M
目标文件的格式ELF.wmv 31.13M
预处理编译和链接相关命令参考.txt 2.82kb
19.可执行程序共享库和动态链接
可执行程序共享库和动态链接.txt 2.39kb
装载可执行程序之前的工作.wmv 43.17M
装载时动态链接和运行时动态链接应用举例.wmv 41.94M
20.可执行程序的装载
sys_execve的内部处理过程.wmv 61.47M
可执行程序的装载.txt 1.89kb
可执行程序的装载相关关键问题分析.wmv 88.25M
可执行程序的装载与庄生梦蝶的故事.wmv 38.34M
浅析动态链接的可执行程序的装载.wmv 78.03M
使用GDB跟踪sys_execve内核函数的处理过程.wmv 43.22M
21.进程切换的关键代码switch_to分析
进程的调度时机与进程的切换.txt 3.77kb
进程调度与进程调度的时机分析.wmv 66.12M
进程上下文切换相关代码分析.wmv 55.89M
22.Linux系统的一般执行过程
Linux系统的一般执行过程.txt 0.90kb
linux系统的一般执行过程分析.wmv 56.63M
linux系统执行过程中的几个特殊情况.wmv 31.07M
内核与舞女.wmv 88.50M
23.linux系统架构和执行过程概览
LinuxArchitectureAndSystemExecution.pdf 256.76kb
linux操作系统架构概览.wmv 17.88M
从CPU和内存的角度看linux系统的执行.wmv 8.07M
最简单也是最复杂的操作执行ls命令.wmv 7.57M
评论0