1. 进程基础概念
- 进程定义:程序执行的动态实例(PCB+程序+数据)
- 进程状态转换:就绪↔运行↔阻塞(附三态/五态转换图)
- 进程控制块(PCB):含PID、寄存器值、状态标识等
2. 调度算法(重点!)
算法类型 | 核心特点 | 典型场景 |
---|---|---|
先来先服务(FCFS) | 非抢占式,长进程导致饥饿 | 早期批处理系统 |
短作业优先(SJF) | 追求最小平均等待时间 | 任务时长可预测场景 |
时间片轮转(RR) | 公平性优先,频繁上下文切换 | 分时操作系统 |
多级反馈队列 | 动态优先级调整 | 现代通用操作系统 |
3. 进程同步与通信
- 经典问题:生产者-消费者、读写者、哲学家就餐问题
- 同步工具:信号量(Semaphore)、管程(Monitor)、互斥锁
- 通信机制:共享内存、管道、消息队列
4. 死锁专题
- 四大必要条件:互斥、请求与保持、不可抢占、循环等待
- 处理策略:预防/避免(银行家算法)/检测+解除
典型练习题(带※为重点题)
基础概念
- 进程与线程的核心区别是什么?※
- PCB中必须包含哪些关键信息?
- 画图说明进程的五状态模型(含创建/终止状态)※
调度计算
- 给定进程到达时间和服务时间:
P1(0,6) P2(2,4) P3(4,2) P4(6,8)
计算FCFS/SJF/RR(q=4)的平均等待时间 ※
同步问题
- 用信号量实现生产者-消费者问题的伪代码 ※
- 分析哲学家就餐问题中:
a) 使用单信号量的缺陷
b) AND型信号量解决方案
死锁应用题
- 当前资源分配矩阵如下,系统剩余资源R=[2]:
进程 最大需求 已分配 P1 5 2 P2 8 4 此时P3请求1个资源,是否安全?※