烟台大学计算机学院
操作系统
实验报告书
班级:计114-3班
学号:
日期:2013-6-7
《计算机操作系统》实验报告
、实验内容
()进程的管道通信
二、实验目的
加深对进程概念的理解,明确进程和程序的
烟台大学计算机学院
操作系统
实验报告书
班级:计114-3班
学号:
日期:2013-6-7
《计算机操作系统》实验报告
、实验内容
()进程的管道通信
二、实验目的
加深对进程概念的理解,明确进程和程序的区别。
进一步认识并发执行的实质。
分析进程竞争资源现象,学习解决进程互斥的方法。
了解Linux系统中进程通信的基本原理。
一、实验题目
编制一段程序,实现进程的管道通信。使用系统调用pipe()建立一条管道线。两个子进程p1和p2分 别向通道个写一句话:
child1 process is sending message!
child2 process is sending message!
而父进程则从管道中读出来自两个进程的信息,显示在屏幕上。
四、设计思路和流程图
五、源程序:
#include <>
#include <>
#include <>
#include ""
int pid1,pid2;
main()
{
int fd⑵;
char outpipe[100]9inpipe[1O0];
pipe(fd);
while ((pid1=fork( ))==-1);
if(pid1==0)
{ lockf(fd[1],1,0);
sprintf(outpipe,"child 1 process is sending message!");
/*把串放入数组outpipe中*/
write(fd[1],outpipe,50); /*向管道写长为50字节的串*/
sleep(5); /*自
操作系统实验二(4)实验报告 来自淘豆网m.daumloan.com转载请标明出处.