第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

进程的状态

第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥
第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

状态的切换(五状态模型)

第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

状态的切换(七状态模型)

第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥
如果处于就绪态的进程,内存不够用,就把他暂时调到外存中,便有了就绪挂起状态,**后又能重新调用内存。处于阻塞态的进程也能被挂起。
第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

进程控制

概念

进程控制就是要实现进程状态的切换
第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥
第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥
如果进程状态的切换并没有修改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终于跳出循环,进入了临界区。
第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

总结

第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

硬件实现方法

中断屏蔽方法

第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

TS指令

第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

Swap指令

第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

小结

第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥