计算机操作系统面试知识点整理 联系客服

发布时间 : 星期五 文章计算机操作系统面试知识点整理更新完毕开始阅读

6.进程同步

★同步:把异步环境下的一组并发进程,因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。 用wait(消息名)表示进程等待合作进程发来的消息. 功能:等待到消息名为true的进程继续执行。 用signal(消息名)表示向合作进程发送消息 功能:发送消息名,并将其值置为true。

利用过程wait和singnal描述计算进程Pc和打印进程Pp的同步关系

(1) 设消息名Bufempty表示buf为空,消息名Buffull表示Buf中装满了数据。 (2) 初始化Bufempty=true,Buffull=false.。 (3) 描述: Pc :

A:wait(Bufempty) 计算

Buf 计算结果 Bufempty false signal(Buffull) Goto A

Pp :

B:wait(Bufful) 打印Buf中的数据 清除Buf中的数据 Bufful false signal(Bufempty) Goto B

★私有信号量(private Semaphore):进程同步的信号量只与制约进程及被制约进程有关而不是与整组并发进程有关。因此该信号量称为私有信号量。 ★用P,V原语操作实现同步

首先,为各并发进程设置私有信号量, 然后,为私有信号量赋初值,

最后,利用P,V原语和私有信号量规定各进程的执行顺序。

例:设进程Pa和Pb通过缓冲区队列传递数据。Pa为发送进程,Pb为接收进程。Pa发送数据时调用发送过程deposit(data),Pb接受数据时调用过程remove(data),且数据的发送和接受过程满足如下条件:

(1)在

★7.生产者与消费者问题

对于生产者进程:产生一个数据,当要送入缓冲区时,要检查缓冲区是否已满,若未满,则可将数据送入缓冲区,并通知消费者进程;否则,等待;

对于消费者进程:当它去取数据时,要看缓冲区中是否有数据可取,若有则取走一个数据,并通知生产者进程,否则,等待。

这种相互等待,并互通信息就是典型的进程同步。

同时,缓冲区是个临界资源,因此,诸进程对缓冲区的操作程序是一个共享临界区,因此,还有个互斥的问题。

8.进程通信

通信(communication)意味着进程间传递数据。操作系统可以看作是各种进程组成的,这些进程都具有各自独立的功能,且大多数都被外部需要而启动执行。 在单机系统中进程的通信有4种形式: (1)主从式 (2)会话式 (3)消息或邮箱机制 (4)共享存储区方式 会话方式的特点:

(1)使用进程在使用服务进程所提供的服务之前,必须得到服务进程的许可。

(2)服务进程根据使用进程的要求提供服务,但对所提供服务的控制由服务进程自身完成。 (3)使用进程和服务进程在进行通信时有固定连接关系。 消息或邮箱机制的特点是:

(1)只要存在空缓冲区或邮箱,发送进程就可以发送消息。 (2)与会话系统不同,发送进程和接受进程之间无直接联接关系。