| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 693 人关注过本帖
标题:[求助]求进程互斥C程序
只看楼主 加入收藏
ruanyap
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-7
收藏
 问题点数:0 回复次数:0 
[求助]求进程互斥C程序
一:[实验目的和要求]
用信号量来实现进程的同步与互斥。熟悉进程控制机制的主要数据结构设计及同步机构的通信机构的实施。要求设计一个程序:
(1) 能动态地模拟出A,B,C三进程互斥使用资源S1;
二:[实验预习要求]
(1) 能明确wait,signal的含义;
(2) 能明确进程同步,进程互斥的含义;理解和掌握同步,互斥的定义及概念。
三:[实验范例]
(1) 实验内容用wait,signal 来实现A,B,C进程之间的关系;
1.A,B,C三进程互斥访问资源S1;
2.A,B,二进程同步使用资源S2;

(2) 实验说明:
wait是原子操作;描述如下:
wait(s):while s>=0 do no-op;
s:=s-1;
signal是原子操作;描述如下:
signal(s):s:=s+1;
临界资源一次只允许一个进程使用,各进程对临界资源互斥操作。进程间的这种关系称为进程互斥;
为完成同一任务而相互进行合作的各个进程间的这种协同关系称为进程同步。
四:[问题描述及算法]
(1) 问题描述1及算法1
设资源S1属于临界资源,A,B,C三进程对它进行操作由随机数进行控制,随机产生1~3之间的随机数:
当随机数为1时,表明A进程要求使用资源;
当随机数为2时,表明B进程要求使用资源;
当随机数为3时,表明C进程要求使用资源;

算法如下:
(1) 设置标志位J,当J为0时,表明资源S1为空闲;当它为1时,表明资源S1为忙。
(2) 当一个进程要求访问资源S1时,当J为0时,可以直接使用;否则,不可以使用,并将资源S1释放。
(3) 做N次循环(N自己输入)。
五:[程序]

[此贴子已经被作者于2007-11-17 17:20:36编辑过]

搜索更多相关主题的帖子: 进程 
2007-11-17 16:36
快速回复:[求助]求进程互斥C程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018474 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved