【资源介绍】:
本课程从理解计算机硬件的核心工作机制(存储程序计算机和函数调用堆栈)和用户态程序如何通过系统调用陷入内核(中断异常)入手,通过上下两个方向双向夹击的策略,并利用实际可运行程序的反汇编代码从实践的角度理解操作系统内核,然后开始分析Linux内核源代码,从系统调用陷入内核,进程调度与进程切换,最后返回到用户态进程,通过仔细分析梳理这一过程,并推广到硬件中断、缺页异常等内核执行路径,最终能从本质上把握Linux内核的实质,乃至在头脑中演绎Linux系统的运行过程。
【资源目录】:
├──1.存储程序计算机工作模型
|   ├──HowtheComputerWorks.pdf  605.98kb
|   └──存储程序计算机工作模型.avi  43.40M
├──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.83M
├──15.系统调用在内核代码中的处理过程
|   ├──1.系统调用在内核代码中的工作机制和初始化.mp4  15.32M
|   ├──2.简化后便于理解的system_call伪代码.mp4  39.31M
|   └──3.简单浏览system_call到iret之间的主要代码.mp4  22.41M
├──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
├──2.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
├──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
├──3.反汇编一个简单的C程序分析其汇编指令执行过程
|   ├──1.反汇编一个简单的C程序.avi  31.77M
|   ├──2.C程序和对应的汇编指令.avi  28.53M
|   ├──3.完整汇编程序执行过程分析.avi  116.90M
|   └──执行过程演示.gif  706.20kb
├──4.操作系统是如何工作的?
|   ├──1.三个法宝.avi  34.19M
|   ├──2.深入理解函数调用堆栈.avi  51.33M
|   ├──3.参数传递与局部变量.avi  86.76M
|   ├──FoundationsForHackingLinux.pdf  659.03kb
|   └──计算机是如何工作的?(总结)——三个法宝.txt  0.44kb
├──5.利用mykernel实验模拟计算机硬件平台
|   ├──1.mykernel实验背后涉及的思想.avi  26.37M
|   ├──2.利用mykernel实验模拟计算机硬件平台.avi  37.52M
|   └──mykernel实验指导.txt  0.28kb
├──6.在mykernel基础上构造一个简单的操作系统内核
|   ├──1.C代码中嵌入汇编代码的写法.avi  55.88M
|   ├──2.一个简单的操作系统内核源代码.avi  89.87M
|   └──3.运行这个精简的操作系统内核.avi  12.49M
├──7.Linux内核源代码简介
|   └──1.Linux内核源代码.avi  61.84M
├──8.构造一个简单的Linux系统
|   ├──1.构造一个简单的Linux系统MenuOS.avi  55.53M
|   └──实验指导.txt  1.74kb
└──9.跟踪调试Linux内核的启动过程
|   ├──1.使用gdb跟踪调试Linux内核的方法.avi  35.65M
|   ├──2.简单分析一下start_kernel.avi  53.81M
|   └──Linux内核启动过程相关的参考资料.txt  1.34kb

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源