处理机管理(进程管理)

一、进程互斥与同步及PV操作

(1)信号量sem是一个整数。

(2)当sem>=0时,代表可供并发进程使用的资源实体数。

(3)当sem<0时,代表正在等待状态的进程数。

(4)操作信号量的P操作和V操作,都是不可分割的原子操作,也称为原语。

 

(5)P(sem)操作的作用:将sem值减一;

         若sem值成为负数,则调用P操作的进程暂停执行,直到另一个进程对同一信号量sem做V操作。

       P(sem){

                sem - - ;

                if(sem<0)    进程进入等待状态;

               else  继续执行;

       }

 

(6)V(sem)操作的作用:将sem加一;

         若sem<=0,从与sem有关的进程队列中选择一个进程,唤醒它。

         V(sem){

                   sem + + ;

                  if(sem<=0)     唤醒队列中的一个等待进程;

                  else  继续执行;

        }

 

(7)进程互斥的作用:为了保护共享资源(如公共变量等),使它们不被多个进程同时访问,就要阻止这些进程同时执行访问这些资源的代码段,这些代码段被称为临界区,这些资源被称为临界资源。

 

(8)进程互斥的定义:保证临界资源在某一时刻只被一个进程访问(不允许 共享临界资源的 两个以上的 并发进程 同时 进入临界区)。

 

(9)进程互斥的实现:利用 P - V原语 和 公用信号量  解决进程互斥问题。互斥信号量的初值为一。

 

(10)进程同步的定义:(一个流水线)一组并发进程因直接制约而相互发送消息,进行互相合作、互相等待,使得各进程按一定的速度执行的过程。

(11)进程同步的实现:引入 私用信号量(私用信号量只与制约进程和被制约进程有关,而不是与整组并发进程相关),并为私用信号量赋初值,最后利用P - V原语 和 私用信号量规定各进程的执行顺序。

 

二、进程通信与管程

(1)进程通信:在进程间通信。

                                进程间的通信根据通信内容可以划分为两种:控制信息的传送和大批量数据的传送。

                                低级通信:控制信息的传送(比如:进程的互斥和同步是通过信号量进行通信来实现的)。

                                高级通信:大批量数据的传送。

                                 高级通信原语提供两种通信发方式:有缓冲区的和无缓冲区的通信。

(2)管程(管理过程)的定义:一个新的同步机制,一个由过程、变量及数据结构等组成的集合。

                                              (代表共享资源的)数据及(在其上操作的一组)过程就构成了管程。

                                             在任一时刻最多只有一个进程能够进入管程,其他的等待。

                                              管程使得进程之间的临界区互斥实现了自动化,臂信号量更容易保证并发进程的正确性。

 

 

你可能感兴趣的:(计算机基础知识)