下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统原理A实验报告学生姓名:陶浩 学号:22班级:惠普测试171实验名称:实验2进程的创建与控制 实验指导教师:葛艳(一)进程的创建一、实验目的1 .加深对进程、进程树等概念的理解。2,进一步明确进程和程序的区别。3 .理解进程并发执行的实质。4 .掌握Linux系统中进程的创建方法及并发执行情况。二、实验内容1 .运行给定参考程序(P31页),把运行结果截图。分析fork。创建子进程的要点。2 .运行下面的程序,把运行结果截图。分析“ printf(w fork 1 , PID=%dn”,getpid();"为什么会被执行两次。mainO int pl, p2;pl=fork(
2、);>- taohaotaohao-PC: -/Desktop +r*fork1.c*/include <sys/types.h>include <sys/wait.h>include <unistd.h>include <stdio.h>include <string.h> iain()int p,x,ppid,pid;x=0;p=fork();if(p>0)/如果是父进程*/ wait(O); /父进程等待子进程运行结束 prinif("parent output x=%dn”,十+x); pid=getpi
3、d(); 获取进程自身的ID号 printf("Thi id number of parent is:pid=%dnHrpid); printf("In the parent: p=%dn"/p);else/如果是子进程*/printf("child output x=%dn",+x); pid=getpid();printf("Thi id number of child is:pid=%dn",pid); ppid=getppid(); /获取父进程的ID号printf("Thi id number of pa
4、rent is: ppid=%dn,' ,ppid); printf("In the child: :p=%dn",p);taohao(a)taohao-PC: /Desktoptaohdotdohjo-PC: "Desktop* gcc forkl.c -o forkitaoha曲:aohjoPC: "Desktop* . /forklchild output x=1Thi id number of child is:pid=6279Thi id number of parent is:ppid=6278In the child: :p=0 p
5、arent output x=1Thi id number of parent is:pid=6278:行下面In the parent: p=6279 taohaotaohao-PC:/Desktop$的程序,把运行结果截图。分析“printf(" fork L PID=%dn ",getpidO); "为什么会 被执行两次。taohaotaohao-PC; -/Desktop/osLearning +include<stdio.h>include<unistd.h>include<string.h>include<sy
6、s/types.h> nain()|int plrp2;p1=fork();printf("fork 1,P1D=%dn",getpid();if(p1>0)p2-fork();if(p2=0)printf(''fork 2/PID=%dn" fgetpid();)elseprintf ( "fork 3/PID=%dn,1 ,getpid();sleep(50);th.c11 17L. 333C占 taohaotaohao-PC: -/Desktop/osLeaming +taohao§taohao-PC:/Des
7、ktop/osLearning$ g+ th.c -o th taohaotaohao-PC:-/Desktop/os Lea rning$ ./thfork 1rPID=10821fork 1rPID=10822fork 3rPID=10822fork 2rPID=10823分析:pl二fork。;生成一个父进程和一个子进程,父进程和子进程重复执行所以 printf (w fork L PID=%dn ", getpidO);执行了两次。3.编写一段程序,使用系统调用fork。创建一个子进程。子进程输出fork。返回值,获 取并输出父进程的ID号。父进程等待子进程运行结束后,输出f
8、ork。返回值,获取并输出 自己的ID号。(要求把程序调试和运行结果截图)taohaotaohao-PC: /Desktop/osLearning 十#include<stdio.h>#include<sys/types.h>#include<unistd.h>#include<string.h>#include<sys/wait-h> main()int p,ppid,pid;p=fork();if(p>0)wait(O);pid«getpid();printf("父进程自身的 ID:%dn",p
9、id);printf( "fork返回值:%dnn #p);elseprintfC1子进程输出fork返回值:%dn'p); ppid=getppid();print¥("输出父进程的 ID号:%dn"fppid); "forkS.c" 21Lr 439C>- taohaotaohao-PC: -/Desktop/osLearning +taohaotaohao-PC:-/Desktop/osLearning$ g+ fork3.c -o fork3taohaotaohao-PC;-/Desktop/osLearning$ ./fork3子进程输出fork返回值:0输出父进程的ID号:19051父进程自身的ID:19051fork返回值;19052taohaotaohao-PC:-/Desktop/osLearningl |关键词:进程:进程就是指一个程序的运行过程,进程和线程类似有着
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 飞行器制造综合课程设计
- 2025年个人股份转让及后续服务合同协议书4篇
- 二零二五年度民间借贷授权委托法律事务专项合同4篇
- 专项施工方案审批
- 年度家用制冷电器具竞争策略分析报告
- 2025年度综合开发项目代建合同标准文本4篇
- 2024年心理咨询师题库附参考答案(达标题)
- 2025年水电工程自动化控制系统安装合同4篇
- 二零二五版苗圃技术员智慧苗圃建设与运营管理合同4篇
- 环氧防滑坡道施工方案
- 中外美术史试题及答案
- 工会换届公示文件模板
- 江苏省南京市协同体七校2024-2025学年高三上学期期中联合考试英语试题答案
- 青岛版二年级下册三位数加减三位数竖式计算题200道及答案
- GB/T 12723-2024单位产品能源消耗限额编制通则
- GB/T 16288-2024塑料制品的标志
- 麻风病防治知识课件
- 干部职级晋升积分制管理办法
- TSG ZF003-2011《爆破片装置安全技术监察规程》
- 2024年代理记账工作总结6篇
- 电气工程预算实例:清单与计价样本
评论
0/150
提交评论