进程状态转换图
进程被指定为几种状态:
1、运行态:这个进程需要的所有资源都已经准备好了,并且给予了CPU资源,这个时候这个进程就属于运行态
2、就绪态:这个进程所有的资源都准备好了,但是还缺少CPU资源.
3、等待态:除了缺少CPU资源,还缺少其他资源,比如和外设的交互或者用户的指令.
前趋图
通过前趋图可以清楚的认识到任务的先后顺序,哪些任务需要先做,哪些任务需要在完成某些任务的前提下才能做,哪些任务可以并行完成
进程的同步与互斥
互斥:该资源同一时间只允许一个进程去使用,当一个进程使用该资源时,其他进程需要等待.
同步:有速度匹配的要求,当俩个进程有一个速度快的,当进度比速度慢的进度快一段后,速度快的要等待那个速度慢的
生产者将产品放入市场,市场满了之后无法再向其中放入产品,这就是互斥,只有当消费者消费了该产品,市场不是满足的,生产者再生产物品放入市场,生产者需要等待消费者先购买产品才能再将产品放入市场,这就是同步
PV操作
当信号量s大于0时,信号量代表当前可用资源的数量,当小于0时,信号量的绝对值代表等待使用该资源的进程数目
P操作是通行操作,用于判断是否有资源来执行进程,如果已没有可用资源,就先将进程放入进程等待队列中,有可用资源就直接继续执行
V操作是释放操作,用于判断进程队列中是否有等待执行进程,如果有等待进程,就调用进程等待队列中的进程,否则继续执行
PV操作是为了解决并发进程中可能会引发的错误异常问题.