getfromcode

网易云课堂 -李述铜从0手写自己的Linux x86操作系统

AI
课程简介

# 从裸机到文件系统:构建 Linux x86 操作系统的核心跨越 李述铜老师的《从0手写自己的Linux x86操作系统》课程,是开发者深入理解操作系统底层原理的经典实践教程。本导读聚焦于课程中两个至关重要的模块——“磁盘与FAT16文件系统”及“新进程的加载与创建”,帮助学习者梳理从块设备管理到应用程序执行的完整技术链路。 第一阶段:磁盘抽象与FAT1…

已有 7 人浏览 发布 2026-10-03 更新 2026-10-10

# 从裸机到文件系统:构建 Linux x86 操作系统的核心跨越

李述铜老师的《从0手写自己的Linux x86操作系统》课程,是开发者深入理解操作系统底层原理的经典实践教程。本导读聚焦于课程中两个至关重要的模块——“磁盘与FAT16文件系统”及“新进程的加载与创建”,帮助学习者梳理从块设备管理到应用程序执行的完整技术链路。

第一阶段:磁盘抽象与FAT16文件系统的落地

操作系统的生命力在于对存储介质的管理。课程首先从**磁盘基本特性**入手,通过解析磁盘分区表(MBR/分区项),实现了系统对已有磁盘的识别。这一步不仅涉及 BIOS 中断调用的底层细节,更要求开发者掌握如何将物理硬盘映射为逻辑设备,从而建立起独立的**磁盘设备管理层**。在此基础上,课程深入阐述了 **FAT16 文件系统**的结构,包括引导扇区、FAT表、根目录区及数据区的布局逻辑。

为了实现文件的读写,开发者需逐步完成**挂载流程**,解析超级块与目录项,并实现底层的**磁盘读取与写入驱动**。当底层IO打通后,课程展示了如何向上封装出实用的用户态命令。例如,`ls` 命令的实现经历了从“添加系统调用接口”到“列出虚假目录内容”,最终实现“遍历真实目录内容”的迭代过程;而 `cp` 命令则涵盖了**创建新文件、删除文件以及文件内容写入**的全生命周期管理。此外,`less` 命令的实现进一步细化了**逐行显示**与**批量加载**的逻辑,体现了文件系统服务在应用层的优雅呈现。这一阶段的核心价值在于:让开发者明白,高级语言中的 `fopen`、`fread` 背后,是一系列精密的硬件寄存器操作与内存数据结构解析。

第二阶段:进程调度与 ELF 可执行文件的加载

如果说文件系统是操作系统的“记忆”,那么进程管理则是其“大脑”。课程的第二部分重点攻克**进程创建与加载**这一难点。从 `fork` 系统调用的实现开始,详细讲解了如何通过**分配任务块(TCB)**来复制父进程的资源,建立全新的执行上下文。

更具挑战性的是 `exec` 系统调用的实现。这不仅仅是替换程序代码,更是一个复杂的解析与映射过程。课程逐步拆解了 **ELF 文件的解析机制**,包括解析 ELF 头部、段表,并将代码段和数据段加载到虚拟内存空间。同时,为了支持上层应用,还需要增加**虚似文件访问接口**,使进程能够通过系统调用访问文件系统获取代码。最后,课程还涉及了**命令行参数的传递**机制,确保 Shell 能够正确地将参数压入新进程的栈帧中。

总结

从磁盘驱动的编写到 FAT16 文件的遍历,再到 ELF 程序的加载与执行,这两部分内容构成了从“裸金属”到“可用系统”的关键闭环。通过本系列课程的学习,开发者不仅能掌握 x86 架构下的内核编程技巧,更能深刻理解操作系统是如何在软硬件之间搭建起一座稳健的桥梁。无论是对于立志从事嵌入式开发、驱动编程的工程师,还是希望夯实基础的系统架构师,这都是一套不可多得的实战指南。

课程目录

{21}--磁盘与fat16文件系统32 集
  • [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}--新进程的加载与创建12 集
  • [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}--中断与异常处理20 集
  • [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.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.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保护模式下的编程)31 集
  • [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}--虚拟内存管理和保护模式23 集
  • [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}--课程总结1 集
  • [22.1]--璁捐鎬荤粨.mp4 [35.3 MB]
{11}--进程间的同步与互斥6 集
  • [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}--开发环境准备4 集
  • [2.1]--开发工具总览.mp4 [11.9 MB]
  • [2.3]--Windows平台【资源精选‖更多关注:CunworkNotes】.mp4 [129.3 MB]
  • [2.4]--Linux平台(ubuntu).mp4 [74.3 MB]
  • (2.2)--注意事项(必看!!!).pdf [1.2 MB]
{10}--进程的管理与延时1 集
  • [10.5]--让进程按时间片运行(2).mp4 [43.6 MB]
{19}--实现一个命令行解释器9 集
  • [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输出5 集
  • [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]
{1}--课前准备4 集
  • [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的实现16 集
  • [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}--进程的管理与延时9 集
  • [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}--使用控制台与键盘进行输入输出13 集
  • [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.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}--实现简单的进程切换11 集
  • [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}--使用文件系统管理硬件设备7 集
  • [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}--设备管理与文件系统14 集
  • [18.13]--允许切换tty窗口(1).mp4 [9.3 MB]
  • [18.5]--实现tty设备的打开【持续更新‖免费提供:CunworknoteS】.mp4 [51.6 MB]
  • [18.1]--设备管理框架简介.mp4 [37.5 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}--引导程序:接管控制权9 集
  • [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格式化输出11 集
  • [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}--建立系统调用8 集
  • [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}--隔离操作系统与进程10 集
  • [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}--实现链表数据结构6 集
  • [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]
课程购买
课程价格
金币29.9
299金币限时优惠会员免费
销量:0
💎 开通会员每日免费下载,比单买更划算 →
支付成功后会自动显示下载资源云盘的链接!点击链接即可下载到本地。