第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥
进程的状态
状态的切换(五状态模型)
状态的切换(七状态模型)
如果处于就绪态的进程,内存不够用,就把他暂时调到外存中,便有了就绪挂起状态,**后又能重新调用内存。处于阻塞态的进程也能被挂起。
进程控制
概念
进程控制就是要实现进程状态的切换
如果进程状态的切换并没有修改PCB的状态标志,会导致系统错误,因为PCB所处的队列与状态标志要一样。
原语操作
进程通信
概念
共享存储
管道通信
消息传递
进程同步和互斥
同步的概念
进程的异步性是指各并发执行的进程以各自独立的、不可预知的速度向前推进。
互斥的概念
程序的并发需要共享。
进程互斥的实现方法
软件实现方法
单标志法
如果turn的值一直保持为0,却不进入临界区呢?p1永远不能进入临界区
双标志先检查法
双标志后检查法
peterson算法
123678……执行。
执行123.假设p0想进入临界区,但是turn=1,p0谦让给p1,下一步while循环(如果对方想进入临界区并且你已经谦让了),就一直循环下去,直到时间片用完,切换到p1进程。
执行678。p1想进入临界区,turn=0谦让给p0,p1进入循环直到时间片用完切换到p0,这时p0循环的条件变了while(flag[1]&&turn==0),p0终于跳出循环,进入了临界区。