操作系统 MOC
操作系统系统学习入口,按进程线程、调度与同步、虚拟内存、I/O 与系统调用、文件系统和资源管理组织主线,并保留面试与计算题入口。
#operating-system
#moc
#growing
[!info] related notes
- 上层入口:Backend Engineering MOC、面试计算机基础 MOC
- 面试入口:操作系统高频框架
- 实践入口:Linux MOC
操作系统 MOC
知识总览
filters:
and:
- 'file.ext == "md"'
- 'file.inFolder("z")'
- 'this.file.links.contains(file)'
- 'file.path != this.file.path'
formulas:
knowledge: 'file.asLink(title)'
properties:
formula.knowledge:
displayName: 知识
note.description:
displayName: Description
note.mastery:
displayName: Mastery
views:
- type: table
name: 知识总览
order:
- formula.knowledge
- note.description
- note.mastery
columnSize:
formula.knowledge: 280
note.description: 760
note.mastery: 56
[!abstract] 学习目标 操作系统负责在有限硬件上隔离和调度进程、管理内存与 I/O,并向应用提供稳定抽象。后端学习 OS 的目的,是解释并发、阻塞、内存、文件、网络和服务生命周期,而不只是做计算题。
一张图看主线
Process / Thread
→ Scheduling
→ Synchronization / Race / Deadlock
→ Virtual Memory
→ System Call / Interrupt / I/O
→ File System / Storage
→ Runtime and Backend Behavior
推荐阅读顺序
- 进程、线程与协程:隔离、共享和调度单位。
- CPU 调度:吞吐、响应时间、公平性与上下文切换。
- 同步、互斥与信号量:共享状态为什么产生竞态。
- 死锁:资源等待环和必要条件。
- 内存管理 → 虚拟内存、页表与 TLB。
- 页面置换:物理内存不足时怎样淘汰页面。
- I/O、中断、DMA 与系统调用。
- 文件系统、inode 与链接。
- 磁盘调度:理解传统块设备访问模型。
映射到后端运行时
| OS 概念 | 后端现象 |
|---|---|
| Process / Thread | Worker、线程池、隔离与崩溃边界 |
| Scheduling | CPU 饱和、延迟抖动、上下文切换 |
| Synchronization | 锁竞争、数据竞态、并发安全 |
| Virtual Memory | RSS、Page Fault、Swap、OOM |
| File Descriptor | Socket / File 耗尽、连接上限 |
| I/O Model | Blocking、Non-blocking、Event Loop |
| Signal | Graceful Shutdown、Reload、Child Reaping |
| File System | 持久化、fsync、rename、inode、磁盘满 |
面试与计算题入口
- 调度:周转时间、等待时间、响应时间 → os-scheduling
- 页面置换:OPT / FIFO / LRU / Clock → os-page-replacement
- PV / Semaphore:生产者消费者、读者写者 → os-synchronization-and-semaphores
- 磁盘调度:SSTF / SCAN / C-SCAN / LOOK → os-disk-scheduling
[!tip] 求职优先级 对后端和 Agent 工程岗位,进程/线程、并发同步、虚拟内存、I/O、文件描述符、signal 和文件系统通常比手算磁盘调度更高频。
掌握标准
- 能解释进程、线程、协程分别解决什么问题。
- 能说明阻塞 I/O、非阻塞 I/O 和事件循环的关系。
- 能从内存泄漏、Page Fault、Swap 到 OOM 建立因果链。
- 能解释锁竞争、竞态和死锁的差别。
- 能把 SIGTERM、连接排空和优雅关闭连起来。
旧入口
- operation-system-legacy:保留为历史兼容页。