美文网首页
操作系统|前驱图中的PV操作

操作系统|前驱图中的PV操作

作者: 小青多多 | 来源:发表于2022-04-15 23:57 被阅读0次

操作系统的进程管理内容

PV操作是实现进程同步与互斥的常用方法。

P操作的定义:S=S-1,如S>=0,则执行P操作的进程继续执行;如S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。

V操作的定义:S=S+1,如S>0,则执行V操作的进程继续执行;如S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。

PV操作控制进程的并发执行时,在前驱图中,一条路径对应一个信号量,在路径的源端进程中,应该对与该路径对应的信号量做V操作,而在路径的终端进程中,应该对与该路径对应的信号量做P操作。 

备注:

1)进程的状态有:运行、就绪和阻塞。

2)进程的同步:是指在系统中一些需要互相合作,协同工作的进程。

3)进程的互斥:是指系统中多个进程因争用临界资源而互斥执行。(临界资源是指这个资源一次只能供一个进程使用,如打印机)

4)前驱图是一个有向无循环图,由结点和有向边组成,结点代表各程序段的操作,而结点间的有向边标识两个程序段操作之间存在的前驱关系。如P1→P2,则P1是P2的前驱,P2是P1的后继,P1执行结束后P2才能执行。

5)信号量是一个整型变量,根据控制对象的不同被赋予不同的值。

公用信号量:实现进程间的互斥,初值为1或资源的数目。

私用信号量:实现进程间的同步,初值为0或某个正整数。

信号量S的物理含义:S>=0表示某资源的可用数,若S<0,则其绝对值表示阻塞队列中等待该资源的进程数。

相关文章

网友评论

      本文标题:操作系统|前驱图中的PV操作

      本文链接:https://www.haomeiwen.com/subject/didcertx.html