(一)概述
操作系统是管理整个系统的软、硬件资源的系统,既是人和硬件之间的一种接口,也是应用软件与硬件之间的接口。
(二)进程管理
1.进程的状态
进程的状态是操作系统对进程进行管理的时候设置的几种状态,进程的状态有三种:
-
就绪:除了 CPU 资源,其它资源都已具备。
-
运行:具备所有资源,包含 CPU 资源。
-
等待:除了缺少 CPU 资源,还缺少其它起源。
2.前趋图
前趋图在考试中经常考到,往往和 PV 图结合起来考察。
3.进程的同步与互斥
进程的同步与互斥是进行 PV 操作的前提。注意:同步的反义词是异步,互斥的反义词是共享,所以同步与互斥并不是互为反义词。
-
进程的互斥:在同一时刻,只允许某一个进程使用该资源,即一个资源不能同时服务于多个进程。当一个进程占用了某个资源时,其它进程就不能使用该资源,就需要等待。
-
进程的同步:在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。
4.PV 操作
PV 操作是一种实现进程互斥与同步的有效方法。PV 操作与信号量的处理相关,P(Passeren)表示通过的意思,V(Vrijgeven)表示释放的意思。PV 操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为 0 时,表示期望的消息尚未产生;当信号量的值非 0 时,表示期望的消息已经存在。用 PV 操作实现进程同步时,调用 P 操作测试消息是否到达,调用 V 操作发送消息。
PV 操作在整个操作系统中是最难的一部分。
从上图中可以看出,P 操作可以阻塞进程,而 V 操作可以激活进程。
下图中,系统里面有两个进程,一个是生产者,一个是消费者。生产者进程为负责生产产品并将产品送到缓冲区,消费者进程为负责从缓冲区中取出产品并将其消费掉。题目中提到的单缓冲区,即只有一个缓冲区(市场)。接下来分别分析没有 PV 操作和有 PV 操作的情况:
(1)假设没有 PV 操作,即没有 P(S1)、P(S2)、V(S2)、V(S1)这些操作。如果首先执行一次生产者进程,即生产一个产品并将产品送到单缓冲区,然后继续执行一次生产者进程,即又生产了一个产品并将产品送到单缓冲区,但是由于单缓冲区已经满了(已经装了上一次生