- 操作系统
-
进程同步:某种时序关系,伙伴进程
- 生产者/消费者问题(有界缓冲区问题):满加数据、空移数据
- 避免忙等待:等待与睡眠
- 例子:spooling系统
-
信号量及PV操作
- 一个特殊的变量,用于进程间传递信息的一个整数值。
- semaphore s
- 对信号量可以实施的操作:初始化、P和V(test 和 increment)
- P对信号量值减1,判断是否小于0,若生产则为阻塞态 等待队列末尾 重新调度
- V对信号量值加1,若小于等于0,则唤醒一个进程,改为就绪态
- 用PV操作解决互斥
- 划定临界区后,设置信号量mutex = 1,再临界区前P,在临界区后V
-
用信号量解决生产者/消费者问题
- 顺序和位置:P不可点掉,若颠倒会出现死锁;V可以颠倒不会出错,但是会多运行几步;所以不需要在临界区做的事尽量不要再临界区执行
-
用信号量解决读者/写者问题
-
[STUDY VLOG] 勉強風景 #12
最新推荐文章于 2020-04-21 19:13:14 发布