操作系统

如何管理计算机、多任务、资源冲突、虚拟化

CPU 时间片轮转 (Time Slicing)

CPU 在多个进程间快速切换,让每个进程"以为"独占 CPU

t=0 t=100 t=200 t=300 t=400 t=500
当前运行: 进程 A
进程状态转换
就绪
运行
阻塞

就绪: 等待 CPU | 运行: 正在使用 CPU | 阻阻: 等待 I/O

虚拟内存管理 (MMU)

虚拟地址 → 物理地址转换,实现进程间内存隔离

虚拟地址空间

0x1000: 堆
0x2000: 栈
0x3000: 代码
0x4000: 数据
MMU

地址转换

页表查找

物理内存

页框 1
页框 2
页框 3
页框 4
进程抽象

进程 = CPU 时间 + 内存区域 + 资源

⏱️

CPU 上下文

寄存器状态
程序计数器

💾

内存区域

代码段
数据段
堆栈

📁

打开的文件

文件描述符
I/O 状态

🔗

进程 ID

唯一标识
父子关系

系统中断处理

硬件或软件事件需要 CPU 立即响应

中断机制

时钟中断、I/O 完成、系统调用、硬件故障