会员可免费下载本篇
月会员、年会员、永久会员可按日额度下载(每篇扣 1 次)。
开通会员 · 按档位下载 →
拒绝纸上谈兵:这门课在补什么?
很多计算机专业学生面临的最大困境是:《操作系统》、《计算机组成原理》背得滚瓜烂熟,但面对真机却无从下手。传统教学止步于概念图解,导致知识是碎片的、抽象的。这门课的核心价值在于「重构」二字——它并非单纯讲解理论,而是强制要求你亲手实现三大核心模块:内存管理、进程调度与文件系统。通过从 `malloc`/`free` 的手写实现,到缺页异常处理及页面置换算法的编码落地,你将打通从虚拟地址到物理内存的映射逻辑;通过 Time-sharing 调度、自旋锁与信号量的互斥实现,深入理解内核态与用户态的边界。这种「造轮子」的过程,是将书本上的 OS 模型转化为肌肉记忆的唯一途径。
学习路径与资料使用建议
本课程具有极强的系统性,适合具备 C 语言基础、了解基本数据结构,且对内核机制有好奇心的学习者。切忌跳步,建议严格按以下顺序精看视频并配合练习:
第一阶段聚焦内存与基础调度。先看 **10-4 页面置换算法实现** 与 **10-1 缺页异常处理**,这是理解虚拟内存的关键;随后进入 **11-2 时间片轮转调度算法实现** 与 **11-7 自旋锁和信号量实现**,解决并发控制的核心痛点。资料包中的视频即为此阶段的实操范本,务必逐行对照代码,观察系统调用(如 `sleep`)是如何被挂起与唤醒的。
第二阶段攻克文件系统与上层应用。这是课程最硬核的部分,重点精读 **12-2 文件系统实现** 与 **12-4 文件系统加载流程**,理解 inode、块设备与缓冲区的交互;接着看 **13-1 GUI 图形用户界面实现**,观察内核能力如何支撑上层应用。最后的 **14 章 Linux 课程** 并非重复,而是将前序模块放置于真实 Linux 环境中验证库函数与 Shell 行为。
学完后,你应能独立剖析一个简单 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
重构计算机专业课,带你手写四大核心模块,硬核筑基/