**课程导读:深入系统核心,构建属于你的 Linux x86 操作系统**

在计算机科学的浩瀚星海中,操作系统无疑是那颗最璀璨也最复杂的恒星。对于许多开发者而言,Linux 既是日常使用的工具,也是遥不可及的黑盒。本课程由李述铜老师主讲,旨在打破这一隔阂,带领学员从零开始,亲手书写一个具备基础功能的 Linux x86 操作系统。这不仅仅是一次编程实践,更是一场对计算机底层逻辑的深度解剖与重构。

课程的核心模块之一——“磁盘与 FAT16 文件系统”,展示了从硬件抽象到软件实现的完整链路。李老师在开篇并未急于切入复杂的内核代码,而是引导学员回顾磁盘的基本特性,通过识别系统中已有的磁盘,建立起对块设备管理的直观认识。随后,课程深入解析磁盘分区表,这是理解多操作系统共存及引导加载的关键步骤。在这一环节,学员将掌握如何通过读取主引导记录(MBR)来发现逻辑分区,为后续的挂载操作奠定基础。

然而,拥有磁盘设备仅仅是第一步。真正的挑战在于如何解读磁盘上的数据结构。课程详细讲解了 FAT16 文件系统的结构,包括引导扇区、根目录区及数据区的布局。李老师通过“挂载 FAT16 文件系统”系列章节,演示了如何将裸设备转化为可被上层软件识别的虚拟文件系统接口。这一过程涉及大量的指针操作与内存映射,是理解 Unix-like 系统 VFS(虚拟文件系统)层设计思想的绝佳案例。

在文件系统的基础之上,课程进一步实现了实用的用户空间命令,如 `ls`、`less` 和 `cp`。这些并非简单的功能堆砌,而是涵盖了从遍历目录项、解析文件属性,到读取文件内容、创建及删除文件的全流程实现。特别是 `cp` 命令的实现,让学员深刻体会到文件 I/O 在操作系统层面的具体形态:从系统调用接口到磁盘扇区的读写,每一个字节都经过精心管控。此外,课程还引入了应用运行异常时的强制中断机制,体现了系统健壮性设计的重要性。

课程的另一个亮点在于进程管理的实现。通过“新进程的加载与创建”模块,学员将亲历 `fork` 和 `exec` 系统调用的诞生。从添加调用接口、分配任务块,到解析 ELF 文件格式并加载程序,这一系列操作揭示了现代操作系统进程创建的奥秘。学员将学习如何处理命令行参数传递,以及如何通过文件系统加载 Shell,从而形成一个可交互的最小化系统闭环。

总之,本课程不提供现成的内核源码,而是鼓励学员在调试与报错中领悟原理。它适合希望突破应用层开发瓶颈、深入理解系统编程的进阶学习者。通过这门课,你不仅将掌握 x86 架构下的磁盘管理与文件系统实现,更将拥有一次从无到有构建操作系统的宝贵经验,为未来的底层开发之路打下坚实基础。

课程目录

📁 {21}--磁盘与fat16文件系统
[21.4]--识别系统中已有的磁盘(3).mp4 [41.3 MB]
[21.28]--文件复制命令cp的实现(1)-创建新文件.mp4 [87.0 MB]
[21.6]--解析磁盘分区表(1)【整理不易‖记得关注:CunWorKNotes】.mp4 [13.7 MB]
[21.7]--解析磁盘分区表(2)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [75.8 MB]
[21.5]--识别系统中已有的磁盘(4).mp4 [55.5 MB]
[21.8]--增加磁盘设备管理.mp4 [66.4 MB]
[21.2]--识别系统中已有的磁盘(1).mp4 [17.0 MB]
[21.31]--文件复制命令cp的实现(4)-文件写入(2)【资源精选‖更多关注:CunworkNotes】.mp4 [109.5 MB]
[21.9]--实现磁盘的读取和写入(1).mp4 [67.1 MB]
[21.32]--最后的调整.mp4 [40.6 MB]
[21.30]--文件复制命令cp的实现(3)-文件写入(1).mp4 [67.0 MB]
[21.29]--文件复制命令cp的实现(2)-删除文件【不易整理‖请关注:CunWorkNoteS】.mp4 [68.5 MB]
[21.19]--遍历目录命令ls的实现(3)-列出真实的目录内容(2).mp4 [41.5 MB]
[21.12]--FAT16文件系统简介(2).mp4 [39.8 MB]
[21.3]--识别系统中已有的磁盘(2).mp4 [27.7 MB]
[21.27]--应用运行异常时强制中断运行【公重号:CunWorkNotes】.mp4 [47.1 MB]
[21.13]--挂载FAT16文件系统(1)【更多精选‖公众号:CunWorknotes】 .mp4 [58.6 MB]
[21.23]--文件查看命令less的实现(3)-显示全部文件内容.mp4 [68.6 MB]
[21.21]--文件查看命令less的实现(1)-打开文件.mp4 [90.9 MB]
[21.16]--遍历目录命令ls的实现(1)-添加系统调用接口.mp4 [63.7 MB]
[21.26]--让shell加载应用程序运行.mp4 [62.1 MB]
[21.24]--文件查看命令less的实现(4)-逐行显示文件内容【更多精选‖公众号:CunWorknotes】 .mp4 [87.8 MB]
[21.14]--挂载FAT16文件系统(2).mp4 [58.2 MB]
[21.11]--FAT16文件系统简介(1).mp4 [40.3 MB]
[21.1]--磁盘基本特性简介.mp4 [47.9 MB]
[21.22]--文件查看命令less的实现(2)-显示部分文件内容.mp4 [80.8 MB]
[21.10]--实现磁盘的读取和写入(2)【持续更新‖免费提供:CunworknoteS】.mp4 [42.6 MB]
[21.18]--遍历目录命令ls的实现(3)-列出真实的目录内容(1)【更多精选‖公众号:CunWorknotes】 .mp4 [39.5 MB]
[21.20]--遍历目录命令ls的实现(3)-列出真实的目录内容(3)【公重号:CunWorkNotes】.mp4 [82.7 MB]
[21.25]--通过文件系统加载shell.mp4 [82.6 MB]
[21.15]--挂载FAT16文件系统(3).mp4 [36.8 MB]
[21.17]--遍历目录命令ls的实现(2)-列出虚假的目录内容.mp4 [61.2 MB]
📁 {15}--新进程的加载与创建
[15.8]--实现exec系统调用(4)-解析并加载elf文件.mp4 [144.2 MB]
[15.1]--实现fork系统调用(1)-添加调用接口.mp4 [38.4 MB]
[15.2]--实现fork系统调用(2)-分配任务块.mp4 [33.2 MB]
[15.7]--实现exec系统调用(3)-添加虚似文件访问接口.mp4 [78.8 MB]
[15.6]--实现exec系统调用(2)-增加空的exec调用【资源精选‖更多关注:CunworkNotes】.mp4 [25.0 MB]
[15.10]--实现exec系统调用(6)-为进程传递参数(1).mp4 [19.9 MB]
[15.3]--实现fork系统调用(3)-初始化任务块.mp4 [121.5 MB]
[15.5]--实现exec系统调用(1)-创建一个空应用【资源精选‖更多关注:CunworkNotes】.mp4 [69.5 MB]
[15.11]--实现exec系统调用(6)-为进程传递参数(2).mp4 [110.6 MB]
[15.12]--添加sys_yield()系统调用【整理不易‖记得关注:CunWorKNotes】.mp4 [55.2 MB]
[15.9]--实现exec系统调用(5)-分配栈并进入进程执行【资源精选‖更多关注:CunworkNotes】.mp4 [62.4 MB]
[15.4]--实现fork系统调用(4)-复制进程地址空间.mp4 [107.8 MB]
📁 {6}--中断与异常处理
[6.1]--创建GDT表及其表项(1)【更多精选‖公众号:CunWorknotes】 .mp4 [37.0 MB]
[6.20]--启动定时器并开中断(1)【持续更新‖免费提供:CunworknoteS】.mp4 [18.7 MB]
[6.6]--触发异常与异常简介.mp4 [20.7 MB]
[6.7]--添加中断门描述符.mp4 [36.0 MB]
[6.8]--初始化IDT表【持续更新‖免费提供:CunworknoteS】.mp4 [29.8 MB]
[6.4]--重新加载GDT(1)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [77.7 MB]
[6.5]--重新加载GDT(2).mp4 [45.2 MB]
[6.22]--启动定时器并开中断(3)【不易整理‖请关注:CunWorkNoteS】.mp4 [39.4 MB]
[6.9]--捕获除0异常(1)【资源精选‖更多关注:CunworkNotes】.mp4 [42.3 MB]
[6.3]--保护模式下的内存管理简介.mp4 [41.9 MB]
[6.21]--启动定时器并开中断(2)【公重号:CunWorkNotes】.mp4 [46.5 MB]
[6.2]--创建GDT表及其表项(2).mp4 [51.1 MB]
[6.19]--中断的打开与关闭.mp4 [23.2 MB]
[6.12]--解析异常栈信息(2).mp4 [39.7 MB]
[6.11]--解析异常栈信息(1).mp4 [24.9 MB]
[6.14]--利用宏重用异常处理代码(2).mp4 [43.8 MB]
[6.15]--处理其它类型的异常(1)【公重号:CunWorkNotes】.mp4 [34.6 MB]
[6.10]--捕获除0异常(2).mp4 [36.1 MB]
[6.16]--处理其它类型的异常(2).mp4 [67.8 MB]
[6.13]--利用宏重用异常处理代码(1).mp4 [39.4 MB]
[6.18]--初始化中断控制器(2).mp4 [49.4 MB]
[6.17]--初始化中断控制器(1).mp4 [31.6 MB]
📁 {3}--前置课(选学,介绍x86保护模式下的编程)
[3.11]--进入保护模式(2).mp4 [67.0 MB]
[3.12]--进入保护模式(3).mp4 [47.4 MB]
[3.10]--进入保护模式(1).mp4 [53.8 MB]
[3.14]--打开分页机制(2)【持续更新‖免费提供:CunworknoteS】.mp4 [52.6 MB]
[3.16]--开启定时中断(1).mp4 [48.7 MB]
[3.20]--切换至低特权级(2)【整理不易‖记得关注:CunWorKNotes】.mp4 [68.5 MB]
[3.15]--打开分页机制(3)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [72.6 MB]
[3.21]--切换至低特权级(3)【整理不易‖记得关注:CunWorKNotes】.mp4 [40.1 MB]
[3.13]--打开分页机制(1)【整理不易‖记得关注:CunWorKNotes】.mp4 [51.9 MB]
[3.24]--两个任务的切换(3)【持续更新‖免费提供:CunworknoteS】.mp4 [57.8 MB]
[3.18]--开启定时中断(3).mp4 [68.8 MB]
[3.25]--增加系统调用(1).【优质资源‖关注:cunWorkNotes 解锁】.mp4 [25.7 MB]
[3.23]--两个任务的切换(2)【持续更新‖免费提供:CunworknoteS】.mp4 [104.1 MB]
[3.17]--开启定时中断(2)【持续更新‖免费提供:CunworknoteS】.mp4 [50.8 MB]
[3.26]--增加系统调用(2)..mp4 [64.9 MB]
[3.19]--切换至低特权级(1)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [30.3 MB]
[3.2]--课程简介【持续更新‖免费提供:CunworknoteS】.mp4 [34.7 MB]
[3.22]--两个任务的切换(1)【更多精选‖公众号:CunWorknotes】 .mp4 [29.7 MB]
[3.3]--开发环境安装(与前面部分内容有重复).mp4 [47.3 MB]
[3.4]--工程组织结构.mp4 [20.5 MB]
[3.31]--课程总结【不易整理‖请关注:CunWorkNoteS】.mp4 [56.6 MB]
[3.8]--加载自己的剩余部分(1)【资源精选‖更多关注:CunworkNotes】.mp4 [15.2 MB]
[3.7]--x86处理器编程模型(2).mp4 [20.5 MB]
[3.30]--使用LDT(3).mp4 [16.7 MB]
[3.28]--使用LDT(1).mp4 [57.3 MB]
[3.6]--x86处理器编程模型(1).mp4 [41.4 MB]
[3.29]--使用LDT(2)【整理不易‖记得关注:CunWorKNotes】.mp4 [83.8 MB]
[3.9]--加载自己的剩余部分(2).mp4 [29.3 MB]
[3.27]--增加系统调用(3)..mp4 [96.8 MB]
[3.5]--让计算机跑我们的操作系统.mp4 [33.3 MB]
(3.1)--课程说明.pdf [951.4 KB]
📁 {12}--虚拟内存管理和保护模式
[12.12]--开启内存分页机制(2)-1.mp4 [14.8 MB]
[12.10]--内存分页机制介绍【优质资源‖关注:cunWorkNotes 解锁】.mp4 [24.7 MB]
[12.11]--开启内存分页机制(1)【公重号:CunWorkNotes】.mp4 [26.9 MB]
[12.13]--开启内存分页机制(2)-2.mp4 [41.6 MB]
[12.1]--内存管理问题.mp4 [36.7 MB]
[12.21]--创建内核页表(4)-添加权限处理.mp4 [38.2 MB]
[12.20]--创建内核页表(3)-建立映射表(3).mp4 [50.1 MB]
[12.3]--位图位的分配(1)【持续更新‖免费提供:CunworknoteS】.mp4 [6.0 MB]
[12.14]--开启内存分页机制(2)-3.mp4 [20.7 MB]
[12.2]--位图数据结构与初始化.mp4 [28.7 MB]
[12.15]--创建内核页表(1)-建立映射表(1)【更多精选‖公众号:CunWorknotes】 .mp4 [16.5 MB]
[12.22]--为进程创建页表(1)【更多精选‖公众号:CunWorknotes】 .mp4 [26.0 MB]
[12.16]--创建内核页表(1)-建立映射表(2).mp4 [47.5 MB]
[12.18]--创建内核页表(3)-建立映射表(1).mp4 [22.0 MB]
[12.17]--创建内核页表(2)-页目录和页表结构.mp4 [50.8 MB]
[12.19]--创建内核页表(3)-建立映射表(2).mp4 [50.0 MB]
[12.7]--规划内存空间的分配(1).mp4 [8.2 MB]
[12.6]--创建地址分配结构(2).mp4 [33.8 MB]
[12.23]--为进程创建页表(2)【持续更新‖免费提供:CunworknoteS】.mp4 [76.7 MB]
[12.9]--规划内存空间的分配(3)【整理不易‖记得关注:CunWorKNotes】.mp4 [33.5 MB]
[12.8]--规划内存空间的分配(2)【公重号:CunWorkNotes】.mp4 [34.5 MB]
[12.4]--位图位的分配(2)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [39.4 MB]
[12.5]--创建地址分配结构(1)【整理不易‖记得关注:CunWorKNotes】.mp4 [24.9 MB]
📁 {22}--课程总结
[22.1]--设计总结.mp4 [35.3 MB]
📁 {11}--进程间的同步与互斥
[11.1]--计数信号量及其初始化【更多精选‖公众号:CunWorknotes】 .mp4 [31.8 MB]
[11.3]--使用计数信号量.mp4 [40.0 MB]
[11.5]--互斥锁的加解锁.mp4 [28.7 MB]
[11.4]--互斥锁及其初始化【优质资源‖关注:cunWorkNotes 解锁】.mp4 [16.6 MB]
[11.6]--应用互斥锁【优质资源‖关注:cunWorkNotes 解锁】.mp4 [31.0 MB]
[11.2]--发送和等待信号.mp4 [33.2 MB]
📁 {2}--开发环境准备
[2.1]--开发工具总览.mp4 [11.9 MB]
[2.3]--Windows平台【资源精选‖更多关注:CunworkNotes】.mp4 [129.3 MB]
[2.4]--Linux平台(ubuntu).mp4 [74.3 MB]
[2.5]--Mac平台.mp4 [49.4 MB]
(2.2)--注意事项(必看!!!).pdf [1.2 MB]
📁 {10}--进程的管理与延时
[10.5]--让进程按时间片运行(2).mp4 [43.6 MB]
📁 {19}--实现一个命令行解释器
[19.7]--为进程增加wait接口(2).mp4 [77.3 MB]
[19.3]--执行echo命令并给输出加点颜色(1)【整理不易‖记得关注:CunWorKNotes】.mp4 [52.7 MB]
[19.4]--执行echo命令并给输出加点颜色(2).mp4 [57.1 MB]
[19.2]--实现help命令的解析.mp4 [79.7 MB]
[19.1]--初始化命令行解释器【公重号:CunWorkNotes】.mp4 [66.3 MB]
[19.9]--让子进程继承父进程已打开的文件.mp4 [51.7 MB]
[19.5]--为进程增加exit接口.mp4 [69.8 MB]
[19.6]--为进程增加wait接口(1).mp4 [39.4 MB]
[19.8]--为进程增加wait接口(3)【不易整理‖请关注:CunWorkNoteS】.mp4 [22.6 MB]
📁 {16}--使用c标准库中的printf输出
[16.4]--为malloc实现sys_brk调用(1)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [8.9 MB]
[16.2]--增加文件系统调用(2).mp4 [32.8 MB]
[16.5]--为malloc实现sys_brk调用(2)【持续更新‖免费提供:CunworknoteS】.mp4 [114.5 MB]
[16.1]--增加文件系统调用(1).mp4 [77.6 MB]
[16.6]--简单的printf调用实现.mp4 [33.9 MB]
[16.3]--导入newlibc并调用printf.mp4 [70.7 MB]
📁 {1}--课前准备
[1.3]--资料下载说明.mp4 [27.3 MB]
[1.1]--课程简介【公重号:CunWorkNotes】.mp4 [35.8 MB]
(1.4)--常见问题.pdf [4.1 MB]
(1.2)--资料下载链接.pdf [795.4 KB]
📁 {5}--加载器loader的实现
[5.14]--代码段数据段与链接脚本(2)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [26.7 MB]
[5.5]--切换进保护模式(1)-2【资源精选‖更多关注:CunworkNotes】.mp4 [24.8 MB]
[5.13]--代码段数据段与链接脚本(1)【整理不易‖记得关注:CunWorKNotes】.mp4 [44.3 MB]
[5.4]--切换进保护模式(1)-1.mp4 [23.4 MB]
[5.2]--检测内存容量(1).mp4 [29.0 MB]
[5.6]--切换进保护模式(1)-3.mp4 [22.3 MB]
[5.1]--利用内联汇编显示字符串【更多精选‖公众号:CunWorknotes】 .mp4 [53.3 MB]
[5.8]--切换进保护模式(2)-2【不易整理‖请关注:CunWorkNoteS】.mp4 [31.4 MB]
[5.10]--创建内核工程.mp4 [58.0 MB]
[5.15]--加载内核映像文件(1).mp4 [40.4 MB]
[5.7]--切换进保护模式(2)-1.mp4 [23.2 MB]
[5.12]--向内核传递启动信息(2).mp4 [38.8 MB]
[5.9]--使用LBA模式读取磁盘.mp4 [51.8 MB]
[5.16]--加载内核映像文件(2).mp4 [83.7 MB]
[5.11]--向内核传递启动信息(1).mp4 [34.6 MB]
[5.3]--检测内存容量(2)【不易整理‖请关注:CunWorkNoteS】.mp4 [43.9 MB]
📁 {10}--进程的管理与延时
[10.3]--进程主动放弃CPU.mp4 [45.3 MB]
[10.10]--让所有进程都能延时.mp4 [45.6 MB]
[10.9]--让进程能够延时运行.mp4 [68.8 MB]
[10.2]--将任务加入就绪队列【更多精选‖公众号:CunWorknotes】 .mp4 [37.9 MB]
[10.8]--临界资源及简单的保护(3)【不易整理‖请关注:CunWorkNoteS】.mp4 [24.0 MB]
[10.1]--添加任务管理器【不易整理‖请关注:CunWorkNoteS】.mp4 [48.5 MB]
[10.6]--临界资源及简单的保护(1).mp4 [20.5 MB]
[10.4]--让进程按时间片运行(1).mp4 [8.5 MB]
[10.7]--临界资源及简单的保护(2).mp4 [32.1 MB]
📁 {17}--使用控制台与键盘进行输入输出
[17.13]--处理caplock键【不易整理‖请关注:CunWorkNoteS】.mp4 [43.4 MB]
[17.14]--处理其它特殊功能键.mp4 [56.0 MB]
[17.2]--控制台简介与初始化(2).mp4 [42.0 MB]
[17.7]--保存并恢复光标位置.mp4 [94.3 MB]
[17.3]--在控制台上显示字符串.mp4 [83.5 MB]
[17.10]--键盘初始化.mp4 [44.9 MB]
[17.9]--移动光标位置及清屏.mp4 [66.5 MB]
[17.4]--处理换行和清屏【更多精选‖公众号:CunWorknotes】 .mp4 [91.9 MB]
[17.11]--借助按键映射表进行键值转换(1)【资源精选‖更多关注:CunworkNotes】.mp4 [29.8 MB]
[17.1]--控制台简介与初始化(1)【整理不易‖记得关注:CunWorKNotes】.mp4 [24.7 MB]
[17.12]--借助按键映射表进行键值转换(2).mp4 [80.1 MB]
[17.5]--设置光标并重定向日志输出到显示器.mp4 [47.1 MB]
[17.6]--有趣的转义字符串以及删除字符.mp4 [46.8 MB]
[17.8]--更新显示字体的颜色.mp4 [91.5 MB]
📁 {8}--实现简单的进程切换
[8.8]--简单双任务相互切换(2).mp4 [47.2 MB]
[8.7]--简单双任务相互切换(1)【更多精选‖公众号:CunWorknotes】 .mp4 [19.1 MB]
[8.9]--简单双任务相互切换(3).mp4 [29.9 MB]
[8.10]--另一种任务切换方法(1).mp4 [35.3 MB]
[8.3]--添加任务状态段(2)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [28.4 MB]
[8.11]--另一种任务切换方法(2).mp4 [44.9 MB]
[8.4]--任务的简单初始化(1).mp4 [29.1 MB]
[8.5]--任务的简单初始化(2)-1.mp4 [25.6 MB]
[8.2]--添加任务状态段(1).mp4 [33.8 MB]
[8.1]--创建两个小任务【资源精选‖更多关注:CunworkNotes】.mp4 [24.6 MB]
[8.6]--任务的简单初始化(2)-2【持续更新‖免费提供:CunworknoteS】.mp4 [45.7 MB]
📁 {20}--使用文件系统管理硬件设备
[20.6]--打开devtty0文件(2)-更通用的打开方式.mp4 [74.2 MB]
[20.3]--挂载设备文件系统(2)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [41.0 MB]
[20.2]--挂载设备文件系统(1)【公重号:CunWorkNotes】.mp4 [12.5 MB]
[20.7]--往devtty0读写数据.mp4 [77.4 MB]
[20.1]--描述一个文件系统【公重号:CunWorkNotes】.mp4 [57.8 MB]
[20.4]--挂载设备文件系统(3)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [72.6 MB]
[20.5]--打开devtty0文件(1)-只打开devfs中的文件【更多精选‖公众号:CunWorknotes】 .mp4 [108.5 MB]
📁 {18}--设备管理与文件系统
[18.13]--允许切换tty窗口(1).mp4 [9.3 MB]
[18.5]--实现tty设备的打开【持续更新‖免费提供:CunworknoteS】.mp4 [51.6 MB]
[18.1]--设备管理框架简介.mp4 [37.5 MB]
[18.2]--增加tty设备.mp4 [26.6 MB]
[18.3]--实现dev层接口操作.mp4 [54.2 MB]
[18.11]--从tty读取键值字符串并显示【资源精选‖更多关注:CunworkNotes】.mp4 [94.6 MB]
[18.15]--为每个tty窗口创建进程并保护.mp4 [66.3 MB]
[18.6]--通过tty设备写显示数据(1)【公重号:CunWorkNotes】.mp4 [18.1 MB]
[18.4]--为tty设备添加结构描述【公重号:CunWorkNotes】.mp4 [36.8 MB]
[18.10]--打开tty设备并向其写入数据.mp4 [86.7 MB]
[18.12]--打开标准输出及错误输出文件【优质资源‖关注:cunWorkNotes 解锁】.mp4 [63.9 MB]
[18.14]--允许切换tty窗口(2)【不易整理‖请关注:CunWorkNoteS】.mp4 [83.1 MB]
[18.8]--文件系统简介及初始化【公重号:CunWorkNotes】.mp4 [43.6 MB]
[18.7]--通过tty设备写显示数据(2)【整理不易‖记得关注:CunWorKNotes】.mp4 [102.0 MB]
[18.9]--为进程添加文件打开表.mp4 [30.8 MB]
📁 {4}--引导程序:接管控制权
[4.6]--使用BIOS中断显示字符.mp4 [16.3 MB]
[4.7]--使用BIOS中断读取磁盘.mp4 [38.9 MB]
[4.8]--进入C语言环境并跳到loader(1)【资源精选‖更多关注:CunworkNotes】.mp4 [23.4 MB]
[4.9]--进入C语言环境并跳到loader(2)【持续更新‖免费提供:CunworknoteS】.mp4 [31.4 MB]
[4.3]--创建可引导的启动程序.mp4 [53.2 MB]
[4.1]--计算机启动流程简介【整理不易‖记得关注:CunWorKNotes】.mp4 [33.3 MB]
[4.4]--初始化引导程序(1)【公重号:CunWorkNotes】.mp4 [19.6 MB]
[4.5]--初始化引导程序(2).mp4 [14.5 MB]
[4.2]--接管运行控制权.mp4 [30.7 MB]
📁 {7}--日志与printf格式化输出
[7.3]--实现基本的信息输出(1).mp4 [13.1 MB]
[7.5]--若干字符串和内存操作函数实现.mp4 [46.6 MB]
[7.2]--实现基本的信息输出.mp4 [51.0 MB]
[7.8]--支持整数的格式化(1).mp4 [38.9 MB]
[7.1]--创建日志输出接口【优质资源‖关注:cunWorkNotes 解锁】.mp4 [38.6 MB]
[7.10]--在异常处理程序中打印信息.【更多精选‖公众号:CunWorknotes】 .mp4 [43.5 MB]
[7.4]--实现基本的信息输出(2).mp4 [37.9 MB]
[7.7]--实现字符串的格式化输出(2).mp4 [22.2 MB]
[7.11]--利用assert辅助调试.mp4 [50.7 MB]
[7.9]--支持整数的格式化(2).mp4 [40.2 MB]
[7.6]--实现字符串的格式化输出(1)【公重号:CunWorkNotes】.mp4 [49.3 MB]
📁 {14}--建立系统调用
[14.3]--实现系统调用的调用和返回(2)【更多精选‖公众号:CunWorknotes】 .mp4 [26.7 MB]
[14.2]--实现系统调用的调用和返回(1)【优质资源‖关注:cunWorkNotes 解锁】.mp4 [56.3 MB]
[14.1]--创建调用门【资源精选‖更多关注:CunworkNotes】.mp4 [60.4 MB]
[14.6]--实现getid系统调用【优质资源‖关注:cunWorkNotes 解锁】.mp4 [63.6 MB]
[14.4]--实现msleep系统调用(1).mp4 [54.2 MB]
[14.5]--实现msleep系统调用(2).mp4 [19.4 MB]
[14.7]--实现pint_msg调用.mp4 [22.8 MB]
[14.8]--使用int$0x80实现系统调用.mp4 [62.8 MB]
📁 {13}--隔离操作系统与进程
[13.10]--为进程添加特权级0的栈空间.mp4 [86.4 MB]
[13.1]--隔离操作系统与进程(1)-代码分离.mp4 [75.2 MB]
[13.2]--隔离操作系统与进程(2)-地址分离【优质资源‖关注:cunWorkNotes 解锁】.mp4 [71.4 MB]
[13.9]--切换至应用进程的特权级为最低.mp4 [54.8 MB]
[13.4]--调整应用的特权级(1).mp4 [36.7 MB]
[13.6]--调整异常处理函数(1).mp4 [37.1 MB]
[13.8]--修改空闲任务的特权级.mp4 [28.5 MB]
[13.3]--隔离操作系统与进程(3)-搬运代码【更多精选‖公众号:CunWorknotes】 .mp4 [70.9 MB]
[13.7]--调整异常处理函数(2).mp4 [78.3 MB]
[13.5]--调整应用的特权级(2).mp4 [45.2 MB]
📁 {9}--实现链表数据结构
[9.2]--实现链表的查询函数【整理不易‖记得关注:CunWorKNotes】.mp4 [13.8 MB]
[9.1]--定义结点和链表.mp4 [47.2 MB]
[9.4]--链表的两种删除【更多精选‖公众号:CunWorknotes】 .mp4 [45.1 MB]
[9.6]--获取结点所在的结构(2).mp4 [40.9 MB]
[9.5]--获取结点所在的结构(1)【整理不易‖记得关注:CunWorKNotes】.mp4 [10.3 MB]
[9.3]--链表的两种插入.mp4 [36.7 MB]