知识全景图/ 学科主线/ 大学计算机专业课程/ 操作系统、进程线程、内存与并发课群
Operating Systems Curriculum

大学计算机操作系统、进程线程、内存与并发课群

这页补大学计算机专业里最关键的系统课之一:操作系统。它不是 Linux 命令速查,也不是直接钻内核源码;它回答课程视角的问题:多个程序怎样共享 CPU、内存、文件、设备和网络资源,为什么需要进程线程、虚拟内存、系统调用、文件系统、同步互斥、IO 多路复用和资源隔离。

系统核心课
承接组成原理和体系结构,连接网络、数据库、运行时和性能分析
五类资源
CPU、内存、文件 / 设备、网络 IO、权限与资源限制
核心能力
把“慢 / 卡 / OOM / 死锁 / IO 等待 / 容器异常”拆回 OS 对象
继续下钻
课程路线在本页,Linux 内核机制和 ToyOS 设计训练回到 `pages/tech/engineering/`
一、这组课共同回答什么问题

操作系统课不是背概念清单,而是理解“应用程序如何安全、公平、高效地使用一台真实机器”。

从裸机到多程序运行
没有操作系统时,每个程序都可能霸占 CPU、破坏别人的内存、乱写磁盘、直接操作设备。OS 通过进程、地址空间、系统调用和权限边界,把硬件变成可共享资源。
硬件资源 内核抽象 用户程序 资源隔离
从概念到线上现象
进程线程、调度、虚拟内存、文件描述符、page cache、epoll、TCP 栈、cgroup 和 namespace,最后都会变成工程里的延迟、吞吐、内存、连接、磁盘和容器问题。
调度/ 内存/ 文件/ IO/ 隔离
一句话判断:如果你只能说“系统资源不够”,但分不清是 CPU 调度、锁等待、缺页、page cache、fd 泄漏、网络队列还是 cgroup 限制,操作系统课还没有真正学到位。
二、核心课程怎么分工
课程 / 模块主问题关键对象继续下钻
OS 抽象与启动为什么需要内核,机器怎样进入可运行状态Bootloader、内核态 / 用户态、中断、异常、第一个进程如何设计操作系统
进程、线程与调度多个执行流怎样共享 CPU进程、线程、上下文切换、Run Queue、阻塞唤醒、抢占、优先级操作系统内核机制
同步互斥与并发共享状态怎样避免竞争、死锁和可见性错误锁、信号量、条件变量、原子操作、死锁、生产者消费者体系结构底座
虚拟内存与地址空间程序怎样看到独立内存,内存不足时怎样处理页表、TLB、缺页异常、mmap、Copy-on-write、RSS、swap、OOM内核机制底座
文件系统与 IO设备和磁盘怎样被抽象成可读写对象VFS、inode、文件描述符、page cache、fsync、mmap、块设备OS 设计训练
网络与事件模型应用怎样通过 OS 使用网络Socket、epoll、TCP 栈、缓冲区、软中断、连接状态网络课群
资源限制与隔离操作系统怎样限制和隔离进程资源权限、进程组、资源限制、namespace、cgroup、CPU quota、OOMKilled云原生专题
三、按学习阶段怎么推进

第一阶段:先懂 OS 为什么存在

从“多程序共享硬件”出发理解内核态、用户态、系统调用、中断和异常。不要一上来就背 Linux 参数,先知道 OS 要解决哪些资源与隔离问题。

如何设计操作系统系统调用中断

第二阶段:掌握进程线程与并发

进程是资源边界,线程是执行单元;调度、阻塞、唤醒、锁、死锁和上下文切换,决定了“CPU 不高但系统慢”为什么常见。

进程线程调度并发控制

第三阶段:接入内存、文件和 IO

虚拟内存、页表、page cache、文件描述符、mmap、fsync 和 IO 等待,把操作系统课和数据库、运行时、性能工程接到一起。

第四阶段:进入网络与资源隔离

Socket、epoll、TCP、权限、namespace 和 cgroup,是大学 OS 课向网络、数据库和系统性能分析延伸的关键接口。

四、真实卡点该回到哪门课
现象优先回到哪门课为什么不要只做
CPU 不高但接口很慢调度 + 阻塞 + IO线程可能在等锁、连接池、磁盘、网络、下游或 cgroup quota,而不是在 CPU 上运行只优化业务函数
线程越多吞吐越差调度 + 并发控制 + 体系结构上下文切换、锁竞争、共享缓存行和内存带宽都会限制扩展性继续加线程池
OOMKilled 但语言堆不高虚拟内存 + cgroup + 运行时RSS 包含堆外、线程栈、mmap、native、page cache;容器看的是 cgroup limit只调大 heap
磁盘删了文件但空间不释放文件系统 + 文件描述符文件名删除不等于 inode 空间释放,进程持有 fd 时空间仍被占用继续盲删目录
大量连接后服务不接新请求Socket + fd + 网络队列fd 上限、连接泄漏、TIME_WAIT、CLOSE_WAIT、监听队列和连接池都可能参与只调大 ulimit
隔离环境里慢,本机不慢namespace + cgroup + 网络视图隔离环境看到的是受限后的资源和网络视图,不等于宿主机全局视图只看宿主机 top
五、这页和其他课程页怎么分工
页面负责什么什么时候看
本页:操作系统、进程线程、内存与并发课群负责把 OS 按课程依赖、关键抽象和工程卡点接成学习路线你要补大学操作系统课,而不是直接查 Linux 命令时
组成原理、体系结构与数字硬件课群负责 OS 下面的机器表示、指令、Cache、内存层级和硬件接口你想知道 OS 依赖哪些硬件机制时
编译原理、运行时与语言实现课群负责语言运行时怎样通过 OS 使用线程、内存、文件和系统调用你要解释 JVM、Go runtime、Node、Python、Rust / C++ 的运行差异时
如何设计操作系统负责用 ToyOS 解释启动、进程、内存、系统调用、文件、设备和安全边界为什么这样设计你想从设计角度理解 OS 抽象时
操作系统内核机制底座负责 Linux 调度、虚拟内存、VFS、epoll、TCP、cgroup、namespace 和排障证据你已经遇到 Linux / 容器 / 线上资源问题时
六、最小读法
学生课程路线
先懂内核态 / 用户态和系统调用,再学进程线程、调度与并发,然后学虚拟内存、文件系统、IO,最后把网络和容器资源接上。
系统调用进程线程并发虚拟内存文件 / IO网络接口
工程回读路线
从一次线上慢请求倒着看:Trace、线程栈、锁等待、连接池、IO、网络、cgroup 事件和运行时指标,最后回到 OS 的资源模型。
定位: 这页是大学计算机专业课程页的第二层下钻,负责把操作系统课程里的进程线程、调度、并发、虚拟内存、文件系统、IO、网络接口和资源隔离放回课程依赖图;具体 Linux 机制、ToyOS 设计和生产排障证据仍回到 `pages/tech/engineering/` 维护。
回到大学计算机专业课程 / 进入组成原理、体系结构与数字硬件课群 / 进入网络、互联网协议与分布式通信课群 / 进入数据库系统、SQL、事务与存储课群 / 进入操作系统内核机制 / 回到知识全景图