Skip to content

操作系统知识体系总览


操作系统是计算机科学的基石,也是后端开发面试中考察候选人底层功底的重要维度。大厂面试中,操作系统的考察往往与 Java 并发、网络编程等知识交叉出现,理解操作系统原理才能真正搞懂 Java 线程模型、NIO、零拷贝等高级话题。


第1阶段 进程与线程 → 进程模型、线程状态
第2阶段 内存管理 → 虚拟内存、分页
第3阶段 文件系统 → inode、文件描述符
第4阶段 IO多路复用 → epoll、零拷贝
操作系统
┌───────────┬───────────┼───────────┐
▼ ▼ ▼ ▼
进程线程 内存管理 文件系统 IO多路复用
│ │ │ │
• 进程模型 • 虚拟内存 • inode • epoll
• 线程状态 • 分页分段 • 描述符 • Reactor
• 上下文切换 • TLB • 链接 • 零拷贝
• 协程 • 缺页中断 • 日志文件系统 • select/poll
专题考察频率难度核心能力
进程线程★★★★★状态机
内存管理★★★★☆虚拟内存
文件系统★★★☆☆inode
IO多路复用★★★★★epoll原理

⚙️ 进程/线程/协程

高频 ⭐⭐⭐⭐⭐

覆盖:进程与线程的本质区别、线程状态机、上下文切换开销、协程原理、Java 虚拟线程(Project Loom)。

进入专题 →

🧠 内存管理

高频 ⭐⭐⭐⭐⭐

覆盖:虚拟内存与物理内存、分页与分段、页表与 TLB、缺页中断、内存分配算法、OOM 与内存泄漏。

进入专题 →

📁 文件系统

中频 ⭐⭐⭐

覆盖:inode 机制、目录结构、文件描述符、软链接与硬链接、日志文件系统、Linux 一切皆文件。

进入专题 →

🔄 IO 多路复用

高频 ⭐⭐⭐⭐⭐

覆盖:BIO/NIO/AIO 模型、select/poll/epoll 原理与对比、Reactor 模式、零拷贝(sendfile/mmap)。

进入专题 →


知识点初级面试中级面试高级面试
进程 vs 线程✅ 必问✅ 必问✅ 必问
线程状态✅ 常问✅ 常问✅ 必问
协程原理❌ 少问偶尔✅ 常问
虚拟内存偶尔✅ 常问✅ 必问
页表/TLB❌ 少问偶尔✅ 常问
缺页中断❌ 少问✅ 常问✅ 必问
epoll 原理❌ 少问✅ 常问✅ 必问
零拷贝❌ 少问✅ 常问✅ 必问
Reactor 模式❌ 少问偶尔✅ 必问

┌─────────────────────────────────────────────────┐
│ 用户空间 │
│ 应用程序 / JVM / 数据库 / Web 服务器 │
├─────────────────────────────────────────────────┤
│ 系统调用接口 │
│ read / write / fork / mmap / epoll / ... │
├─────────────────────────────────────────────────┤
│ 内核空间 │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ 进程管理 │ │ 内存管理 │ │ 文件系统/VFS │ │
│ └──────────┘ └──────────┘ └──────────────────┘ │
│ ┌──────────────────────────────────────────┐ │
│ │ 设备驱动 / IO 子系统 │ │
│ └──────────────────────────────────────────┘ │
├─────────────────────────────────────────────────┤
│ 硬件层 │
│ CPU / 内存 / 磁盘 / 网卡 │
└─────────────────────────────────────────────────┘

理解操作系统原理,是深入理解 Java 技术栈的必要前提:

操作系统概念Java 中的对应体现
进程 / 线程JVM 进程、Java Thread(映射到 OS 线程)
上下文切换并发编程中的线程切换开销
协程Java 21 虚拟线程(Project Loom)
虚拟内存JVM 堆外内存、DirectByteBuffer
mmapMappedByteBuffer、Kafka 文件读写
epollNetty/NIO Selector 底层实现
零拷贝FileChannel.transferTo()、Kafka 消息传输