《李述铜:从0手写自己的Linux X86操作系统(价值798元)》是一套面向计算机底层技术学习者打造的系统化实战课程,专注于带领学习者从零开始理解操作系统原理,并亲手完成一个基于X86架构的操作系统开发过程。课程以“自己动手写操作系统”为核心,通过汇编语言、C语言、计算机体系结构、内核开发等内容,让学习者深入理解操作系统从启动到运行的完整流程。适合计算机专业学生、软件开发工程师、嵌入式开发人员、Linux爱好者以及希望提升底层技术能力的学习者。

课程首先从计算机启动流程和X86架构基础开始,帮助学员理解操作系统运行的底层环境。内容包括CPU工作模式、寄存器、内存管理、BIOS启动流程、Bootloader加载机制等知识,让学习者明白计算机开机后如何从硬件一步步进入操作系统,而不是停留在应用层开发。

在汇编语言基础模块中,课程重点讲解操作系统开发所需的底层编程技术。学员将学习X86汇编指令、内存寻址、函数调用、堆栈管理、中断机制等核心内容,并通过实际代码编写,掌握如何直接控制计算机硬件资源,为后续内核开发奠定基础。

课程深入讲解BootLoader开发过程,带领学员实现从硬盘加载程序到进入保护模式的完整流程。通过亲手编写启动代码,学习者能够理解操作系统启动阶段的重要机制,包括磁盘读取、地址转换、CPU模式切换以及内核加载等关键技术。

在Linux操作系统内核开发部分,课程结合C语言与汇编语言,逐步实现操作系统核心功能。内容涵盖内存管理、进程管理、中断处理、系统调用、设备驱动、文件系统等重要模块。学员将通过不断完善自己的操作系统,实现从简单启动程序到具备基本功能内核的完整过程。

课程还会讲解Linux系统设计思想以及现代操作系统的重要概念,包括多任务处理、资源调度、用户态与内核态、硬件抽象层等。通过实际开发案例,让学习者不仅掌握代码实现方法,更能够理解操作系统背后的设计理念。

此外,课程注重工程实践能力培养,配套大量源码和实验项目,帮助学习者通过调试、运行、修改代码深入理解系统运行机制。相比单纯学习操作系统理论,本课程更加注重“做中学”,让复杂的底层知识通过实际项目变得更加直观。

《李述铜:从0手写自己的Linux X86操作系统》通过“硬件基础 → 汇编开发 → 启动流程 → 内核实现 → 系统完善”的完整学习路线,帮助学习者建立深入理解计算机底层世界的能力。完成课程学习后,学员不仅能够掌握Linux和操作系统核心原理,还能够提升系统开发、嵌入式开发、软件安全以及底层工程方向的技术实力,为进入高级程序开发领域打下坚实基础。

课程截图:

课程目录:

李述铜 从0手写自己的Linux X86操作系统价值798元/
│ ├── {1}–课前准备/
│ │ ├── [1.1]–课程简介.mp4 (74.44 MB)
│ │ ├── (1.2)–资料下载链接.pdf (0.78 MB)
│ │ ├── [1.3]–资料下载说明.mp4 (31.97 MB)
│ │ ├── (1.4)–常见问题.pdf (4.13 MB)
│ │ └── {1}–课前准备说明.png (0.48 MB)
│ ├── {2}–开发环境准备/
│ │ ├── [2.1]–开发工具总览.mp4 (11.86 MB)
│ │ ├── (2.2)–注意事项(必看!!!).pdf (1.21 MB)
│ │ ├── [2.3]–Windows平台.mp4 (129.27 MB)
│ │ ├── [2.4]–Linux平台(ubuntu).mp4 (74.33 MB)
│ │ ├── [2.5]–Mac平台.mp4 (49.44 MB)
│ │ └── {2}–开发环境准备资料.zip (1.83 MB)
│ ├── {3}–前置课(选学,介绍x86保护模式下的编程)/
│ │ ├── (3.1)–课程说明.pdf (0.93 MB)
│ │ ├── [3.2]–课程简介.mp4 (34.66 MB)
│ │ ├── [3.3]–开发环境安装(与前面部分内容有重复).mp4 (47.27 MB)
│ │ ├── [3.4]–工程组织结构.mp4 (20.54 MB)
│ │ ├── [3.5]–让计算机跑我们的操作系统.mp4 (33.29 MB)
│ │ ├── [3.6]–x86处理器编程模型(1).mp4 (41.39 MB)
│ │ ├── [3.7]–x86处理器编程模型(2).mp4 (20.53 MB)
│ │ ├── [3.8]–加载自己的剩余部分(1).mp4 (15.20 MB)
│ │ ├── [3.9]–加载自己的剩余部分(2).mp4 (29.26 MB)
│ │ ├── [3.10]–进入保护模式(1).mp4 (53.83 MB)
│ │ ├── [3.11]–进入保护模式(2).mp4 (66.96 MB)
│ │ ├── [3.12]–进入保护模式(3).mp4 (47.35 MB)
│ │ ├── [3.13]–打开分页机制(1).mp4 (51.86 MB)
│ │ ├── [3.14]–打开分页机制(2).mp4 (52.62 MB)
│ │ ├── [3.15]–打开分页机制(3).mp4 (72.61 MB)
│ │ ├── [3.16]–开启定时中断(1).mp4 (48.73 MB)
│ │ ├── [3.17]–开启定时中断(2).mp4 (50.76 MB)
│ │ ├── [3.18]–开启定时中断(3).mp4 (68.81 MB)
│ │ ├── [3.19]–切换至低特权级(1).mp4 (30.29 MB)
│ │ ├── [3.20]–切换至低特权级(2).mp4 (68.50 MB)
│ │ ├── [3.21]–切换至低特权级(3).mp4 (40.11 MB)
│ │ ├── [3.22]–两个任务的切换(1).mp4 (29.74 MB)
│ │ ├── [3.23]–两个任务的切换(2).mp4 (104.06 MB)
│ │ ├── [3.24]–两个任务的切换(3).mp4 (57.80 MB)
│ │ ├── [3.25]–增加系统调用(1)..mp4 (25.65 MB)
│ │ ├── [3.26]–增加系统调用(2)..mp4 (64.94 MB)
│ │ ├── [3.27]–增加系统调用(3)..mp4 (96.82 MB)
│ │ ├── [3.28]–使用LDT(1).mp4 (57.31 MB)
│ │ ├── [3.29]–使用LDT(2).mp4 (83.82 MB)
│ │ ├── [3.30]–使用LDT(3).mp4 (16.68 MB)
│ │ ├── [3.31]–课程总结.mp4 (56.56 MB)
│ │ └── {3}–前置课(选学,介绍x86保护模式下的编程)资料.zip (1.83 MB)
│ ├── {4}–引导程序:接管控制权/
│ │ ├── [4.1]–计算机启动流程简介.mp4 (33.30 MB)
│ │ ├── [4.2]–接管运行控制权.mp4 (30.73 MB)
│ │ ├── [4.3]–创建可引导的启动程序.mp4 (53.21 MB)
│ │ ├── [4.4]–初始化引导程序(1).mp4 (19.63 MB)
│ │ ├── [4.5]–初始化引导程序(2).mp4 (14.47 MB)
│ │ ├── [4.6]–使用BIOS中断显示字符.mp4 (16.33 MB)
│ │ ├── [4.7]–使用BIOS中断读取磁盘.mp4 (38.87 MB)
│ │ ├── [4.8]–进入C语言环境并跳到loader(1).mp4 (23.37 MB)
│ │ ├── [4.9]–进入C语言环境并跳到loader(2).mp4 (31.44 MB)
│ │ └── {4}–引导程序:接管控制权资料.zip (1.83 MB)
│ ├── {5}–加载器loader的实现/
│ │ ├── [5.1]–利用内联汇编显示字符串.mp4 (53.28 MB)
│ │ ├── [5.2]–检测内存容量(1).mp4 (29.02 MB)
│ │ ├── [5.3]–检测内存容量(2).mp4 (43.90 MB)
│ │ ├── [5.4]–切换进保护模式(1)-1.mp4 (23.45 MB)
│ │ ├── [5.5]–切换进保护模式(1)-2.mp4 (24.78 MB)
│ │ ├── [5.6]–切换进保护模式(1)-3.mp4 (22.29 MB)
│ │ ├── [5.7]–切换进保护模式(2)-1.mp4 (23.24 MB)
│ │ ├── [5.8]–切换进保护模式(2)-2.mp4 (31.36 MB)
│ │ ├── [5.9]–使用LBA模式读取磁盘.mp4 (51.81 MB)
│ │ ├── [5.10]–创建内核工程.mp4 (57.97 MB)
│ │ ├── [5.11]–向内核传递启动信息(1).mp4 (34.63 MB)
│ │ ├── [5.12]–向内核传递启动信息(2).mp4 (38.82 MB)
│ │ ├── [5.13]–代码段数据段与链接脚本(1).mp4 (44.31 MB)
│ │ ├── [5.14]–代码段数据段与链接脚本(2).mp4 (26.71 MB)
│ │ ├── [5.15]–加载内核映像文件(1).mp4 (40.42 MB)
│ │ ├── [5.16]–加载内核映像文件(2).mp4 (83.65 MB)
│ │ └── {5}–加载器loader的实现必看.zip (1.83 MB)
│ ├── {6}–中断与异常处理/
│ │ ├── [6.1]–创建GDT表及其表项(1).mp4 (37.00 MB)
│ │ ├── [6.2]–创建GDT表及其表项(2).mp4 (51.09 MB)
│ │ ├── [6.3]–保护模式下的内存管理简介.mp4 (41.88 MB)
│ │ ├── [6.4]–重新加载GDT(1).mp4 (77.72 MB)
│ │ ├── [6.5]–重新加载GDT(2).mp4 (45.15 MB)
│ │ ├── [6.6]–触发异常与异常简介.mp4 (20.69 MB)
│ │ ├── [6.7]–添加中断门描述符.mp4 (35.98 MB)
│ │ ├── [6.8]–初始化IDT表.mp4 (29.85 MB)
│ │ ├── [6.9]–捕获除0异常(1).mp4 (42.31 MB)
│ │ ├── [6.10]–捕获除0异常(2).mp4 (36.12 MB)
│ │ ├── [6.11]–解析异常栈信息(1).mp4 (24.91 MB)
│ │ ├── [6.12]–解析异常栈信息(2).mp4 (39.68 MB)
│ │ ├── [6.13]–利用宏重用异常处理代码(1).mp4 (39.42 MB)
│ │ ├── [6.14]–利用宏重用异常处理代码(2).mp4 (43.79 MB)
│ │ ├── [6.15]–处理其它类型的异常(1).mp4 (34.56 MB)
│ │ ├── [6.16]–处理其它类型的异常(2).mp4 (67.82 MB)
│ │ ├── [6.17]–初始化中断控制器(1).mp4 (31.58 MB)
│ │ ├── [6.18]–初始化中断控制器(2).mp4 (49.38 MB)
│ │ ├── [6.19]–中断的打开与关闭.mp4 (23.23 MB)
│ │ ├── [6.20]–启动定时器并开中断(1).mp4 (18.74 MB)
│ │ ├── [6.21]–启动定时器并开中断(2).mp4 (46.48 MB)
│ │ └── [6.22]–启动定时器并开中断(3).mp4 (39.43 MB)
│ ├── {7}–日志与printf格式化输出/
│ │ ├── [7.1]–创建日志输出接口.mp4 (38.57 MB)
│ │ ├── [7.2]–实现基本的信息输出.mp4 (50.95 MB)
│ │ ├── [7.3]–实现基本的信息输出(1).mp4 (13.07 MB)
│ │ ├── [7.4]–实现基本的信息输出(2).mp4 (37.94 MB)
│ │ ├── [7.5]–若干字符串和内存操作函数实现.mp4 (46.63 MB)
│ │ ├── [7.6]–实现字符串的格式化输出(1).mp4 (49.34 MB)
│ │ ├── [7.7]–实现字符串的格式化输出(2).mp4 (22.24 MB)
│ │ ├── [7.8]–支持整数的格式化(1).mp4 (38.88 MB)
│ │ ├── [7.9]–支持整数的格式化(2).mp4 (40.20 MB)
│ │ ├── [7.10]–在异常处理程序中打印信息..mp4 (43.45 MB)
│ │ ├── [7.11]–利用assert辅助调试.mp4 (50.67 MB)
│ │ └── {7}–日志与printf格式化输出必看.png (0.48 MB)
│ ├── {8}–实现简单的进程切换/
│ │ ├── [8.1]–创建两个小任务.mp4 (24.64 MB)
│ │ ├── [8.2]–添加任务状态段(1).mp4 (33.80 MB)
│ │ ├── [8.3]–添加任务状态段(2).mp4 (28.44 MB)
│ │ ├── [8.4]–任务的简单初始化(1).mp4 (29.14 MB)
│ │ ├── [8.5]–任务的简单初始化(2)-1.mp4 (25.65 MB)
│ │ ├── [8.6]–任务的简单初始化(2)-2.mp4 (45.73 MB)
│ │ ├── [8.7]–简单双任务相互切换(1).mp4 (19.13 MB)
│ │ ├── [8.8]–简单双任务相互切换(2).mp4 (47.18 MB)
│ │ ├── [8.9]–简单双任务相互切换(3).mp4 (29.91 MB)
│ │ ├── [8.10]–另一种任务切换方法(1).mp4 (35.31 MB)
│ │ └── [8.11]–另一种任务切换方法(2).mp4 (44.86 MB)
│ ├── {9}–实现链表数据结构/
│ │ ├── [9.1]–定义结点和链表.mp4 (47.24 MB)
│ │ ├── [9.2]–实现链表的查询函数.mp4 (13.77 MB)
│ │ ├── [9.3]–链表的两种插入.mp4 (36.74 MB)
│ │ ├── [9.4]–链表的两种删除.mp4 (45.12 MB)
│ │ ├── [9.5]–获取结点所在的结构(1).mp4 (10.26 MB)
│ │ └── [9.6]–获取结点所在的结构(2).mp4 (40.90 MB)
│ ├── {10}–进程的管理与延时/
│ │ ├── [10.1]–添加任务管理器.mp4 (48.49 MB)
│ │ ├── [10.2]–将任务加入就绪队列.mp4 (37.90 MB)
│ │ ├── [10.3]–进程主动放弃CPU.mp4 (45.29 MB)
│ │ ├── [10.4]–让进程按时间片运行(1).mp4 (8.50 MB)
│ │ ├── [10.5]–让进程按时间片运行(2).mp4 (43.62 MB)
│ │ ├── [10.6]–临界资源及简单的保护(1).mp4 (20.47 MB)
│ │ ├── [10.7]–临界资源及简单的保护(2).mp4 (32.09 MB)
│ │ ├── [10.8]–临界资源及简单的保护(3).mp4 (24.02 MB)
│ │ ├── [10.9]–让进程能够延时运行.mp4 (68.76 MB)
│ │ ├── [10.10]–让所有进程都能延时.mp4 (45.60 MB)
│ │ └── {10}–进程的管理与延时说明.zip (1.83 MB)
│ ├── {11}–进程间的同步与互斥/
│ │ ├── [11.1]–计数信号量及其初始化.mp4 (31.80 MB)
│ │ ├── [11.2]–发送和等待信号.mp4 (33.19 MB)
│ │ ├── [11.3]–使用计数信号量.mp4 (39.98 MB)
│ │ ├── [11.4]–互斥锁及其初始化.mp4 (16.63 MB)
│ │ ├── [11.5]–互斥锁的加解锁.mp4 (28.65 MB)
│ │ └── [11.6]–应用互斥锁.mp4 (30.98 MB)
│ ├── {12}–虚拟内存管理和保护模式/
│ │ ├── [12.1]–内存管理问题.mp4 (36.71 MB)
│ │ ├── [12.2]–位图数据结构与初始化.mp4 (28.70 MB)
│ │ ├── [12.3]–位图位的分配(1).mp4 (6.02 MB)
│ │ ├── [12.4]–位图位的分配(2).mp4 (39.39 MB)
│ │ ├── [12.5]–创建地址分配结构(1).mp4 (24.85 MB)
│ │ ├── [12.6]–创建地址分配结构(2).mp4 (33.75 MB)
│ │ ├── [12.7]–规划内存空间的分配(1).mp4 (8.22 MB)
│ │ ├── [12.8]–规划内存空间的分配(2).mp4 (34.45 MB)
│ │ ├── [12.9]–规划内存空间的分配(3).mp4 (33.51 MB)
│ │ ├── [12.10]–内存分页机制介绍.mp4 (24.74 MB)
│ │ ├── [12.11]–开启内存分页机制(1).mp4 (26.91 MB)
│ │ ├── [12.12]–开启内存分页机制(2)-1.mp4 (14.82 MB)
│ │ ├── [12.13]–开启内存分页机制(2)-2.mp4 (41.63 MB)
│ │ ├── [12.14]–开启内存分页机制(2)-3.mp4 (20.70 MB)
│ │ ├── [12.15]–创建内核页表(1)-建立映射表(1).mp4 (16.52 MB)
│ │ ├── [12.16]–创建内核页表(1)-建立映射表(2).mp4 (47.46 MB)
│ │ ├── [12.17]–创建内核页表(2)-页目录和页表结构.mp4 (50.76 MB)
│ │ ├── [12.18]–创建内核页表(3)-建立映射表(1).mp4 (22.05 MB)
│ │ ├── [12.19]–创建内核页表(3)-建立映射表(2).mp4 (49.96 MB)
│ │ ├── [12.20]–创建内核页表(3)-建立映射表(3).mp4 (50.14 MB)
│ │ ├── [12.21]–创建内核页表(4)-添加权限处理.mp4 (38.22 MB)
│ │ ├── [12.22]–为进程创建页表(1).mp4 (26.00 MB)
│ │ ├── [12.23]–为进程创建页表(2).mp4 (76.70 MB)
│ │ └── {12}–虚拟内存管理和保护模式资料.zip (1.83 MB)
│ ├── {13}–隔离操作系统与进程/
│ │ ├── [13.1]–隔离操作系统与进程(1)-代码分离.mp4 (75.22 MB)
│ │ ├── [13.2]–隔离操作系统与进程(2)-地址分离.mp4 (71.44 MB)
│ │ ├── [13.3]–隔离操作系统与进程(3)-搬运代码.mp4 (70.92 MB)
│ │ ├── [13.4]–调整应用的特权级(1).mp4 (36.70 MB)
│ │ ├── [13.5]–调整应用的特权级(2).mp4 (45.17 MB)
│ │ ├── [13.6]–调整异常处理函数(1).mp4 (37.10 MB)
│ │ ├── [13.7]–调整异常处理函数(2).mp4 (78.30 MB)
│ │ ├── [13.8]–修改空闲任务的特权级.mp4 (28.52 MB)
│ │ ├── [13.9]–切换至应用进程的特权级为最低.mp4 (54.78 MB)
│ │ ├── [13.10]–为进程添加特权级0的栈空间.mp4 (86.38 MB)
│ │ └── {13}–隔离操作系统与进程说明.png (0.48 MB)
│ ├── {14}–建立系统调用/
│ │ ├── [14.1]–创建调用门.mp4 (60.44 MB)
│ │ ├── [14.2]–实现系统调用的调用和返回(1).mp4 (56.26 MB)
│ │ ├── [14.3]–实现系统调用的调用和返回(2).mp4 (26.67 MB)
│ │ ├── [14.4]–实现msleep系统调用(1).mp4 (54.18 MB)
│ │ ├── [14.5]–实现msleep系统调用(2).mp4 (19.43 MB)
│ │ ├── [14.6]–实现getid系统调用.mp4 (63.59 MB)
│ │ ├── [14.7]–实现pint_msg调用.mp4 (22.85 MB)
│ │ └── [14.8]–使用int$0x80实现系统调用.mp4 (62.82 MB)
│ ├── {15}–新进程的加载与创建/
│ │ ├── [15.1]–实现fork系统调用(1)-添加调用接口.mp4 (38.38 MB)
│ │ ├── [15.2]–实现fork系统调用(2)-分配任务块.mp4 (33.19 MB)
│ │ ├── [15.3]–实现fork系统调用(3)-初始化任务块.mp4 (121.47 MB)
│ │ ├── [15.4]–实现fork系统调用(4)-复制进程地址空间.mp4 (107.83 MB)
│ │ ├── [15.5]–实现exec系统调用(1)-创建一个空应用.mp4 (69.54 MB)
│ │ ├── [15.6]–实现exec系统调用(2)-增加空的exec调用.mp4 (25.02 MB)
│ │ ├── [15.7]–实现exec系统调用(3)-添加虚似文件访问接口.mp4 (78.75 MB)
│ │ ├── [15.8]–实现exec系统调用(4)-解析并加载elf文件.mp4 (144.17 MB)
│ │ ├── [15.9]–实现exec系统调用(5)-分配栈并进入进程执行.mp4 (62.42 MB)
│ │ ├── [15.10]–实现exec系统调用(6)-为进程传递参数(1).mp4 (19.87 MB)
│ │ ├── [15.11]–实现exec系统调用(6)-为进程传递参数(2).mp4 (110.61 MB)
│ │ ├── [15.12]–添加sys_yield()系统调用.mp4 (55.20 MB)
│ │ └── {15}–新进程的加载与创建资料.zip (1.83 MB)
│ ├── {16}–使用c标准库中的printf输出/
│ │ ├── [16.1]–增加文件系统调用(1).mp4 (77.62 MB)
│ │ ├── [16.2]–增加文件系统调用(2).mp4 (32.85 MB)
│ │ ├── [16.3]–导入newlibc并调用printf.mp4 (70.67 MB)
│ │ ├── [16.4]–为malloc实现sys_brk调用(1).mp4 (8.94 MB)
│ │ ├── [16.5]–为malloc实现sys_brk调用(2).mp4 (114.52 MB)
│ │ └── [16.6]–简单的printf调用实现.mp4 (33.85 MB)
│ ├── {17}–使用控制台与键盘进行输入输出/
│ │ ├── [17.1]–控制台简介与初始化(1).mp4 (24.67 MB)
│ │ ├── [17.2]–控制台简介与初始化(2).mp4 (41.97 MB)
│ │ ├── [17.3]–在控制台上显示字符串.mp4 (83.54 MB)
│ │ ├── [17.4]–处理换行和清屏.mp4 (91.87 MB)
│ │ ├── [17.5]–设置光标并重定向日志输出到显示器.mp4 (47.15 MB)
│ │ ├── [17.6]–有趣的转义字符串以及删除字符.mp4 (46.84 MB)
│ │ ├── [17.7]–保存并恢复光标位置.mp4 (94.33 MB)
│ │ ├── [17.8]–更新显示字体的颜色.mp4 (91.49 MB)
│ │ ├── [17.9]–移动光标位置及清屏.mp4 (66.53 MB)
│ │ ├── [17.10]–键盘初始化.mp4 (44.86 MB)
│ │ ├── [17.11]–借助按键映射表进行键值转换(1).mp4 (29.85 MB)
│ │ ├── [17.12]–借助按键映射表进行键值转换(2).mp4 (80.06 MB)
│ │ ├── [17.13]–处理caplock键.mp4 (43.37 MB)
│ │ ├── [17.14]–处理其它特殊功能键.mp4 (55.95 MB)
│ │ └── {17}–使用控制台与键盘进行输入输出资料.zip (1.83 MB)
│ ├── {18}–设备管理与文件系统/
│ │ ├── [18.1]–设备管理框架简介.mp4 (37.49 MB)
│ │ ├── [18.2]–增加tty设备.mp4 (26.59 MB)
│ │ ├── [18.3]–实现dev层接口操作.mp4 (54.24 MB)
│ │ ├── [18.4]–为tty设备添加结构描述.mp4 (36.78 MB)
│ │ ├── [18.5]–实现tty设备的打开.mp4 (51.59 MB)
│ │ ├── [18.6]–通过tty设备写显示数据(1).mp4 (18.06 MB)
│ │ ├── [18.7]–通过tty设备写显示数据(2).mp4 (101.97 MB)
│ │ ├── [18.8]–文件系统简介及初始化.mp4 (43.63 MB)
│ │ ├── [18.9]–为进程添加文件打开表.mp4 (30.80 MB)
│ │ ├── [18.10]–打开tty设备并向其写入数据.mp4 (86.72 MB)
│ │ ├── [18.11]–从tty读取键值字符串并显示.mp4 (94.59 MB)
│ │ ├── [18.12]–打开标准输出及错误输出文件.mp4 (63.90 MB)
│ │ ├── [18.13]–允许切换tty窗口(1).mp4 (9.34 MB)
│ │ ├── [18.14]–允许切换tty窗口(2).mp4 (83.07 MB)
│ │ ├── [18.15]–为每个tty窗口创建进程并保护.mp4 (66.32 MB)
│ │ └── {18}–设备管理与文件系统文档.png (0.48 MB)
│ ├── {19}–实现一个命令行解释器/
│ │ ├── [19.1]–初始化命令行解释器.mp4 (66.29 MB)
│ │ ├── [19.2]–实现help命令的解析.mp4 (79.74 MB)
│ │ ├── [19.3]–执行echo命令并给输出加点颜色(1).mp4 (52.66 MB)
│ │ ├── [19.4]–执行echo命令并给输出加点颜色(2).mp4 (57.08 MB)
│ │ ├── [19.5]–为进程增加exit接口.mp4 (69.83 MB)
│ │ ├── [19.6]–为进程增加wait接口(1).mp4 (39.38 MB)
│ │ ├── [19.7]–为进程增加wait接口(2).mp4 (77.26 MB)
│ │ ├── [19.8]–为进程增加wait接口(3).mp4 (22.60 MB)
│ │ ├── [19.9]–让子进程继承父进程已打开的文件.mp4 (51.66 MB)
│ │ └── {19}–实现一个命令行解释器资料.zip (1.83 MB)
│ ├── {20}–使用文件系统管理硬件设备/
│ │ ├── [20.1]–描述一个文件系统.mp4 (57.79 MB)
│ │ ├── [20.2]–挂载设备文件系统(1).mp4 (12.49 MB)
│ │ ├── [20.3]–挂载设备文件系统(2).mp4 (41.04 MB)
│ │ ├── [20.4]–挂载设备文件系统(3).mp4 (72.58 MB)
│ │ ├── [20.5]–打开devtty0文件(1)-只打开devfs中的文件.mp4 (108.45 MB)
│ │ ├── [20.6]–打开devtty0文件(2)-更通用的打开方式.mp4 (74.19 MB)
│ │ └── [20.7]–往devtty0读写数据.mp4 (77.43 MB)
│ ├── {21}–磁盘与fat16文件系统/
│ │ ├── [21.1]–磁盘基本特性简介.mp4 (47.88 MB)
│ │ ├── [21.2]–识别系统中已有的磁盘(1).mp4 (16.97 MB)
│ │ ├── [21.3]–识别系统中已有的磁盘(2).mp4 (27.68 MB)
│ │ ├── [21.4]–识别系统中已有的磁盘(3).mp4 (41.26 MB)
│ │ ├── [21.5]–识别系统中已有的磁盘(4).mp4 (55.47 MB)
│ │ ├── [21.6]–解析磁盘分区表(1).mp4 (13.69 MB)
│ │ ├── [21.7]–解析磁盘分区表(2).mp4 (75.76 MB)
│ │ ├── [21.8]–增加磁盘设备管理.mp4 (66.42 MB)
│ │ ├── [21.9]–实现磁盘的读取和写入(1).mp4 (67.06 MB)
│ │ ├── [21.10]–实现磁盘的读取和写入(2).mp4 (42.61 MB)
│ │ ├── [21.11]–FAT16文件系统简介(1).mp4 (40.31 MB)
│ │ ├── [21.12]–FAT16文件系统简介(2).mp4 (39.79 MB)
│ │ ├── [21.13]–挂载FAT16文件系统(1).mp4 (58.55 MB)
│ │ ├── [21.14]–挂载FAT16文件系统(2).mp4 (58.17 MB)
│ │ ├── [21.15]–挂载FAT16文件系统(3).mp4 (36.75 MB)
│ │ ├── [21.16]–遍历目录命令ls的实现(1)-添加系统调用接口.mp4 (63.74 MB)
│ │ ├── [21.17]–遍历目录命令ls的实现(2)-列出虚假的目录内容.mp4 (61.19 MB)
│ │ ├── [21.18]–遍历目录命令ls的实现(3)-列出真实的目录内容(1).mp4 (39.48 MB)
│ │ ├── [21.19]–遍历目录命令ls的实现(3)-列出真实的目录内容(2).mp4 (41.50 MB)
│ │ ├── [21.20]–遍历目录命令ls的实现(3)-列出真实的目录内容(3).mp4 (82.70 MB)
│ │ ├── [21.21]–文件查看命令less的实现(1)-打开文件.mp4 (90.89 MB)
│ │ ├── [21.22]–文件查看命令less的实现(2)-显示部分文件内容.mp4 (80.79 MB)
│ │ ├── [21.23]–文件查看命令less的实现(3)-显示全部文件内容.mp4 (68.60 MB)
│ │ ├── [21.24]–文件查看命令less的实现(4)-逐行显示文件内容.mp4 (87.78 MB)
│ │ ├── [21.25]–通过文件系统加载shell.mp4 (82.59 MB)
│ │ ├── [21.26]–让shell加载应用程序运行.mp4 (62.10 MB)
│ │ ├── [21.27]–应用运行异常时强制中断运行.mp4 (47.13 MB)
│ │ ├── [21.28]–文件复制命令cp的实现(1)-创建新文件.mp4 (87.04 MB)
│ │ ├── [21.29]–文件复制命令cp的实现(2)-删除文件.mp4 (68.50 MB)
│ │ ├── [21.30]–文件复制命令cp的实现(3)-文件写入(1).mp4 (67.03 MB)
│ │ ├── [21.31]–文件复制命令cp的实现(4)-文件写入(2).mp4 (109.52 MB)
│ │ └── [21.32]–最后的调整.mp4 (40.56 MB)
│ └── {22}–课程总结/
│ │ ├── [22.1]–设计总结.mp4 (35.27 MB)
│ │ └── {22}–课程总结必看.png (0.48 MB)

声明:本站所发布的一切视频课程仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站所有课程来自网络,版权争议与本站无关。如有侵权请联系客服QQ:1960026872或登录本站账号进入个人中心提交工单留言反馈,我们将第一时间处理!
侵权联系与免责声明: 1、本站资源所有内容均收集于网络,与本网站立场无关 2、本站所有资源收集于互联网,由用户分享,该帖子作者与IT课程网不享有任何版权,如有侵权请联系本站删除 3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责 4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。如有侵权请联系联系客服QQ:1960026872或登录本站账号进入个人中心提交工单留言反馈,我们将第一时间处理!