



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北师范大学计算机科学与工程学院学生实验报告学 号专业计算机科学与技术姓名课程名称操作系统实验班级2011级计师(1)班实验名称实验五 进程通信课程类型必修类一实验目的:(1)了解Linux系统中进程通信的基本原理;(2)了解和掌握管道通信机制;(3)了解和熟悉消息通信机制、共享存储区机制以及信号通信机制。二实验内容1. 编写一段程序,实现进程的管道通信。 使用系统调用pipe( )建立一条管道,创建两个子进程P1和P2。 让P1和P2分别向管道各写一句话: Child 1 is sending a message! Child 2 is sending a message! 父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。 要求父进程先接受子进程P1发来的消息,然后再接受子进程P2发来的消息。2. 消息的创建、发送和接受。使用系统调用msgget( )、msgsnd( )、msgrev( )及msgctl()编制一长度为1K的消息的发送和接受程序。3. 共享存储区的创建、附接和断接。(选做) 使用系统调用shmget( )、shmat( )、shmdt( )及shmctl()编制一个与上述功能相同的程序。4. 编制一段程序,使其实现进程的软中断通信。(选做)创建两个子进程,让父进程捕捉键盘上来的中断信号(即“ctrl+C”),当捕捉到信号后,父进程使用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止 Child process 1 is killed! Child process 2 is killed! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent process is killed!三程序示例管道通信源代码:#include #include #include Int pid1,pid2;Main()Int fd2;Char outpipe100,inpipe100;Pipe(fd);While (pid1=fork()=-1;If (pid1=0)Printf(“child 1 will going on!n”);Lockf(fd1,1,0);Sprintf(outpipe,”child 1 process is sending message!”);Write(fd1,outpipe,50);Sleep(5);Lockf(fd1,0,0);Exit(0);ElseWhile (pid2=fork()=-1;If (pid2=0)Printf(“child 2 will going on!n”);Lockf(fd1,1,0);Sprintf(outpipe,”child 2 process is sending message!”);Write(fd1,outpipe,50);Sleep(5);Lockf(fd1,0,0);Exit(0);ElseWait(0);Read(fd0,inpipe,50);Printf(“%sn”,inpipe);Wait(0);Read(fd0,inpipe,50);Printf(“%sn”,inpipe);Exit(0);四. 分析分析实验结果功能:使用系统调用pipe()建立一条管道线,两个子进程p1和p2分别向管道各写一句话,而父进程从管道中读出来自于两个子进程的信息,显示在屏幕上。说明:Lockf(files,function,size)用作锁定文件的某些段或整个文件。其中:files是文件描述符,function是锁定和解锁(1表示锁定;0表示解锁),size是锁定和解锁的字节数,若为0,则表示从文件的当前位置到文件尾。实验结果:Child 1 will going on! Child 2 will going on! Child 1 process is sending message! Child 2 process is sending message!五、实验总
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 狂犬病防治知识课件
- 恩施物业整改工程方案(3篇)
- 磴口工程空气治理方案(3篇)
- 江苏省宿迁市2025年中考化学真题试卷附真题答案
- 安全教育大培训大计划课件
- 昆山语文面试题库及答案
- 科研单位面试题库及答案
- 长尾词视角下2025年页岩气开采技术环境影响深度解析
- 安全教育培训讲解课件
- 2025年氢能重卡商业化运营经济效益评估报告
- 新概念英语第一册知识点
- 高大模板安全施工施工方法及工艺要求
- 个人代持协议书
- 电力现货实战型交易策略分析
- 游戏交互设计趋势
- 滋养生命的水(教案)2023-2024学年综合实践活动六年级上册 长春版
- 便利店委托运营协议
- 栾川县潭头金矿有限公司金矿矿山地质环境保护与土地复垦方案
- “干股分红协议书”适用于品牌代理商
- 中国电影发展史简介
- 储能系统售后服务方案
评论
0/150
提交评论