这门课解决什么问题

很多学操作系统或计算机基础的学生,在看完理论后容易陷入“懂概念但写不出代码”的困境。这门课聚焦四大核心模块——内存管理、进程管理、文件系统和图形界面,带你从零手写底层实现。它不教你套话,只解决“概念懂但手跟不上”的痛点,帮你把操作系统原理真正落地到代码里,填补从理论到工程实践的鸿沟。

适合什么基础

你需要具备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
重构计算机专业课,带你手写四大核心模块,硬核筑基/