2万+  知识点  标题检索     全文检索
       进程间的通信
               同步与互斥
               同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。
               1)同步
               相互合作的进程需要在某些确定点上协调它们的工作,当一个进程到达这些点后,除非另一个进程已经完成某些操作;否则就不得不停下来等待这些操作结束。这就是进程间的同步。
               2)互斥
               在多道程序系统中,各进程可以共享各类资源,但有些资源一次只能供一个进程使用,称为临界资源。这就产生了进程间的间接制约问题——互斥。
               3)临界区管理的原则
               临界区是进程中对临界资源实施操作的那段程序。互斥临界区管理的原则是:有空即进,无空则登;有限等待,让权等待。
               信号量与P、V操作
               信号量机制主要有整型信号量、记录性信号量、信号量集机制。
               1)整型信号量与P、V操作
               信号量是一个整型变量,根据控制对象的不同赋予不同的值。信号量可分为以下两类。
               (1)公用信号量。实现进程间的互斥,初值为1或资源的数目。
               (2)私用信号量。实现进程间的同步,初值为0或某个正整数。
               信号量S的物理意义为:S≥0,表示某资源的可用数;S<0,其绝对值表示阻塞队列中等待该资源的进程数。P、V操作是实现进程同步与互斥的常用方法。
               P操作定义:S:=S-1,若S≥0,则执行P操作的进程继续执行;否则,若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。
               V操作定义:S:=S+1,若S>0,则执行V操作的进程继续执行;否则,若S≤0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行。
               2)利用P、V操作实现进程的互斥
               令信号量的初值为1,当进程进入临界区时执行P操作,退出临界区时执行V操作。则进入临界区的代码段如下。
               
               3)利用P、V操作实现进程的同步
               进程的同步是由于进程间合作而引起的相互制约问题。要实现进程的同步,可用一个信号量与消息联系起来。当信号量的值为0时表示消息未产生,当信号量的值为非0时表示希望的消息已经存在。假定用信号量S表示某条消息,进程可以通过调用P操作测试消息是否达到,调用V操作通知消息已经准备好。
               高级通信原语
               P、V操作是用来协调进程间关系的,编程较困难、效率低,通信对用户不透明,生产者每次只能向缓冲区放一个消息,消费者只能从缓冲区中取一个消息。所以交换的信息量多时要引入高级通信原语。进程高级通信的类型主要有以下几种。
               (1)共享存储系统。相互通信的进程共享某些数据结构或存储区,以实现进程之间的通信。
               (2)消息传递系统。进程间的数据交换以消息为单位,程序员直接利用系统提供的一组通信命令(原语)来实现通信,如Send(A)、Receive(A)。
               (3)管道通信。管道是指用于连接两个进程之间的一个打开的共享文件(pipe文件)。向管道(共享文件)提供输入的发送进程(即写进程),以字符流的形式将大量的数据送入管道;而接收进程可从管道的另一端接收大量的数据。由于通信时采用管道,所以叫管道通信。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2019 All Rights Reserved 软考在线版权所有