![](https://csdnimg.cn/release/download_crawler_static/86285830/bg1.jpg)
1
实验四 进程通信
学号:
19020011038
姓名: 岳宇轩 年级:
2019
一.PIPE 系统调用的基本使用方法
1.
具体要求与步骤
1)
编写一
C/C++
语言程序(程序名为
basicpipe.c/basicpipe.cpp
),使用系统
调用
pipe()
实现基本的消息传递。
2)
多次连续反复运行这个程序,观察屏幕显示结果,试简单分析其原因。
3)
可以使用实验报告模板中所推荐的代码实现,但是要求为代码添加注释,
对代码关键逻辑步骤进行解释。在代码头部添加如代码
1
所示式样的头
部版权声明。使用星号、井号、等号、破折号等各类符号对版权声明添
加边框,并拼出
19os
的式样。
2.
实验结果截图
结果分析:
程序中有两个进程:父进程和子进程。
子进程从管道的
filedes[0]
端读出缓冲区大小的内容,写入到缓冲
区中并且调用屏幕打印
IO
进行输出;
父进程先管道
filedes[1]
端写入一个字符串;
经过多次的尝试,程序只有结果所示的一种结果顺序,即:父进
程先获得处理机,向管道写入了一个字符串;子进程获得处理机
后从管道读出字符串到缓冲区并且输出;结果如图
2
所示。
还有另外一种输出顺序,我在父进程输出“
This is in the father
process,here write a string to the pipe
”之前加一句
sleep(2)
,模仿
子进程先获得处理机的场景。结果是:子进程先获得处理机资源,
评论0