全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一进程的创建与并发执行一、 实验目的(1) 熟悉Linux工作环境和GCC工具(2) 加深对进程概念的理解,明确进程和程序的区别(3) 进一步认识并发进程的实质和特征二、 实验器材微型计算机、Ubuntu版本的Linux系统三、 实验内容任务1:进程创建编写一段程序,让父进程产生两个子进程,父进程显示字符“a”、两个子进程,分别显示字符“b”、“c”。运行程序,观察并分析运行结果。程序源代码如下:#include main() int p1, p2;while(p1=fork()=-1);/父进程创建第一个进程,直到成功if(p1=0)/0返回给子进程1putchar(b);/P1的处理进程else/正数返回给父进程(子进程号)while(p2=fork()=-1);/父进程创建第二个进程,直到成功if(p2=0)/0返回给子进程2putchar(c);/P2的处理过程elseputchar(a);/P2创建完成后,父进程的处理过程程序运行截图如下:程序运行结果分析:首先进程main作为父进程创建第一个进程p1,此时存在p1和main两个进程,分别为父进程和子进程,所以它们的p1分别为大于0和等于0。这两个进程分别执行下面的if函数体。当子进程执行时,打印出50000次childA;当父进程执行时,又创建了一个新的子进程p2,接下去的执行和原先的p1和main进程相同。所以最终系统中存在了4个进程,其中一个进程为终端,另外3个进程分别打印属于自己的内容。任务2:将上述的输出字符改为输出较长的字符串,观察进程并发执行,分析执行结果。程序源代码如下:#include main()int p1, p2, i;while (p1=fork()=-1); /父进程创建第一个进程,直到成功if (p1=0)for (i=0;i50000;i+) printf(childA%dn,i);else while (p2=fork()=-1); /父进程创建第二个进程,直到成功if (p2=0) for (i=0;i50000;i+) printf(childB%dn,i);else /P2创建完成后,父进程的处理过程for (i=0;i50000;i+) printf(parent%dn,i);程序运行结果截图如下:运行结果分析:首先进程main作为父进程创建第一个进程p1,此时存在p1和main两个进程,分别为父进程和子进程,所以它们的p1分别为大于0和等于0。这两个进程分别执行下面的if函数体。当子进程执行时,打印出50000次childA;当父进程执行时,又创建了一个新的子进程p2,接下去的执行和原先的p1和main进程相同。所以最终系统中存在了4个进程,其中一个进程为终端,另外3个进程分别打印属于自己的内容。四、 思考题解答(包括需要改写的程序的源码及适当注释)1. 当新创建进程开始执行时,指令指针的起始位置在哪里?答:创建新进程之后,此时有main和p1两个进程,它们分别根据他们是子进程还是父进程执行不同的if函数体,所以指令指针的起始位置在“if(p1=0)”这一句。2. 如果将任务1改为:编写一段程序,让父进程创建一个子进程,然后父进程显示字符“a”;子进程创建一个子子进程,然后显示字符“b”;子子进程显示字符“c”。如何改写源程序?(实验报告上给出完整的源码,并在机器上运行。)答:修改后的源代码如下:#include main() int p1, p2;while(p1=fork()=-1);/父进程创建一个子进程,直到成功if(p1=0)/0返回给子进程/P1的处理过程while(p2=fork()=-1);/子进程创建子子进程,直到成功if(p2=0)p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年下半年北京市朝阳区规范管理事业单位招聘笔试易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年内蒙古鄂尔多斯市党群部门所属事业单位招聘38人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年内蒙古巴彦淖尔市事业单位招考考试(220人)易考易错模拟试题(共500题)试卷后附参考答案
- 2025教育安全考试标准试题及答案
- 2025年辽宁省社会化工会工作者招聘考试(申论)历年参考题库含答案详解
- 仓储风险识别模型-洞察与解读
- 空调能耗优化-洞察与解读
- 管网巡检机器人应用-洞察与解读
- 2025年化工行业化工设备工程师设备维修考试题目及答案
- 2025年全国保密教育线上培训考试试题库及参考答案满分必刷
- 海关编码归类培训
- (完整版)社区网格员笔试考试题库(附答案)
- 2025年高一语文期中模拟试卷(含答案)
- 2025四川省亭子口灌区建设开发有限公司招聘人才15人笔试历年参考题库附带答案详解
- 2025广东广州市海珠区凤阳街道第四批招聘雇员5人考试笔试模拟试题及答案解析
- 营盘山隧道施工方案设计
- 2025至2030中国电站建设行业市场深度调研及投资策略及有效策略与实施路径评估报告
- 2026年广西现代职业技术学院单招职业技能考试必刷测试卷及答案1套
- 砌筑抹灰升降平台专项施工方案
- 中学生宿舍楼施工组织设计
- 医院地震知识培训内容课件
评论
0/150
提交评论