操作系统

进程管理、内存管理、文件系统 — 计算机的资源管理器

20 个节点 入门 1 进阶 10 高级 9

知识结构

学习路径

1
操作系统的作用与历史

操作系统(Operating System)是计算机硬件和用户软件之间的"大管家"——它管理CPU、内存、设备,让你能同时打开十几个应用而不打架

#os#overview#history 1 个子节点
入门
2
系统调用与内核态/用户态

系统调用(System Call)是用户程序请求操作系统服务的"正式通道"——你写的程序不能直接碰硬件,必须通过系统调用请内核代劳

#os#kernel#syscall 3 个子节点 1 个前置
进阶
3
进程的概念与状态转换

进程(Process)是正在运行的程序实例——程序是硬盘上的"菜谱",进程是锅里正在炒的"菜"

#os#process 3 个子节点 1 个前置
进阶
4
进程调度算法

进程调度(Process Scheduling)就是操作系统决定"下一个轮到谁用CPU"的策略——好的调度算法让系统响应快、吞吐高、公平不饿死

#os#scheduling 1 个前置
进阶
5
线程(Thread)与多线程

线程(Thread)是进程内的"轻量级执行流"——同一进程的多个线程共享内存空间,可以并行处理不同任务,就像厨房里多个厨师共用同一套厨具做不同的菜

#os#thread#concurrency 1 个子节点 1 个前置
进阶
6
上下文切换

上下文切换(Context Switch)是操作系统暂停当前进程、恢复另一个进程执行的过程——它让多任务成为可能,但也是不容忽视的性能开销

#os#context-switch 1 个前置
进阶
7
竞争条件与临界区

竞争条件(Race Condition)是多个线程同时访问共享数据时,执行顺序影响结果的"竞速"问题——是并发编程中最常见也最难调试的 Bug 来源

#os#concurrency#race-condition 1 个子节点 1 个前置
进阶
8
互斥锁与信号量

互斥锁(Mutex)是"一把钥匙开一把锁",信号量(Semaphore)是"限流栏杆"——它们是操作系统解决并发同步问题的两大经典工具

#os#concurrency#synchronization 2 个子节点 1 个前置
高级
9
经典同步问题

生产者-消费者、读者-写者、哲学家就餐——这三个经典问题是并发同步的"面试题",掌握它们就掌握了 Mutex、信号量和条件变量的实战用法

#os#concurrency#synchronization 1 个前置
高级
10
死锁(Deadlock)

死锁(Deadlock)是两个或多个线程互相等待对方释放资源,导致所有线程都无法继续执行的"僵局"——就像两个人面对面让路,你往左他往右,谁也过不去

#os#deadlock#concurrency 1 个前置
高级
11
内存地址空间(逻辑 vs 物理)

每个程序都以为自己独占全部内存——这是操作系统的"障眼法",通过逻辑地址(虚拟地址)和物理地址的分离,让每个程序拥有独立的地址空间

#os#memory#virtual-memory 1 个子节点 1 个前置
进阶
12
分页与页表

分页(Paging)是将内存划分为固定大小的"页"(Page/Frame),通过页表实现虚拟地址到物理地址的灵活映射——是现代操作系统内存管理的基石

#os#memory#paging 2 个子节点 1 个前置
高级
13
虚拟内存与页面置换

虚拟内存(Virtual Memory)让程序用比物理内存更大的地址空间——不常用的数据放在磁盘上,需要时再换进来,就像大学宿舍放不下的行李寄存到仓库

#os#memory#virtual-memory#page-replacement 1 个前置
高级
14
TLB 与内存映射

TLB(Translation Lookaside Buffer)是 CPU 内部的高速缓存,缓存最近使用的页表项——没有它,每次内存访问都要查 4 次页表,性能直接崩盘

#os#memory#tlb#mmu 1 个前置
高级
15
文件系统接口与实现

文件系统(File System)是操作系统中管理持久数据的模块——它把磁盘的原始扇区组织成文件和目录,让应用程序不用关心数据到底存在磁盘的哪个柱面

#os#file-system#storage 1 个子节点 1 个前置
进阶
16
目录结构与文件分配

目录(Directory)是文件系统中组织文件的"树形索引"——它把文件名映射到 inode,而文件分配策略决定了磁盘块如何分配给文件

#os#file-system#directory 1 个子节点 1 个前置
进阶
17
磁盘调度

磁盘调度(Disk Scheduling)是操作系统优化磁盘访问顺序的策略——减少磁头移动距离,也就减少了磁盘 I/O 的时间

#os#disk#scheduling#io 1 个前置
高级
18
I/O 硬件与驱动模型

设备驱动(Device Driver)是操作系统与硬件设备之间的"翻译官"——每种硬件设备都有自己独特的通信协议,而驱动程序把这些差异封装成统一的接口

#os#io#drivers#hardware 2 个子节点 1 个前置
进阶
19
中断处理

中断(Interrupt)是硬件通知 CPU 的"紧急信号"——键盘被按下了、网卡收到数据了、磁盘读完了,都通过中断通知 CPU 来处理

#os#interrupt#io 1 个子节点 1 个前置
高级
20
DMA(直接存储器访问)

DMA(Direct Memory Access)让硬件设备可以直接读写内存,不需要 CPU 参与每字节的数据搬运——是现代高速 I/O(网卡、磁盘、GPU)性能的基石

#os#dma#io 1 个前置
高级