这门课讲的是操作系统原理,主讲人是北京大学的陈向群老师。如果你正在准备后端开发、系统编程方向的面试,或者写代码时经常对进程调度、内存分配、文件读写这些底层行为感到模糊,这套内容值得花时间看。它不是教你怎么调用某个 API,而是把操作系统内部那套机制拆开讲清楚,让你以后遇到性能问题、并发问题时,知道底下发生了什么。
先判断自己适不适合看
这门课的门槛不算高,但也不是零基础能直接吞下去的。你需要先学过一门编程语言,最好写过 C 或 C++,对指针、数组、函数调用有基本概念;同时要有一点计算机组成原理的底子,知道 CPU、内存、总线大概是怎么回事。如果这些都没有,看进程调度和页表部分会比较吃力。反过来,如果你已经工作几年,平时写业务代码居多,对操作系统的认识停留在「进程就是程序在跑」这种程度,那这套课正好补上你缺的那一层。它不要求你之前系统学过操作系统,但要求你愿意跟着推导,而不是只记结论。
建议先看哪几块,顺序怎么安排
资料里覆盖了进程与并发、调度算法、内存管理、页表设计、文件系统实现、IPC 机制这些核心模块。建议不要按编号从头硬啃,而是先看进程并发执行和交互式系统调度这两块。原因很实际:这两部分和你日常写多线程、处理任务队列、理解响应延迟直接相关,看完就能对上工作中的场景。接着看内存管理的基本方案和页表设计,这部分是理解虚拟内存、内存碎片、缓存命中率的基础。伙伴系统那一节可以放在页表之后看,它讲的是物理内存怎么分配,和页表配合起来才完整。文件系统的实现放在后面,等你对进程和内存有了整体感觉再看,会顺很多。IPC 机制可以穿插在进程部分之后,因为它解决的是进程之间怎么传数据,和并发是同一个问题的两面。
学完能独立做什么,资料怎么配合练
认真跟完并动手做笔记的话,你应该能独立解释一个程序从启动到运行到底经历了什么:进程怎么创建、怎么被调度、内存怎么分配、缺页时系统做了什么、文件读写经过哪些层。更进一步,你可以自己写一个小型的模拟程序,比如模拟几种调度算法对比平均等待时间,或者模拟页表映射看地址转换过程。这些练习不需要真实内核环境,用你熟悉的语言就能做。资料里的视频是主线,但不要只看不练。每看完一个模块,试着用代码复现其中的核心逻辑,哪怕只是几十行的模拟。遇到不懂的概念,回到视频里对应片段重看,比查零散博客更有效。这套内容不承诺帮你找工作,但它能让你在面试里被问到「进程和线程区别」「虚拟内存作用」时,答出机制层面的东西,而不是背定义。
课程目录
10 - 2 - 文件操作的实现(12-16).mp4 [33.8 MB] 6 - 7 - 典型操作系统中的IPC机制(11-40).mp4 [29.0 MB] 7 - 4 - 基本内存管理方案1(9-24).mp4 [23.2 MB] 8 - 2 - 页表及页表项的设计(18-53).mp4 [47.1 MB] 5 - 1 - 进程的并发执行(12-27).mp4 [31.1 MB] 7 - 3 - 伙伴系统(8-42).mp4 [21.4 MB] 4 - 4 - 交互式系统的调度算法(16-52).mp4 [46.8 MB] 9 - 6 - 文件系统的实现(13-54).mp4 [35.7 MB] 1 - 2 - 操作系统的定义和作用 (20-13).mp4 [54.3 MB] 9 - 1 - 文件与文件系统(15-28).mp4 [38.7 MB] 10 - 5 - 文件系统的性能1(18-29).mp4 [48.4 MB] 3 - 6 - 线程机制的实现(11-14).mp4 [32.6 MB] 12 - 1 - 死锁的基本概念(20分52秒).mp4 [143.3 MB] 3 - 2 - 进程状态及状态转换(14-51).mp4 [40.1 MB] 4 - 5 - 多级反馈队列调度算法、各种调度算法小结等(13-01).mp4 [31.8 MB] 6 - 3 - 管程的应用(11-23).mp4 [33.4 MB] 5 - 3 - 进程互斥的软件解决方案(17-02).mp4 [43.5 MB] 9 - 4 - 文件控制块及文件目录(13-11).mp4 [34.0 MB] 10 - 7 - 文件系统的性能3(11-42).mp4 [32.0 MB] 6 - 4 - MESA管程(13-09).mp4 [39.0 MB] 9 - 7 - 文件系统实例——UNIX(15-58).mp4 [42.2 MB] 9 - 2 - 文件的存储介质(8-30).mp4 [22.3 MB] 3 - 1 - 进程的基本概念(17-40).mp4 [46.1 MB] 5 - 5 - 进程同步(13-49).mp4 [37.2 MB] 1 - 4 - 典型操作系统的架构 (11-11).mp4 [32.1 MB] 6 - 6 - 进程间通信IPC(10-20).mp4 [33.8 MB] 6 - 2 - HOARE管程 (8-15).mp4 [24.0 MB] 1 - 3 - 操作系统的主要特征 (10-30).mp4 [29.2 MB] 8 - 6 - 页面置换算法1(25-29).mp4 [67.2 MB] 10 - 3 - 文件系统的管理(13-50).mp4 [38.2 MB] 9 - 3 - 磁盘空间管理(11-06).mp4 [29.1 MB] 4 - 1 - 处理器调度的相关概念(15-04).mp4 [37.5 MB] 6 - 1 - 管程的基本概念(11-38).mp4 [32.8 MB] 3 - 4 - 关于进程相关概念的讨论(17-40).mp4 [42.3 MB] 2 - 6 - 实例:基于X86的Linux系统调用机制简介(13-23).mp4 [39.6 MB] 7 - 1 - 基本概念-地址重定位(12-35).mp4 [29.6 MB] 2 - 5 - 系统调用机制(15-35).mp4 [44.5 MB] 8 - 8 - 其他相关技术(7-01).mp4 [18.4 MB] 2 - 4 - 实例:X86的中断与异常机制(9-48).mp4 [27.9 MB] 8 - 7 - 页面置换算法2-工作集算法(17-33).mp4 [45.8 MB] 5 - 6 - 信号量及PV操作(11-22).mp4 [29.3 MB] 5 - 7 - 生产者消费者问题(9-55).mp4 [26.6 MB] 10 - 4 - 文件系统的安全性(6-44).mp4 [17.3 MB] 7 - 2 - 物理内存管理(7-18).mp4 [18.4 MB] 8 - 3 - 地址转换过程及TLB的引入(11-46).mp4 [31.1 MB] 1 - 6 - 操作系统的分类2 (18-23).mp4 [52.4 MB] 10 - 6 - 文件系统的性能2(16-27).mp4 [43.6 MB] 4 - 3 - 批处理系统的调度算法(13-25).mp4 [36.1 MB] 9 - 5 - 文件的物理结构(29-07).mp4 [75.9 MB] 4 - 6 - Windows 的线程调度算法(14-54).mp4 [38.5 MB] 5 - 8 - 读者写者问题(10-37).mp4 [27.7 MB] 4 - 2 - 设计调度算法要考虑的几个问题(9-01).mp4 [24.9 MB] 5 - 4 - 进程互斥的硬件解决方案(12-04).mp4 [31.1 MB] 1 - 1 - 操作系统做了什么?(10-12).mp4 [26.5 MB] 1 - 5 - 操作系统的分类1 (17-17).mp4 [49.4 MB] 5 - 2 - 进程互斥(9-42).mp4 [25.0 MB] 8 - 5 - 软件相关策略(18-13).mp4 [48.0 MB] 10 - 8 - 文件系统的两个练习(8-58).mp4 [24.3 MB] 2 - 3 - 中断与 异常机制 工作原理(16-27).mp4 [45.6 MB] 10 - 1 - 文件系统实例——FAT(22-38).mp4 [59.0 MB] 2 - 1 - 处理器状态(15-51).mp4 [40.0 MB] 2 - 2 - 中断与异常机制介绍 (14-50).mp4 [40.8 MB] 8 - 1 - 虚拟存储技术(12-09).mp4 [29.6 MB] 3 - 5 - 线程的引入(14-43).mp4 [42.7 MB] 7 - 5 - 基本内存管理方案2(19-41).mp4 [35.5 MB] 8 - 4 - 页错误(Page Fault)(6-14).mp4 [16.6 MB] 6 - 5 - PTHREAD中的同步机制(8-21).mp4 [25.2 MB] 3 - 3 - 进程控制(14-18).mp4 [40.6 MB] 适合人群 操作系统爱好者 计算机专业学生 IT从业者 学习收获 理解操作系统原理 掌握核心概念 提升系统设计能力 祝您学习愉快! 学有所成,前程似锦!






