进程间通常需要相互通信,那么进程间是如何进行信息传递的呢?怎么确保多个进程在关键活动中不会出现交叉?怎样保证进行活动是按照想要的顺序执行的呢?
相关概念:
- 竞争条件:两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序。
- 临界区:对共享内存(数据)进行访问的程序片段。
- 优先级翻转:针对不同优先级的进程访问同意临界区,由于调度规则限定只要高优先级处于就绪状态就可以运行,若某一时间低优先级进程先行进入临界区,且尚未离开,此时高优先级处于就绪状态,由于低优先级不会再次被调度,高优先级进程将一直处于等待状态。