操作系统惠普测试171+实验2-进程的创建与控制实验(1)_第1页
操作系统惠普测试171+实验2-进程的创建与控制实验(1)_第2页
操作系统惠普测试171+实验2-进程的创建与控制实验(1)_第3页
操作系统惠普测试171+实验2-进程的创建与控制实验(1)_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论