课程介绍
从0手写自己的Linux x86操作系统视频教程,。作者历时大概两年准备、开发课程,课程本身深入浅出,采用从0行代码编写的方式,教你如何写一个类似(非相同)Linux 0.11的x86操作系统,从而深入掌握操作系统的工作原理。这个课程是我学习操作系统最棒的一个。当然你必须拥有一定的基础,微机原理,计算机组成原理,c语言基础,数据结构,操作系统基本知识,在结合讲师的视频,绝对无敌,这课我敢说已经超越了课程本身,如果你想在操作系统上修行,此课必看。
课程目录
├── 1-课前准备/@更多it资源www. │ ├── [ 36M] 1.1-课程简介.mp4 │ ├── [795K] 1.2-资料下载链接.pdf │ ├── [ 27M] 1.3-资料下载说明.mp4 │ └── [4.1M] 1.4-常见问题.pdf ├── 2-开发环境准备/ │ ├── [ 12M] 2.1-开发工具总览.mp4 │ ├── [1.2M] 2.2-注意事项(必看!!!).pdf │ ├── [129M] 2.3-Windows平台.mp4 │ ├── [ 74M] 2.4-Linux平台(ubuntu).mp4 │ └── [ 49M] 2.5-Mac平台.mp4 ├── 3-前置课(选学,介绍x86保护模式下的编程)/ │ ├── [951K] 3.1-课程说明.pdf │ ├── [ 35M] 3.2-课程简介.mp4 │ ├── [ 47M] 3.3-开发环境安装(与前面部分内容有重复).mp4 │ ├── [ 21M] 3.4-工程组织结构.mp4 │ ├── [ 33M] 3.5-让计算机跑我们的操作系统.mp4 │ ├── [ 41M] 3.6-x86处理器编程模型(1).mp4 │ ├── [ 21M] 3.7-x86处理器编程模型(2).mp4 │ ├── [ 15M] 3.8-加载自己的剩余部分(1).mp4 │ ├── [ 29M] 3.9-加载自己的剩余部分(2).mp4 │ ├── [ 54M] 3.10-进入保护模式(1).mp4 │ ├── [ 67M] 3.11-进入保护模式(2).mp4 │ ├── [ 47M] 3.12-进入保护模式(3).mp4 │ ├── [ 52M] 3.13-打开分页机制(1).mp4 │ ├── [ 53M] 3.14-打开分页机制(2).mp4 │ ├── [ 73M] 3.15-打开分页机制(3).mp4 │ ├── [ 49M] 3.16-开启定时中断(1).mp4 │ ├── [ 51M] 3.17-开启定时中断(2).mp4 │ ├── [ 69M] 3.18-开启定时中断(3).mp4 │ ├── [ 30M] 3.19-切换至低特权级(1).mp4 │ ├── [ 69M] 3.20-切换至低特权级(2).mp4 │ ├── [ 40M] 3.21-切换至低特权级(3).mp4 │ ├── [ 30M] 3.22-两个任务的切换(1).mp4 │ ├── [104M] 3.23-两个任务的切换(2).mp4 │ ├── [ 58M] 3.24-两个任务的切换(3).mp4 │ ├── [ 26M] 3.25-增加系统调用(1)..mp4 │ ├── [ 65M] 3.26-增加系统调用(2)..mp4 │ ├── [ 97M] 3.27-增加系统调用(3)..mp4 │ ├── [ 57M] 3.28-使用LDT(1).mp4 │ ├── [ 84M] 3.29-使用LDT(2).mp4 │ ├── [ 17M] 3.30-使用LDT(3).mp4 │ └── [ 57M] 3.31-课程总结.mp4 ├── 4-引导程序:接管控制权/ │ ├── [ 33M] 4.1-计算机启动流程简介.mp4 │ ├── [ 31M] 4.2-接管运行控制权.mp4 │ ├── [ 53M] 4.3-创建可引导的启动程序.mp4 │ ├── [ 20M] 4.4-初始化引导程序(1).mp4 │ ├── [ 14M] 4.5-初始化引导程序(2).mp4 │ ├── [ 16M] 4.6-使用BIOS中断显示字符.mp4 │ ├── [ 39M] 4.7-使用BIOS中断读取磁盘.mp4 │ ├── [ 23M] 4.8-进入C语言环境并跳到loader(1).mp4 │ └── [ 31M] 4.9-进入C语言环境并跳到loader(2).mp4 ├── 5-加载器loader的实现/ │ ├── [ 53M] 5.1-利用内联汇编显示字符串.mp4 │ ├── [ 29M] 5.2-检测内存容量(1).mp4 │ ├── [ 44M] 5.3-检测内存容量(2).mp4 │ ├── [ 23M] 5.4-切换进保护模式(1)-1.mp4 │ ├── [ 25M] 5.5-切换进保护模式(1)-2.mp4 │ ├── [ 22M] 5.6-切换进保护模式(1)-3.mp4 │ ├── [ 23M] 5.7-切换进保护模式(2)-1.mp4 │ ├── [ 31M] 5.8-切换进保护模式(2)-2.mp4 │ ├── [ 52M] 5.9-使用LBA模式读取磁盘.mp4 │ ├── [ 58M] 5.10-创建内核工程.mp4 │ ├── [ 35M] 5.11-向内核传递启动信息(1).mp4 │ ├── [ 39M] 5.12-向内核传递启动信息(2).mp4 │ ├── [ 44M] 5.13-代码段数据段与链接脚本(1).mp4 │ ├── [ 27M] 5.14-代码段数据段与链接脚本(2).mp4 │ ├── [ 40M] 5.15-加载内核映像文件(1).mp4 │ └── [ 84M] 5.16-加载内核映像文件(2).mp4 ├── 6-中断与异常处理/ │ ├── [ 37M] 6.1-创建GDT表及其表项(1).mp4 │ ├── [ 51M] 6.2-创建GDT表及其表项(2).mp4 │ ├── [ 42M] 6.3-保护模式下的内存管理简介.mp4 │ ├── [ 78M] 6.4-重新加载GDT(1).mp4 │ ├── [ 45M] 6.5-重新加载GDT(2).mp4 │ ├── [ 21M] 6.6-触发异常与异常简介.mp4 │ ├── [ 36M] 6.7-添加中断门描述符.mp4 │ ├── [ 30M] 6.8-初始化IDT表.mp4 │ ├── [ 42M] 6.9-捕获除0异常(1).mp4 │ ├── [ 36M] 6.10-捕获除0异常(2).mp4 │ ├── [ 25M] 6.11-解析异常栈信息(1).mp4 │ ├── [ 40M] 6.12-解析异常栈信息(2).mp4 │ ├── [ 39M] 6.13-利用宏重用异常处理代码(1).mp4 │ ├── [ 44M] 6.14-利用宏重用异常处理代码(2).mp4 │ ├── [ 35M] 6.15-处理其它类型的异常(1).mp4 │ ├── [ 68M] 6.16-处理其它类型的异常(2).mp4 │ ├── [ 32M] 6.17-初始化中断控制器(1).mp4 │ ├── [ 49M] 6.18-初始化中断控制器(2).mp4 │ ├── [ 23M] 6.19-中断的打开与关闭.mp4 │ ├── [ 19M] 6.20-启动定时器并开中断(1).mp4 │ ├── [ 46M] 6.21-启动定时器并开中断(2).mp4 │ └── [ 39M] 6.22-启动定时器并开中断(3).mp4 ├── 7-日志与printf格式化输出/ │ ├── [ 39M] 7.1-创建日志输出接口.mp4 │ ├── [ 51M] 7.2-实现基本的信息输出.mp4 │ ├── [ 13M] 7.3-实现基本的信息输出(1).mp4 │ ├── [ 38M] 7.4-实现基本的信息输出(2).mp4 │ ├── [ 47M] 7.5-若干字符串和内存操作函数实现.mp4 │ ├── [ 49M] 7.6-实现字符串的格式化输出(1).mp4 │ ├── [ 22M] 7.7-实现字符串的格式化输出(2).mp4 │ ├── [ 39M] 7.8-支持整数的格式化(1).mp4 │ ├── [ 40M] 7.9-支持整数的格式化(2).mp4 │ ├── [ 43M] 7.10-在异常处理程序中打印信息..mp4 │ └── [ 51M] 7.11-利用assert辅助调试.mp4 ├── 8-实现简单的进程切换/ │ ├── [ 25M] 8.1-创建两个小任务.mp4 │ ├── [ 34M] 8.2-添加任务状态段(1).mp4 │ ├── [ 28M] 8.3-添加任务状态段(2).mp4 │ ├── [ 29M] 8.4-任务的简单初始化(1).mp4 │ ├── [ 26M] 8.5-任务的简单初始化(2)-1.mp4 │ ├── [ 46M] 8.6-任务的简单初始化(2)-2.mp4 │ ├── [ 19M] 8.7-简单双任务相互切换(1).mp4 │ ├── [ 47M] 8.8-简单双任务相互切换(2).mp4 │ ├── [ 30M] 8.9-简单双任务相互切换(3).mp4 │ ├── [ 35M] 8.10-另一种任务切换方法(1).mp4 │ └── [ 45M] 8.11-另一种任务切换方法(2).mp4 ├── 9-实现链表数据结构/ │ ├── [ 47M] 9.1-定义结点和链表.mp4 │ ├── [ 14M] 9.2-实现链表的查询函数.mp4 │ ├── [ 37M] 9.3-链表的两种插入.mp4 │ ├── [ 45M] 9.4-链表的两种删除.mp4 │ ├── [ 10M] 9.5-获取结点所在的结构(1).mp4 │ └── [ 41M] 9.6-获取结点所在的结构(2).mp4 ├── 10-进程的管理与延时/ │ ├── [ 48M] 10.1-添加任务管理器.mp4 │ ├── [ 38M] 10.2-将任务加入就绪队列.mp4 │ ├── [ 45M] 10.3-进程主动放弃CPU.mp4 │ ├── [8.5M] 10.4-让进程按时间片运行(1).mp4 │ ├── [ 44M] 10.5-让进程按时间片运行(2).mp4 │ ├── [ 20M] 10.6-临界资源及简单的保护(1).mp4 │ ├── [ 32M] 10.7-临界资源及简单的保护(2).mp4 │ ├── [ 24M] 10.8-临界资源及简单的保护(3).mp4 │ ├── [ 69M] 10.9-让进程能够延时运行.mp4 │ └── [ 46M] 10.10-让所有进程都能延时.mp4 ├── 11-进程间的同步与互斥/ │ ├── [ 32M] 11.1-计数信号量及其初始化.mp4 │ ├── [ 33M] 11.2-发送和等待信号.mp4 │ ├── [ 40M] 11.3-使用计数信号量.mp4 │ ├── [ 17M] 11.4-互斥锁及其初始化.mp4 │ ├── [ 29M] 11.5-互斥锁的加解锁.mp4 │ └── [ 31M] 11.6-应用互斥锁.mp4 ├── 12-虚拟内存管理和保护模式/ │ ├── [ 37M] 12.1-内存管理问题.mp4 │ ├── [ 29M] 12.2-位图数据结构与初始化.mp4 │ ├── [6.0M] 12.3-位图位的分配(1).mp4 │ ├── [ 39M] 12.4-位图位的分配(2).mp4 │ ├── [ 25M] 12.5-创建地址分配结构(1).mp4 │ ├── [ 34M] 12.6-创建地址分配结构(2).mp4 │ ├── [8.2M] 12.7-规划内存空间的分配(1).mp4 │ ├── [ 34M] 12.8-规划内存空间的分配(2).mp4 │ ├── [ 34M] 12.9-规划内存空间的分配(3).mp4 │ ├── [ 25M] 12.10-内存分页机制介绍.mp4 │ ├── [ 27M] 12.11-开启内存分页机制(1).mp4 │ ├── [ 15M] 12.12-开启内存分页机制(2)-1.mp4 │ ├── [ 42M] 12.13-开启内存分页机制(2)-2.mp4 │ ├── [ 21M] 12.14-开启内存分页机制(2)-3.mp4 │ ├── [ 17M] 12.15-创建内核页表(1)-建立映射表.mp4 │ ├── [ 47M] 12.16-创建内核页表(1)-建立映射表.mp4 │ ├── [ 51M] 12.17-创建内核页表(2)-页目录和页表结构.mp4 │ ├── [ 22M] 12.18-创建内核页表(3)-建立映射表(1).mp4 │ ├── [ 50M] 12.19-创建内核页表(3)-建立映射表(2).mp4 │ ├── [ 50M] 12.20-创建内核页表(3)-建立映射表(3).mp4 │ ├── [ 38M] 12.21-创建内核页表(4)-添加权限处理.mp4 │ ├── [ 26M] 12.22-为进程创建页表(1).mp4 │ └── [ 77M] 12.23-为进程创建页表(2).mp4 ├── 13-隔离操作系统与进程/ │ ├── [ 75M] 13.1-隔离操作系统与进程(1)-代码分离.mp4 │ ├── [ 71M] 13.2-隔离操作系统与进程(2)-地址分离.mp4 │ ├── [ 71M] 13.3-隔离操作系统与进程(3)-搬运代码.mp4 │ ├── [ 37M] 13.4-调整应用的特权级(1).mp4 │ ├── [ 45M] 13.5-调整应用的特权级(2).mp4 │ ├── [ 37M] 13.6-调整异常处理函数(1).mp4 │ ├── [ 78M] 13.7-调整异常处理函数(2).mp4 │ ├── [ 29M] 13.8-修改空闲任务的特权级.mp4 │ ├── [ 55M] 13.9-切换至应用进程的特权级为最低.mp4 │ └── [ 86M] 13.10-为进程添加特权级0的栈空间.mp4 ├── 14-建立系统调用/ │ ├── [ 60M] 14.1-创建调用门(1).mp4 │ ├── [ 60M] 14.1-创建调用门.mp4 │ ├── [ 56M] 14.2-实现系统调用的调用和返回(1).mp4 │ ├── [ 27M] 14.3-实现系统调用的调用和返回(2).mp4 │ ├── [ 54M] 14.4-实现msleep系统调用(1).mp4 │ ├── [ 19M] 14.5-实现msleep系统调用(2).mp4 │ ├── [ 64M] 14.6-实现getid系统调用.mp4 │ ├── [ 23M] 14.7-实现pint_msg调用.mp4 │ └── [ 63M] 14.8-使用int$0x80实现系统调用.mp4 ├── 15-新进程的加载与创建/ │ ├── [ 38M] 15.1-实现fork系统调用(1)-添加调用接口.mp4 │ ├── [ 33M] 15.2-实现fork系统调用(2)-分配任务块.mp4 │ ├── [121M] 15.3-实现fork系统调用(3)-初始化任务块.mp4 │ ├── [108M] 15.4-实现fork系统调用(4)-复制进程地址空间.mp4 │ ├── [ 70M] 15.5-实现exec系统调用(1)-创建一个空应用.mp4 │ ├── [ 25M] 15.6-实现exec系统调用(2)-增加空的exec调用.mp4 │ ├── [ 79M] 15.7-实现exec系统调用(3)-添加虚似文件访问接口.mp4 │ ├── [144M] 15.8-实现exec系统调用(4)-解析并加载elf文件.mp4 │ ├── [ 62M] 15.9-实现exec系统调用(5)-分配栈并进入进程执行.mp4 │ ├── [ 20M] 15.10-实现exec系统调用(6)-为进程传递参数(1).mp4 │ ├── [111M] 15.11-实现exec系统调用(6)-为进程传递参数(2).mp4 │ └── [ 55M] 15.12-添加sys_yield()系统调用.mp4 … 其余 92 项略,目录共 292 项





![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=https%3A%2F%2Fwww.itzhibei.com%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)