这门课解决什么问题
很多学操作系统或计算机基础的学生,在看完理论后容易陷入“懂概念但写不出代码”的困境。这门课聚焦四大核心模块——内存管理、进程管理、文件系统和图形界面,带你从零手写底层实现。它不教你套话,只解决“概念懂但手跟不上”的痛点,帮你把操作系统原理真正落地到代码里,填补从理论到工程实践的鸿沟。
适合什么基础
你需要具备C语言基础的编程能力,最好有计算机网络或数据结构的初步了解。如果你正在备考计算机专业课,或者想转岗做底层开发、系统编程,这门课能精准击穿你的能力缺口。零基础想碰底层又怕错位的同学,可以带着这份“手搓”的信心开始。
建议先看哪几块
建议按四大模块的顺序推进:先啃内存管理,从缺页异常处理和写时复制入手,这是理解OS最硬核的基石;接着上进程管理,从进程调度到同步互斥,把并发问题的底层逻辑摸透;然后是文件系统,从加载流程到管道实现,把存储和I/O的链路打通;最后看GUI,从桌面启动到窗口交互,把“人机交互”这个最直观的模块写完。
学完能独立做什么
学完这门课,你不再只是操作系统原理的“听书者”,而是能独立完成四大核心模块的完整实现。从手写内存分配器、进程调度器,到自旋锁与信号量、文件系统、图形界面,每一个模块都能让你真正理解“为什么这样设计”,并为后续做内核级开发、底层系统编程打下扎实的手感。
资料怎么配合练习
课程资料以视频讲解为主,配套代码实现紧随其后。学一块,对着视频跟着手写一块,不要跳过。每个模块的代码实现讲解本身就是最好的练习材料——边看边改,把视频里的示例跑通、跑顺,比单纯看视频收获大得多。遇到报错别急着看答案,先自己定位,这才是手搓OS的必经之路。
课程目录
10-1 缺页异常处理.mp4 53.08M 10-2 fork写时复制实现.mp4 36.61M 10-3 malloc_free函数实现.mp4 128.81M 10-4 页面置换算法介绍及实现.mp4 119.44M 10-2 fork写 11-1 进程调度算法.mp4 80.00M 11-2 时间片轮转调度算法实现.mp4 82.82M 11-3 sleep系统调用实现.mp4 58.57M 11-4 多处理器系统实现.mp4 135.19M 11-5 多处理器调度简介.mp4 41.19M 11-6 同步互斥自旋锁信号量原子操作介绍.mp4 101.52M 11-7 自旋锁和信号量的实现.mp4 71.90M 11-8 用户态线程实现.mp4 94.52M 11-9 进程间通信实现.mp4 51.56M 12-1 文件系统介绍.mp4 26.43M 12-2 文件系统实现.mp4 87.53M 12-3 文件系统制作代码实现讲解.mp4 74.82M 12-4 文件系统加载的流程.mp4 186.07M 12-5 应用程序读写文件的接口.mp4 78.05M 12-6 大文件支持.mp4 58.28M 12-7 main函数参数传递实现.mp4 35.52M 12-8 管道pipe的实现.mp4 83.29M 13-1 GUI图形用户界面实现.mp4 70.07M 13-2 桌面程序启动流程.mp4 70.35M 13-3 edit图形应用程序启动流程中文显示.mp4 89.26M 13-4 鼠标移动,窗口切换移动流程.mp4 53.60M 14-1 linux课程内容介绍.mp4 64.78M 14-2 linux简介.mp4 20.92M 14-3 linux库函数使用.mp4 101.63M 14-4 shell和环境变量.mp4 162.09M 14-5 shell语句和函数.mp4 78.37M 14-6 正则表达式.mp4 144.78M 14-7 进程操作接口.mp4 97.51M 15-1 文件操作接口.mp4 94.96M 15-2 目录操作接口.mp4 60.45M 15-3 字符编码.mp4 103.34M 15-4 C语言宽字符.mp4 95.03M 15-5 信号使用和实现介绍.mp4 414.83M 15-6 终端介绍.mp4 96.63M 15-7 进程组和会话.mp4 174.80M 15-8 信号实验.mp4 154.47M 16-1 网络编程接口socket介绍.mp4 87.24M 16-2 http协议,web_client,web_server实现.mp4 62.01M 16-3 epoll接口介绍.mp4 77.07M 16-4 epoll实现高并发web_server.mp4 148.62M 16-5 最小堆优先队列实现web_server定时器.mp4 102.17M 16-6 get,post参数解析.mp4 81.65M 17-1 静态库链接.mp4 77.31M 17-2 共享库查找和命名规则.mp4 140.50M 17-3 动态库链接.mp4 170.65M 17-4 位置无关可执行文件PIE.mp4 35.79M 17-5 linux设备驱动介绍.mp4 141.16M 18-1 算法课程内容介绍.mp4 66.48M 18-10 桶排序,计数排序,基数排序算法.mp4 65.97M 18-2 算法分析简介.mp4 65.23M 18-3 基本数据结构链表,栈,队列.mp4 125.83M 18-4 基本算法思想递归,二分查找,回溯,贪心,分治.mp4 108.25M 18-5 冒泡,选择,插入,希尔排序算法.mp4 107.77M 18-6 归并排序算法.mp4 68.57M 18-7 快速排序算法.mp4 59.23M 18-8 二叉堆优先队列.mp4 76.59M 18-9 堆排序算法.mp4 56.11M 19-1 数组和链表实现符号表.mp4 78.35M 19-2 二叉树.mp4 26.91M 19-3 二叉搜索树.mp4 78.10M 19-4 AVL树.mp4 58.13M 19-5 红黑树.mp4 152.67M 19-6 散列表.mp4 87.50M 19-7 跳表.mp4 96.18M 19-8 布隆过滤器.mp4 34.92M 20-1 并查集Union-Find动态连通分量.mp4 45.24M 20-2 无向图深度和广度优先搜索.mp4 98.13M 20-3 连通分量,无环图,二分图.mp4 67.90M 20-4 有向图,拓扑排序,强连通分量.mp4 78.99M 20-5 最小生成树,Prim算法,Kruskal算法.mp4 147.78M 20-6 最短路径,Dijkstra算法,Bellman-Ford算法.mp4 129.17M 20-7 Astar寻路算法.mp4 43.00M 21-1 字符串排序算法.mp4 92.51M 21-2 单词查找树Tries树.mp4 64.79M 21-3 三向单词查找树.mp4 41.62M 21-4 暴力和KMP子字符串查找算法.mp4 113.27M 21-5 KMP子字符串查找算法版本2.mp4 51.49M 21-6 BoyerMoore,RabinKarp子字符串查找算法.mp4 79.93M 21-7 AC自动机.mp4 118.82M 22-1 正则表达式实现.mp4 67.10M 22-2 霍夫曼压缩算法.mp4 93.29M 22-3 LZW压缩算法.mp4 67.89M 22-4 动态规划算法.mp4 144.72M 22-5 碰撞检测,后缀数组.mp4 58.90M 22-6 最大流问题.mp4 89.69M 23-1 数据库课程内容介绍.mp4 89.51M 23-2 数据库系统介绍关系模型,关系代数.mp4 92.95M 23-3 常用sql语句介绍.mp4 176.39M 23-4 sql练习.mp4 102.09M 23-5 数据库设计,范式.mp4 70.30M 24-1 数据库管理系统层次结构.mp4 9.96M 24-2 存储管理页管理,元数据,缓冲区管理.mp4 86.10M 24-3 存储管理实现元组,系统目录.mp4 97.10M 24-4 页和缓冲区管理实现.mp4 147.07M 24-5 加载元数据信息,创建删除表sql语句解析执行.mp4 93.37M 24-6 增删改查sql语句解析执行.mp4 125.63M 24-7 连接,聚合,分组,排序sql语句解析执行.mp4 117.86M 25-1 索引概念聚集索引,主索引,静态哈希,动态哈希.mp4 71.00M 25-2 B+树特性,B+树增删改查过程.mp4 67.16M 25-3 B+树查找实现.mp4 151.48M 25-4 B+树插入和删除实现.mp4 98.46M 25-5 sql中使用索引.mp4 62.47M 26-1 查询优化概念,查询优化步骤.mp4 97.46M 26-2 简单嵌套,块嵌套,索引嵌套,hash连接算法.mp4 126.82M 26-3 排序归并连接算法,外部归并排序算法.mp4 130.53M 26-4 查询优化实现直方图,选择性因子,连接基数计算.mp4 137.18M 26-5 Selinger查询优化器,最优连接顺序计算.mp4 110.03M 27-1 事务概念,事务ACID特性,可串行化调度,事务隔离级别.mp4 95.29M 27-2 并发控制:锁,两阶段锁协议,封锁粒度.mp4 48.40M 27-3 事务和加锁实现.mp4 63.78M 27-4 多粒度封锁实现.mp4 205.02M 27-5 乐观并发控制机制时间戳,多版本并发控制(MVCC),快照隔离.mp4 173.68M 27-6 故障恢复日志系统,检查点,回滚和恢复过程.mp4 75.39M 27-7 基于日志恢复机制实现.mp4 105.39M 28-1 计算机网络课程内容介绍.mp4 76.26M 28-2 计算机网络概述.mp4 49.98M 28-3 协议栈基本组件用户级线程,信号量,邮箱.mp4 92.71M 28-4 协议栈内存管理.mp4 68.29M 28-5 协议栈数据包管理.mp4 43.98M 28-6 TCPIP协议栈框架介绍.mp4 33.96M 29-1 应用层协议socket接口介绍.mp4 33.03M 29-2 DNS协议介绍.mp4 66.52M 29-3 DNS协议实现.mp4 82.89M 29-4 运输层协议UDP介绍.mp4 63.76M 29-5 UDP协议实现.mp4 51.34M 30-1 网络层协议介绍,ip数据报格式,ip发送数据包实现.mp4 49.18M 30-2 链路层介绍,以太网帧格式,网卡功能.mp4 61.82M 30-3 ip编址,交换机,路由器nat,dhcp,vlan介绍.mp4 151.76M 30-4 协议栈添加网卡驱动.mp4 51.58M 30-5 协议栈添加网络接口.mp4 50.48M 30-6 arp协议实现.mp4 134.31M 30-7 ip,udp,dns输入实现.mp4 101.29M 31-1 tcp协议介绍.mp4 141.21M 31-10 tcp服务端处理实现.mp4 89.96M 31-11 tcp保活机制keep-alive和连接复位实现.mp4 41.57M 31-2 tcp三次握手实现.mp4 157.56M 31-3 tcp发送和接收数据实现.mp4 135.19M 31-4 tcp四次挥手实现.mp4 79.29M 31-5 tcp糊涂窗口综合症解决实现.mp4 44.14M 31-6 tcp失序报文段处理实现.mp4 35.24M 31-7 tcp超时重传实现.mp4 50.12M 31-8 tcp拥塞控制实现.mp4 60.36M 31-9 tcp零窗口探测实现.mp4 32.27M 32-1 ipv6详解.mp4 224.84M 32-10 接入互联网介绍.mp4 71.34M 32-2 网络安全对称加密CA证书介绍.mp4 83.94M 32-3 TLS协议介绍.mp4 189.54M 32-4 HTTP2介绍.mp4 86.50M 32-5 HTTP3,QUIC介绍.mp4 89.62M 32-6 websocket介绍.mp4 95.93M 32-7 CDN介绍.mp4 53.95M 32-8 浏览器缓存和cookie介绍.mp4 85.12M 32-9 web代理介绍.mp4 44.55M 33-1 多媒体协议HLS,DASH介绍.mp4 62.77M 33-2 多媒体协议RTMP介绍.mp4 37.62M 33-3 多媒体协议RTSP介绍.mp4 49.79M 33-4 NAT路由器p2p打洞介绍.mp4 64.22M 33-5 多媒体协议ICE,Webrtc,Sip介绍.mp4 76.88M 第10章 操作系统之:虚拟内存分配 第11章 操作系统之:进程调度和同步互斥 第12章 操作系统之:文件系统 第13章 操作系统之:图形界面实现 第14章 Linux程序设计之:shell和进程操作接口 第15章 Linux程序设计之:文件操作和信号处理 第16章 Linux程序设计之:手写web服务器 第17章 Linux程序设计之:静态库和动态库 第18章 算法与数据结构之:排序算法 第19章 算法与数据结构之:查找算法 第1章 先导片 1-1 为什么要学习计算机基础?.mp4 84.77M 1-2 课程内容介绍和项目演示.mp4 245.11M 1-3 课程部分章节节选试看.mp4 301.33M 第20章 算法与数据结构之:图算法 第21章 算法与数据结构之:字符串算法 第22章 算法与数据结构之:动态规划和压缩算法 第23章 数据库之:SQL语句和数据库设计 第24章 数据库之:存储管理和sql解析实现 第25章 数据库之:索引实现 第26章 数据库之:查询优化 第27章 数据库之:事务和故障恢复 第28章 计算机网络之:协议栈框架搭建 第29章 计算机网络之:应用层协议DNS和网络层协议UDP 第2章 组成原理之:运算器的实现 2-1 组成原理上课程内容介绍.mp4 56.07M 2-2 计算机系统概述.mp4 83.47M 2-3 门电路实现.mp4 55.20M 2-4 加法器实现.mp4 85.41M 2-5 乘除法器实现.mp4 58.15M 第30章 计算机网络之:网络层和链路层 第31章 计算机网络之:TCP协议实现 第32章 计算机网络之:网络安全 第33章 计算机网络之:多媒体协议 第3章 组成原理之:存储器的实现 3-1 寄存器存储器实现.mp4 125.46M 3-2 存储器层次结构.mp4 20.61M 3-3 随机存储器SRAM,DRAM,DDR工作原理.mp4 90.76M 3-4 高速缓存Cache工作原理.mp4 86.63M 3-5 辅助存储器,磁盘SSD,RAID工作原理.mp4 58.24M 第4章 组成原理之:CPU的实现 4-1 cpu指令设计.mp4 68.92M 4-2 ALU实现.mp4 48.65M 4-3 CPU的实现.mp4 59.95M 4-4 Computer的实现.mp4 57.55M 第5章 组成原理之:中央处理器和外围设备 5-1 单周期多周期处理器.mp4 105.22M 5-2 中断或异常处理.mp4 15.18M 5-3 流水线技术.mp4 62.06M 5-4 流水线冒险.mp4 34.64M 5-5 并行计算机技术.mp4 67.73M 5-6 输入输出设备.mp4 35.51M 第6章 组成原理之:结合汇编学习C语言 6-1 组成原理下课程内容介绍.mp4 51.31M 6-10 预处理宏定义.mp4 69.46M 6-11 整数详解.mp4 54.00M 6-12 整数加减乘除.mp4 86.17M 6-13 类型转换规则.mp4 90.85M 6-14 浮点数.mp4 136.77M 6-15 浮点fpu指令.mp4 75.09M 6-16 浮点sse指令.mp4 69.88M 6-17 指针数组字符串.mp4 153.62M 6-18 结构体联合体枚举.mp4 137.81M 6-19 csapp的data-bomb-attack实验.mp4 78.32M 6-2 汇编和C语言结构.mp4 80.94M 6-20 链接详解.mp4 200.99M 6-3 常见x86汇编指令介绍.mp4 87.18M 6-4 x86指令的格式.mp4 29.80M 6-5 C语言函数外.mp4 32.86M 6-6 C语言函数.mp4 127.69M 6-7 C语言语句.mp4 57.42M 6-8 C语言运算符.mp4 44.81M 6-9 C语言printf函数.mp4 38.74M 第7章 操作系统之:内核加载执行流程 7-1 i386分段机制.mp4 70.11M 7-2 bootloader加载流程.mp4 90.74M 7-3 内核加载执行.mp4 130.53M 7-4 内核输入输出实现.mp4 85.71M 7-5 内核打印函数调用堆栈.mp4 99.65M 第8章 操作系统之:物理内存和中断异常管理 8-1 操作系统课程内容介绍.mp4 54.80M 8-10 外部中断使能代码实现.mp4 56.49M 8-2 i386分页机制.mp4 95.80M 8-3 i386分页实现.mp4 61.77M 8-4 物理内存管理初始化流程.mp4 42.75M 8-5 物理内存管理初始化流程实现.mp4 77.69M 8-6 物理内存分配算法.mp4 80.11M 8-7 物理内存分配算法实现.mp4 83.97M 8-8 中断异常管理.mp4 75.56M 8-9 中断处理代码实现.mp4 115.57M 第9章 操作系统之:进程和线程实现 9-1 内核线程实现.mp4 141.13M 9-2 用户进程实现.mp4 198.45M 9-3 系统调用的实现.mp4 70.47M 9-4 fork系统调用实现.mp4 62.06M 9-5 wait_exit系统调用实现.mp4 47.01M 重构计算机专业课,带你手写四大核心模块,硬核筑基/





