回 帖 发 新 帖 刷新版面

主题:求救操作系统课程设计题目进程通信,帮帮小弟吧

题目要求:请编程实现模拟至少三个以上的进程间的通信,要求进程通信方式采用间接通信方式。
    请大家帮帮小弟哦,明天就要交课程设计了哦,请会做的发到我的电子邮箱或者论坛上,谢谢! xiangxingquan@163.com

回复列表 (共3个回复)

沙发

很久没做过操作系统的题目了:现在试试,高手指教哦

假设三个进程A B C可以假设A为一个输入进程,B为一个计算进程,C为一个输出进程,
信号量分别为:sem1, sem2 ,sem3  初值分别为:1, 0, 0
执行流程:
A:begin;
   p(sem1)
     执行输入操作。。。。。。。。。。。。。。。。。。
     。。。。。。。。。。。。。。
   v(sem2)
A end 

B:begin;
   p(sem2)
   v(sem1)
     执行计算操作。。。。。。。。。。。。。。。。。。
     。。。。。。。。。。。。。。
   v(sem3)
B end 

c:begin;
   p(sem3)
      输出计算操作。。。。。。。。。。。。。。。。。。
     。。。。。。。。。。。。。。
   v(sem2)
C end 

















  

板凳

上面的仁兄,在给我写仔细点好不好?谢谢哈!!!

3 楼

现在是仔细了吧,
你把你要做的操作写上不就可以了么:
比如:
A:begin;
   p(sem1)    
     等待终端输入原始数据到缓冲区
   v(sem2)    //发出消息,通知B数据已经准备好,缓冲区满了
A end 

B:begin;
   p(sem2)
     从缓冲区取数据 
   v(sem1)  //通知A缓冲已经空
     计算数据送往输出缓冲区
   v(sem3)  //通知C输出缓冲区已经满,可以执行输出
B end 

c:begin;
   p(sem3)
      从输出缓冲区取数据,输出到终端设备
   v(sem2)  //通知B输出缓冲区空,
C end 

我来回复

您尚未登录,请登录后再回复。点此登录或注册