操作系统的进程管理内容
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,则其绝对值表示阻塞队列中等待该资源的进程数。
网友评论