下载此文档

操作系统实验二实验报告.docx


文档分类:高等教育 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
操作系统实验二实验报告基本信息 实验题目线程和进/ 线程管道通信实验 完***王召德 报告日期 2015- 4-9 实验内容简要描述 实验目标通过 Linux 系统中线程和管道通信机制的实验, 加深对于线程控制和管道通信概念的理解, 观察和体验并发进/ 线程间的通信和协作的效果, 练****利用无名管道进行进/ 线程间通信的编程和调试技术。 实验要求设有二元函数 f(x,y) = f(x) + f(y) 其中: f(x) = f(x-1) *x (x >1) f(x)=1 (x=1) f(y) = f(y-1) + f(y-2) (y> 2) f(y)=1 (y=1,2) 请编程建立 3 个并发协作进程,它们分别完成 f(x,y) 、 f(x) 、 f(y) 实验的软硬件环境 intelPC 报告的主要内容 实验的思路根据上面例子提示, 建立一个进程并生成两个子进程, 分别把 x,y 通过管道通信传递给子进程 1 和子进程 2, 子进程 1 计算出 f(x) 回传给父进程, 子进程 2 计算出 f (y) 回传给父进程, 父进程对 f(x),f(y) 求和得到 f (x,y) 实验模型的描述无 主要数据结构的分析说明无 主要算法代码的分析说明无 项目管理文件的说明无实验过程和结果 实验投入的实际学时数 1 学时 调试排错过程的记录在调试过程中, 两个子进程 id 搞错导致发送数据错误 多种方式测试结果的记录 实验结果的分析综合无实验的总结根据实验可以发现进程间可以通过通信协作完成任务;进程协作可以通过共享内存和消息传递的方式通信,此实验通过消息传递的方式进行通信,其特征是通信过程是同步的。进程通信是通过管道进行通信, 管道是采用阻塞机制, 一方发送未被读取便产生阻塞, 一方接受时管道没有信息则产生阻塞,从而达到同步。附录程序源代码#include <> #include <> #include <> int f(int a); int g(int b); int main(int argc, char *argv[]) { int x,y; printf(" 请输入 x,y 的值: \n"); scanf("%d,%d",&x,&y); int pid1,pid2; int pipe1[2]; // 存放第一个无名管道标号 int pipe2[2]; // 存放第二个无名管道标号 int pipe3[2]; // 存放第三个无名管道标号 int pipe4[2]; // 存放第四个无名管道标号// 存放要传递的整数// 使用 pipe() 系统调用建立两个无名管道。建立不成功程序退出, 执行终止 if(pipe(pipe1) < 0){ perror("pipe not create"); exit(EXIT_FAILURE); } if(pipe(pipe2) < 0){ perror("pipe not create"); exit(EXIT_FAILURE); } if(pipe(pipe3) < 0){ perror("pipe not create"); exi

操作系统实验二实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人012luyin
  • 文件大小0 KB
  • 时间2016-07-10