最新公告
  • 欢迎您光临666资源站,各种优质it资源共享下载,精品资源,持续更新 咨询Q群 174856490
  • 文章介绍
  • 课程目录:

    ├── 章节01 课前准备
    │ ├── 课时001 课程简介mp4
    │ ├── 课时002 资料下载链接.pdf
    │ ├── 课时003 资料下载说明.mp4
    │ └── 课时004 常见问题pdf
    ├── 章节02 开发环境准备
    │ ├── 课时005 开发工具总览mp4
    │ ├── 课时006 注意事项(必看!!!).pdf
    │ ├── 课时007 Windows平台mp4
    │ ├── 课时008 Linux平台(ubuntu).mp4
    │ └── 课时009 Mac平台.mp4
    ├── 章节03 前置课(选学,介绍x86保护模式下的编程)
    │ ├── 课时010 课程说明.pdf
    │ ├── 课时011 课程简介mp4
    │ ├── 课时012 工程组织结构mp4
    │ ├── 课时013 让计算机跑我们的操作系统.mp4
    │ ├── 课时014 x86处理器编程模型(1).mp4
    │ ├── 课时015 x86处理器编程模型(2)mp4
    │ ├── 课时016 加载自己的剩余部分(1)mp4
    │ ├── 课时017 加载自己的剩余部分(2).mp4
    │ ├── 课时018 进入保护模式(1)mp4
    │ ├── 课时019 进入保护模式(2).mp4
    │ ├── 课时020 进入保护模式(3)mp4
    │ ├── 课时021 打开分页机制(1)mp4
    │ ├── 课时022 打开分页机制(2)mp4
    │ ├── 课时023 打开分页机制(3).mp4
    │ ├── 课时024 开启定时中断(1)mp4
    │ ├── 课时025 开启定时中断(2).mp4
    │ ├── 课时026 开启定时中断(3).mp4
    │ ├── 课时027 切换至低特权级(1)mp4
    │ ├── 课时028 切换至低特权级(2).mp4
    │ ├── 课时029 切换至低特权级(3)mp4
    │ ├── 课时030 两个任务的切换(1)mp4
    │ ├── 课时031 两个任务的切换(2)mp4
    │ ├── 课时032 两个任务的切换(3).mp4
    │ ├── 课时033 增加系统调用(1).mp4
    │ ├── 课时034 增加系统调用(2)..mp4
    │ ├── 课时035 增加系统调用(3)..mp4
    │ ├── 课时036 使用LDT(1)mp4
    │ ├── 课时037 使用LDT(2)mp4
    │ ├── 课时038 使用LDT(3).mp4
    │ └── 课时039 课程总结.mp4
    ├── 章节04 引导程序:接管控制权
    │ ├── 课时040 计算机启动流程简介mp4
    │ ├── 课时041 接管运行控制权.mp4
    │ ├── 课时042 创建可引导的启动程序mp4
    │ ├── 课时043 初始化引导程序(1).mp4
    │ ├── 课时044 初始化引导程序(2).mp4
    │ ├── 课时045 使用BIOS中断显示字符.mp4
    │ ├── 课时046 使用BIOS中断读取磁盘.mp4
    │ ├── 课时047 进入C语言环境并跳到loader(1).mp4
    │ └── 课时048 进入C语言环境并跳到loader(2)mp4
    ├── 章节05 加载器loader的实现
    │ ├── 课时049 利用内联汇编显示字符串mp4
    │ ├── 课时050 检测内存容量(1)mp4
    │ ├── 课时051 检测内存容量(2)mp4
    │ ├── 课时052 切换进保护模式(1)-1mp4
    │ ├── 课时053 切换进保护模式(1)-2mp4
    │ ├── 课时054 切换进保护模式(1)-3mp4
    │ ├── 课时055 切换进保护模式(2)-1mp4
    │ ├── 课时056 切换进保护模式(2)-2mp4
    │ ├── 课时057 使用LBA模式读取磁盘mp4
    │ ├── 课时058 创建内核工程mp4
    │ ├── 课时059 向内核传递启动信息(1)mp4
    │ ├── 课时060 向内核传递启动信息(2)mp4
    │ ├── 课时061 代码段数据段与链接脚本(1)mp4
    │ ├── 课时062 代码段数据段与链接脚本(2).mp4
    │ ├── 课时063 加载内核映像文件(1).mp4
    │ └── 课时064 加载内核映像文件(2).mp4
    ├── 章节06 中断与异常处理
    │ ├── 课时065 创建GDT表及其表项(1)mp4
    │ ├── 课时066 创建GDT表及其表项(2)mp4
    │ ├── 课时067 保护模式下的内存管理简介mp4
    │ ├── 课时068 重新加载GDT(1)mp4
    │ ├── 课时069 重新加载GDT(2)mp4
    │ ├── 课时070 触发异常与异常简介mp4
    │ ├── 课时071 添加中断门描述符mp4
    │ ├── 课时072 初始化IDT表mp4
    │ ├── 课时073 捕获除0异常(1)mp4
    │ ├── 课时074 捕获除0异常(2)mp4
    │ ├── 课时075 解析异常栈信息(1)mp4
    │ ├── 课时076 解析异常栈信息(2)mp4
    │ ├── 课时077 利用宏重用异常处理代码(1)mp4
    │ ├── 课时078 利用宏重用异常处理代码(2)mp4
    │ ├── 课时079 处理其它类型的异常(1)mp4
    │ ├── 课时080 处理其它类型的异常(2).mp4
    │ ├── 课时081 初始化中断控制器(1).mp4
    │ ├── 课时082 初始化中断控制器(2)mp4
    │ ├── 课时083 中断的打开与关闭.mp4
    │ ├── 课时084 启动定时器并开中断(1)mp4
    │ ├── 课时085 启动定时器并开中断(2)mp4
    │ └── 课时086 启动定时器并开中断(3)mp4
    ├── 章节07 日志与printf格式化输出
    │ ├── 课时087 创建日志输出接口mp4
    │ ├── 课时088 实现基本的信息输出mp4
    │ ├── 课时089 实现基本的信息输出(1).mp4
    │ ├── 课时090 实现基本的信息输出(2).mp4
    │ ├── 课时091 若干字符串和内存操作函数实现mp4
    │ ├── 课时092 实现字符串的格式化输出(1)mp4
    │ ├── 课时093 实现字符串的格式化输出(2)mp4
    │ ├── 课时094 支持整数的格式化(1)mp4
    │ ├── 课时095 支持整数的格式化(2)mp4
    │ ├── 课时096 在异常处理程序中打印信息.mp4
    │ └── 课时097 利用assert辅助调试mp4
    ├── 章节08 实现简单的进程切换
    │ ├── 课时098 创建两个小任务mp4
    │ ├── 课时099 添加任务状态段(1)mp4
    │ ├── 课时100 添加任务状态段(2)mp4
    │ ├── 课时101 任务的简单初始化(1)mp4
    │ ├── 课时102 任务的简单初始化(2)- 1mp4
    │ ├── 课时103 任务的简单初始化(2)- 2mp4
    │ ├── 课时104 简单双任务相互切换(1)mp4
    │ ├── 课时105 简单双任务相互切换(2)mp4
    │ ├── 课时106 简单双任务相互切换(3)mp4
    │ ├── 课时107 另一种任务切换方法(1)mp4
    │ ├── 课时108 另一种任务切换方法(2)(1)mp4
    │ └── 课时108 另一种任务切换方法(2)mp4
    ├── 章节09 实现链表数据结构
    │ ├── 课时109 定义结点和链表mp4
    │ ├── 课时110 实现链表的查询函数mp4
    │ ├── 课时111 链表的两种插入mp4
    │ ├── 课时112 链表的两种删除mp4
    │ ├── 课时113 获取结点所在的结构(1)mp4
    │ └── 课时114 获取结点所在的结构(2)mp4
    ├── 章节10 进程的管理与延时
    │ ├── 课时115 添加任务管理器mp4
    │ ├── 课时116 将任务加入就绪队列mp4
    │ ├── 课时117 进程主动放弃CPUmp4
    │ ├── 课时118 让进程按时间片运行(1)mp4
    │ ├── 课时119 让进程按时间片运行(2)mp4
    │ ├── 课时120 临界资源及简单的保护(1)mp4
    │ ├── 课时121 临界资源及简单的保护(2)mp4
    │ ├── 课时122 临界资源及简单的保护(3)mp4
    │ ├── 课时123 让进程能够延时运行mp4
    │ └── 课时124 让所有进程都能延时mp4
    ├── 章节11 进程间的同步与互斥
    │ ├── 课时125 计数信号量及其初始化mp4
    │ ├── 课时126 发送和等待信号mp4
    │ ├── 课时127 使用计数信号量mp4
    │ ├── 课时128 互斥锁及其初始化mp4
    │ ├── 课时129 互斥锁的加解锁mp4
    │ └── 课时130 应用互斥锁mp4
    ├── 章节12 虚拟内存管理和保护模式
    │ ├── 课时131 内存管理问题mp4
    │ ├── 课时132 位图数据结构与初始化mp4
    │ ├── 课时133 位图位的分配(1)mp4
    │ ├── 课时134 位图位的分配(2)mp4
    │ ├── 课时135 创建地址分配结构(1)mp4
    │ ├── 课时136 创建地址分配结构(2)mp4
    │ ├── 课时137 规划内存空间的分配(1)mp4
    │ ├── 课时138 规划内存空间的分配(2)mp4
    │ ├── 课时139 规划内存空间的分配(3)mp4
    │ ├── 课时140 内存分页机制介绍mp4
    │ ├── 课时141 开启内存分页机制(1)mp4
    │ ├── 课时142 开启内存分页机制(2)- 1mp4
    │ ├── 课时143 开启内存分页机制(2)- 2mp4
    │ ├── 课时144 开启内存分页机制(2)- 3mp4
    │ ├── 课时145 创建内核页表(1)-建立映射表(1)mp4
    │ ├── 课时146 创建内核页表(1)-建立映射表(2)mp4
    │ ├── 课时147 创建内核页表(2)-页目录和页表结构mp4
    │ ├── 课时148 创建内核页表(3)-建立映射表(1)mp4
    │ ├── 课时149 创建内核页表(3)-建立映射表(2)mp4
    │ ├── 课时150 创建内核页表(3)-建立映射表(3)mp4
    │ ├── 课时151 创建内核页表(4)-添加权限处理mp4
    │ ├── 课时152 为进程创建页表(1)mp4
    │ └── 课时153 为进程创建页表(2)mp4
    ├── 章节13 隔离操作系统与进程
    │ ├── 课时154 隔离操作系统与进程(1)-代码分离mp4
    │ ├── 课时155 隔离操作系统与进程(2)-地址分离mp4
    │ ├── 课时156 隔离操作系统与进程(3)-搬运代码mp4
    │ ├── 课时157 调整应用的特权级(1)mp4
    │ ├── 课时158 调整应用的特权级(2)mp4
    │ ├── 课时159 调整异常处理函数(1)mp4
    │ ├── 课时160 调整异常处理函数(2)mp4
    │ ├── 课时161 修改空闲任务的特权级mp4
    │ ├── 课时162 切换至应用进程的特权级为最低mp4
    │ └── 课时163 为进程添加特权级0的栈空间mp4
    ├── 章节14 建立系统调用
    │ ├── 课时164 创建调用门mp4
    │ ├── 课时165 实现系统调用的调用和返回(1)mp4
    │ ├── 课时166 实现系统调用的调用和返回(2)mp4
    │ ├── 课时167 实现msleep系统调用(1)mp4
    │ ├── 课时168 实现msleep系统调用(2)mp4
    │ ├── 课时169 实现getid系统调用mp4
    │ ├── 课时170 实现pint_msg调用mp4
    │ └── 课时171 使用int $0x80实现系统调用mp4
    ├── 章节15 新进程的加载与创建
    │ ├── 课时172 实现fork系统调用(1)- 添加调用接口mp4
    │ ├── 课时173 实现fork系统调用(2)- 分配任务块mp4
    │ ├── 课时174 实现fork系统调用(3)- 初始化任务块mp4
    │ ├── 课时175 实现fork系统调用(4) – 复制进程地址空间mp4
    │ ├── 课时176 实现exec系统调用(1) – 创建一个空应用mp4
    │ ├── 课时177 实现exec系统调用(2) – 增加空的exec调用mp4
    │ ├── 课时178 实现exec系统调用(3) – 添加虚似文件访问接口mp4
    │ ├── 课时179 实现exec系统调用(4) – 解析并加载elf文件mp4
    │ ├── 课时180 实现exec系统调用(5) – 分配栈并进入进程执行mp4
    │ ├── 课时181 实现exec系统调用(6) – 为进程传递参数(1)mp4
    │ ├── 课时182 实现exec系统调用(6) – 为进程传递参数(2)mp4
    │ └── 课时183 添加sys_yield()系统调用mp4
    ├── 章节16 使用c标准库中的printf输出
    │ ├── 课时184 增加文件系统调用(1)mp4
    │ ├── 课时185 增加文件系统调用(2)mp4
    │ ├── 课时186 导入newlib c并调用printfmp4
    │ ├── 课时187 为malloc实现sys_brk调用(1)mp4
    │ ├── 课时188 为malloc实现sys_brk调用(2)mp4
    │ └── 课时189 简单的printf调用实现mp4
    ├── 章节17 使用控制台与键盘进行输入输出
    │ ├── 课时190 控制台简介与初始化(1)mp4
    │ ├── 课时191 控制台简介与初始化(2)mp4
    │ ├── 课时192 在控制台上显示字符串mp4
    │ ├── 课时193 处理换行和清屏mp4
    │ ├── 课时194 设置光标并重定向日志输出到显示器mp4
    │ ├── 课时195 有趣的转义字符串以及删除字符mp4
    │ ├── 课时196 保存并恢复光标位置mp4
    │ ├── 课时197 更新显示字体的颜色mp4
    │ ├── 课时198 移动光标位置及清屏mp4
    │ ├── 课时199 键盘初始化mp4
    │ ├── 课时200 借助按键映射表进行键值转换(1)mp4
    │ ├── 课时201 借助按键映射表进行键值转换(2)mp4
    │ ├── 课时202 处理caplock键mp4
    │ └── 课时203 处理其它特殊功能键mp4
    ├── 章节18 设备管理与文件系统
    │ ├── 课时204 设备管理框架简介mp4
    │ ├── 课时205 增加tty设备mp4
    │ ├── 课时206 实现dev层接口操作mp4
    │ ├── 课时207 为tty设备添加结构描述mp4
    │ ├── 课时208 实现tty设备的打开mp4
    │ ├── 课时209 通过tty设备写显示数据(1)mp4
    │ ├── 课时210 通过tty设备写显示数据(2)mp4
    │ ├── 课时211 文件系统简介及初始化mp4
    │ ├── 课时212 为进程添加文件打开表mp4
    │ ├── 课时213 打开tty设备并向其写入数据mp4
    │ ├── 课时214 从tty读取键值字符串并显示mp4
    │ ├── 课时215 打开标准输出及错误输出文件mp4
    │ ├── 课时216 允许切换tty窗口(1)mp4
    │ ├── 课时217 允许切换tty窗口(2)mp4
    │ └── 课时218 为每个tty窗口创建进程并保护.mp4
    ├── 章节19 实现一个命令行解释器
    │ ├── 课时219 初始化命令行解释器.mp4
    │ ├── 课时220 实现help命令的解析.mp4
    │ ├── 课时221 执行echo命令并给输出加点颜色(1)mp4
    │ ├── 课时222 执行echo命令并给输出加点颜色(2).mp4
    │ ├── 课时223 为进程增加exit接口mp4
    │ ├── 课时224 为进程增加wait接口(1)mp4
    │ ├── 课时225 为进程增加wait接口(2)mp4
    │ ├── 课时226 为进程增加wait接口(3)mp4
    │ └── 课时227 让子进程继承父进程已打开的文件mp4
    ├── 章节20 使用文件系统管理硬件设备
    │ ├── 课时228 描述一个文件系统mp4
    │ ├── 课时229 挂载设备文件系统(1)mp4
    │ ├── 课时230 挂载设备文件系统(2)mp4
    │ ├── 课时231 挂载设备文件系统(3)mp4
    │ ├── 课时232 打开devtty0文件(1) – 只打开devfs中的文件mp4
    │ ├── 课时233 打开devtty0文件(2) – 更通用的打开方式mp4
    │ └── 课时234 往devtty0读写数据mp4
    ├── 章节21 磁盘与fat16文件系统
    │ ├── 课时235 磁盘基本特性简介mp4
    │ ├── 课时236 识别系统中已有的磁盘(1)mp4
    │ ├── 课时237 识别系统中已有的磁盘(2)mp4
    │ ├── 课时238 识别系统中已有的磁盘(3)mp4
    │ ├── 课时239 识别系统中已有的磁盘(4)mp4
    │ ├── 课时240 解析磁盘分区表(1)mp4
    │ ├── 课时241 解析磁盘分区表(2)mp4
    │ ├── 课时242 增加磁盘设备管理mp4
    │ ├── 课时243 实现磁盘的读取和写入(1)mp4
    │ ├── 课时244 实现磁盘的读取和写入(2)mp4
    │ ├── 课时245 FAT16文件系统简介(1)mp4
    │ ├── 课时246 FAT16文件系统简介(2)mp4
    │ ├── 课时247 挂载FAT16文件系统(1)mp4
    │ ├── 课时248 挂载FAT16文件系统(2)mp4
    │ ├── 课时249 挂载FAT16文件系统(3)mp4
    │ ├── 课时250 遍历目录命令ls的实现(1)- 添加系统调用接口mp4
    │ ├── 课时251 遍历目录命令ls的实现(2)- 列出虚假的目录内容mp4
    │ ├── 课时252 遍历目录命令ls的实现(3)- 列出真实的目录内容(1)mp4
    │ ├── 课时253 遍历目录命令ls的实现(3)- 列出真实的目录内容(2)mp4
    │ ├── 课时254 遍历目录命令ls的实现(3)- 列出真实的目录内容(3)mp4
    │ ├── 课时255 文件查看命令less的实现(1)- 打开文件mp4
    │ ├── 课时256 文件查看命令less的实现(2)- 显示部分文件内容mp4
    │ ├── 课时257 文件查看命令less的实现(3)- 显示全部文件内容mp4
    │ ├── 课时258 文件查看命令less的实现(4)- 逐行显示文件内容mp4
    │ ├── 课时259 通过文件系统加载shellmp4
    │ ├── 课时260 让shell加载应用程序运行mp4
    │ ├── 课时261 应用运行异常时强制中断运行mp4
    │ ├── 课时262 文件复制命令cp的实现(1)- 创建新文件mp4
    │ ├── 课时263 文件复制命令cp的实现(2)- 删除文件mp4
    │ ├── 课时264 文件复制命令cp的实现(3)- 文件写入(1)mp4
    │ ├── 课时265 文件复制命令cp的实现(4)- 文件写入(2)mp4
    │ └── 课时266 最后的调整mp4
    ├── 章节22 课程总结
    │ └── 课时267 设计总结mp4
    └── diy-x86oszip
    ├── 【课程文档A】从0手写x86操作系统
    │ ├── 第10章 进程间的同步与互斥
    │ │ ├── 发送和等待信号md
    │ │ ├── 互斥锁的加解锁md
    │ │ ├── 互斥锁及其初始化md
    │ │ ├── 计数信号量及其初始化md
    │ │ ├── 使用计数信号量md
    │ │ └── 应用互斥锁md
    │ ├── 第11章 虚拟内存管理和保护模式
    │ │ ├── 创建地址分配结构md
    │ │ ├── 创建内核页表md
    │ │ ├── 规划内存空间的分配md
    │ │ ├── 开启内存分页机制md
    │ │ ├── 内存分页机制介绍md
    │ │ ├── 内存管理问题md
    │ │ ├── 为进程创建页表md
    │ │ ├── 位图数据结构与初始化md
    │ │ └── 位图位的分配md
    │ ├── 第12章 隔离操作系统与进程
    │ │ ├── 调整异常处理函数md
    │ │ ├── 调整应用的特权级md
    │ │ ├── 隔离操作系统与进程md
    │ │ ├── 切换至用户特权级为最低md
    │ │ ├── 为进程添加特权级0的栈空间md
    │ │ └── 修改空闲任务的特权级md
    │ ├── 第13章 建立系统调用
    │ │ ├── 创建调用门md
    │ │ ├── 实现getid系统调用md
    │ │ ├── 实现msleep系统调用md
    │ │ ├── 实现pint_msg调用md
    │ │ ├── 实现系统调用的调用和返回md
    │ │ └── 使用int $0x80实现系统调用md
    │ ├── 第14章 从磁盘加载程序运行
    │ │ ├── 实现exec系统调用md
    │ │ ├── 实现fork系统调用md
    │ │ └── 添加sys_yield()系统调用md
    │ ├── 第15章 使用c标准库中的printf输出
    │ │ ├── 导入newlib c并调用printfmd
    │ │ ├── 调整文件系统调用md
    │ │ ├── 简单的printf调用实现md
    │ │ └── 为malloc实现sys_brk调用md
    │ ├── 第16章 控制台输出与文件系统框架
    │ │ ├── 保存并恢复光标位置md
    │ │ ├── 处理caplock键md
    │ │ ├── 处理换行和清屏md
    │ │ ├── 处理其它特殊功能键md
    │ │ ├── 更新显示字体的颜色md
    │ │ ├── 键盘初始化md
    │ │ ├── 借助按键映射表进行键值转换md
    │ │ ├── 控制台简介与初始化md
    │ │ ├── 设置光标并重定向日志输出到显示器md
    │ │ ├── 移动光标位置及清屏md
    │ │ ├── 在控制台上显示字符串.md
    │ │ └── 转义字符串以及删除字符.md
    │ ├── 第17章 设备管理与文件系统
    │ │ ├── 从tty读取键值字符串并显示md
    │ │ ├── 打开tty设备并向其写入数据md
    │ │ ├── 打开标准输出及错误输出文件md
    │ │ ├── 将tty纳入设备管理器中md
    │ │ ├── 设备管理框架简介md
    │ │ ├── 实现dev层接口操作md
    │ │ ├── 通过tty设备写显示数据md
    │ │ ├── 为tty设备添加结构描述md
    │ │ ├── 为进程添加文件打开表md
    │ │ ├── 为每个tty窗口创建进程并保护md
    │ │ ├── 文件系统简介及初始化md
    │ │ └── 允许切换tty窗口md
    │ ├── 第18章 实现命令行解释器
    │ │ ├── 初始化命令行解释器md
    │ │ ├── 让子进程继承父进程已打开的文件md
    │ │ ├── 实现help命令的解析md
    │ │ ├── 为进程增加exit接口md
    │ │ ├── 为进程增加wait接口md
    │ │ └── 执行echo命令并给输出加点颜色md
    │ ├── 第19章 使有文件系统管理硬件设备
    │ │ ├── 打开devtty0文件(1) – 只打开devfs中的文件md
    │ │ ├── 打开devtty0文件(2) – 更通用的打开方式md
    │ │ ├── 挂载设备文件系统md
    │ │ ├── 描述一个文件系统md
    │ │ └── 往devtty0读写数据md
    │ ├── 第1章 课前准备
    │ │ ├── 面试题目md
    │ │ ├── 学习方法md
    │ │ ├── 指南介绍md
    │ │ └── 资料下载md
    │ ├── 第20章 磁盘与fat32文件系统
    │ │ ├── FAT16文件系统简介md
    │ │ ├── 遍历目录命令ls的实现(1)- 添加系统调用接口md
    │ │ ├── 遍历目录命令ls的实现(2)- 列出虚假的目录内容md
    │ │ ├── 遍历目录命令ls的实现(3)- 列出真实的目录内容md
    │ │ ├── 磁盘基本特性简介md
    │ │ ├── 挂载FAT16文件系统md
    │ │ ├── 解析磁盘分区表md
    │ │ ├── 课程答疑:ls无法列举出文件md
    │ │ ├── 让shell加载应用程序运行md
    │ │ ├── 识别硬件中已有的磁盘md
    │ │ ├── 实现磁盘的读取和写入md
    │ │ ├── 通过文件系统加载shellmd
    │ │ ├── 文件查看命令less的实现(1)- 打开文件md
    │ │ ├── 文件查看命令less的实现(2)- 显示部分文件内容md
    │ │ ├── 文件查看命令less的实现(3)- 显示全部文件内容md
    │ │ ├── 文件查看命令less的实现(4)- 逐行显示文件内容md
    │ │ ├── 文件复制命令cp的实现md
    │ │ ├── 应用运行异常时强制中断运行md
    │ │ ├── 增加磁盘打开接口md
    │ │ └── 重要参考:磁盘映像数据分析md
    │ ├── 第2章 开发环境准备
    │ │ ├── Linux平台md
    │ │ ├── Mac平台md
    │ │ ├── Windows平台md
    │ │ ├── 常见问题md
    │ │ └── 开发工具总览md
    │ ├── 第3章 引导:boot的实现
    │ │ ├── 初始化引导程序md
    │ │ ├── 创建可引导的启动程序md
    │ │ ├── 计算机启动流程简介md
    │ │ ├── 接管运行控制权md
    │ │ ├── 进入C语言环境并跳到loadermd
    │ │ ├── 扩展更多功能md
    │ │ ├── 使用BIOS中断读取磁盘md
    │ │ └── 使用BIOS中断显示字符md
    │ ├── 第4章 加载:loader的实现
    │ │ ├── 创建内核工程md
    │ │ ├── 代码数据段与链接脚本md
    │ │ ├── 加载内核映像文件md
    │ │ ├── 检测内存容量md
    │ │ ├── 利用内联汇编显示字符串md
    │ │ ├── 切换至保护模式md
    │ │ ├── 使用LBA读取磁盘md
    │ │ └── 向内核传递启动信息md
    │ ├── 第5章 中断与异常处理
    │ │ ├── 保护模式下的内存管理简介md
    │ │ ├── 捕获除0异常md
    │ │ ├── 初始化IDT表md
    │ │ ├── 初始化中断控制器md
    │ │ ├── 处理其它类型的异常md
    │ │ ├── 触发异常与异常简介md
    │ │ ├── 创建GDT表及其表项md
    │ │ ├── 解析异常栈信息md
    │ │ ├── 利用宏重用异常处理代码md
    │ │ ├── 启动定时器并打开中断md
    │ │ ├── 添加中断门描述符md
    │ │ ├── 中断的打开与关闭md
    │ │ └── 重新加载GDTmd
    │ ├── 第6章 日志与printf格式化输出
    │ │ ├── 创建日志输出接口md
    │ │ ├── 利用assert辅助调试md
    │ │ ├── 若干字符串和内存操作函数实现md
    │ │ ├── 实现基本的信息输出md
    │ │ ├── 实现字符串的格式化输出md
    │ │ ├── 在异常处理程序中打印信息md
    │ │ └── 支持整数和字符的格式化md
    │ ├── 第7章 实现简单进程切换
    │ │ ├── 初始化任务md
    │ │ ├── 创建两个小程序md
    │ │ ├── 更简单高效的任务切换方法md
    │ │ ├── 简单双任务相互切换md
    │ │ └── 添加任务状态段md
    │ ├── 第8章 实现链表数据结构
    │ │ ├── 定义结点和链表md
    │ │ ├── 获取结点所在的结构md
    │ │ ├── 链表的两种插入md
    │ │ ├── 链表的两种删除md
    │ │ └── 实现链表的查询函数md
    │ ├── 第9章 任务管理与延时
    │ │ ├── 简单的调度算法:时间片运行md
    │ │ ├── 将进程加入就绪队列md
    │ │ ├── 进程主动放弃CPUmd
    │ │ ├── 临界资源及简单的保护md
    │ │ ├── 让所有任务都能延时md
    │ │ ├── 添加任务管理器md
    │ │ └── 为任务增加延时接口md
    │ ├── 附录 参考文档
    │ │ ├── ASCII码表md
    │ │ ├── ASCII转义序列md
    │ │ └── GCC内联汇编md
    │ ├── 前置课:x86保护模式编程与操作系统设计
    │ │ ├── x86处理器编程模型md
    │ │ ├── 打开分页机制md
    │ │ ├── 加载自己的剩余部分md
    │ │ ├── 进入保护模式md
    │ │ ├── 开启定时中断md
    │ │ ├── 课程说明md
    │ │ ├── 课程问题列表md
    │ │ ├── 两个任务的切换md
    │ │ ├── 切换至低特权级md
    │ │ ├── 让计算机跑我们的操作系统md
    │ │ ├── 使用LDTmd
    │ │ ├── 增加系统调用md
    │ │ └── 资料下载及环境配置md
    │ └── 视频与代码勘误
    │ └── 问题勘误md
    ├── 参考资料
    │ ├── intel编程文档
    │ │ ├── 253665-sdm-vol-1pdf
    │ │ ├── 325383-sdm-vol-2abcd.pdf
    │ │ ├── 325384-sdm-vol-3abcd.pdf
    │ │ └── 335592-sdm-vol-4pdf
    │ ├── 8253pdf
    │ ├── 8259Apdf
    │ ├── abi386-4pdf
    │ ├── ELF_Formatpdf
    │ ├── FAT英文白皮书pdf
    │ ├── FAT中文白皮书pdf
    │ ├── LINUX内核完全剖析:基于0.12内核pdf
    │ └── unix-operating-system-designpdf
    ├── 磁盘映像
    │ ├── disk1vhd
    │ ├── disk2vhd
    │ ├── diskimg
    │ └── 说明txt
    ├── 开发工具
    │ ├── mac
    │ │ └── VSCode-darwin-universalzip
    │ ├── ubuntu
    │ │ └── code_1.66.2-1649664567_amd64deb
    │ ├── windows
    │ │ ├── DiskGenius
    │ │ │ ├── dos
    │ │ │ ├── avcodec-58.dll
    │ │ │ ├── avdevice-58dll
    │ │ │ ├── avfilter-7dll
    │ │ │ ├── avformat-58.dll
    │ │ │ ├── avutil-56.dll
    │ │ │ ├── DGBCDX64exe
    │ │ │ ├── DGFileViewerexe
    │ │ │ ├── Disk0Part188747776-45693872dgrp
    │ │ │ ├── DiskGeniusexe
    │ │ │ ├── dsoframerocx
    │ │ │ ├── Except_6060
    │ │ │ ├── HdrwVdidll
    │ │ │ ├── HdrwVhdddll
    │ │ │ ├── HdrwVhdxdll
    │ │ │ ├── HdrwVhddll
    │ │ │ ├── Hdrwvmdll
    │ │ │ ├── Letarmdll
    │ │ │ ├── libde265dll
    │ │ │ ├── libhefcdll
    │ │ │ ├── libwimdll
    │ │ │ ├── LSlMdll
    │ │ │ ├── OfflineRegexe
    │ │ │ ├── Optionsini
    │ │ │ ├── releasenotetxt
    │ │ │ ├── SDL2dll
    │ │ │ ├── swresample-3dll
    │ │ │ ├── swscale-5dll
    │ │ │ └── VPreviewdll
    │ │ ├── WinHex
    │ │ │ └── WinHex_v20.2_x86_x64exe
    │ │ ├── x86_64-elf-tools-windows
    │ │ │ ├── bin
    │ │ │ ├── include
    │ │ │ ├── lib
    │ │ │ ├── libexec
    │ │ │ ├── share
    │ │ │ └── x86_64-elf
    │ │ ├── cmake-3.23.1-windows-i386.msi
    │ │ ├── git-2.36.0-32-bitexe
    │ │ ├── qemu-w32-setup-20170113.exe
    │ │ ├── VSCodeUserSetup-x64-1.66.2.exe
    │ │ └── x86_64-elf-tools-windowszip
    │ └── mac_ubuntu工具请自行下载txt

    666资源站是一个优秀的资源整合平台,海量资料共享学习
    666资源站 » 项目-网易云-从0写自己的Linux x86操作系统

    常见问题FAQ

    视频课程的格式是什么
    视频不加密,网盘在线学习,课程免费更新,持续更新
    怎么发货?
    自动发货,提供百度云链接和提取码【如失效点击网站右侧联系客服】】
    有些资源没更新完结怎么办
    本站资源包更新至完结,后续可以点击链接获取
    有问题不懂想咨询怎么办
    咨询邮箱:2582178968@qq.com Q群:790861894
    • 34915 资源总数(个)
    • 12本周发布(个)
    • 3 今日发布(个)
    • 4237稳定运行(天)

    666资源站国内最专业的学习课程平台

    加入我们
    升级SVIP尊享更多特权立即升级