实验5 利用信号量实现进程互斥

【实验目的】

  1. 理解互斥概念、信号量机制及信号量结构;
  2. 掌握信号量的使用方法;
  3. 掌握PV操作的定义;
  4. 掌握PV操作实现互斥的方法。

【实验环境】VMware Workstation、RedHat

【实验步骤】

一、父子进程以非互斥方式共享访问临界资源

  1. 创建父子进程,父子进程共享一个临界资源,每个进程循环进入该临界区3次;父进程每次进入临界区后显示“parent in”,出临界区显示“parent out”。
  2. 子进程每次进入临界区后显示“child in”,出临界区显示“child out”。

3.观察执行结果。

二、PV操作实现进程互斥。以实验步骤一为基础,增加PV操作,实现父子进程互斥访问临界区。

  1. 定义与PV操作相关的数据结构;
  2. 定义信号量,给信号量赋值;
  3. 定义PV操作;
  4. PV操作实现进程互斥。

4.观察执行结果,并与实验步骤一的结果比较。 

 

比较:实验步骤一父子进程访问临界资源时是无序的,可出现同时访问、交替访问、同时退出临界资源的现象;实验步骤二只能是父进程退出后子进程才能访问。

【实验报告】  

填写《信息技术学院学生上机实验报告》。

【思考题】

  1. 实验步骤一的结果说明什么?

答:实验步骤一父子进程访问临界资源时是无序的,可出现同时访问、交替访问、同时退出临界资源的现象,是以非互斥的方式共享访问临界资源。

     2. P、V操作在各进程代码中的位置应该如何处理?

答:临界区前用P操作实现资源的申请,临界区后用V操作实现资源的释放。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值