实验三Linux进程的创建与控制一、实验目的(1)加深对进程概念的理解,明确进程和程序的区别。(2)进一步认识并发执行的实质。(3)分析进程竞争资源现象,学****解决进程互斥的方法。(4)了解Linux系统中进程通信的基本原理。二、,分析进程的创建过程。三、()调用,最后输出一个字符或字符串,运行此简单的程序,观察并分析运行结果。,使系统调用fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和字符“c”。观察纪录屏幕上的显示结果,并分析原因。,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因。如果在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。四、实验源程序(仅供参考)(){fork();fork();fork();printf(“S”);}查看运行结果并分析进程的创建和调用过程。#include<>main(){intp1,p2;while((p1=fork())==-1);/创建进程p1,创建成功后退出/if(p1==0)/CPU运行p1/putchar(…b?);/输出字符b/else{while((p1=fork())==-1);/创建进程p2,创建成功后退出/if(p1==0)putchar(…c?);elseputchar(…a?);/父进程执行/}}观察运行结果并分析原因。:#include<>main(){intp1,p2,i;while((p1=fork())==-1);if(p1==0)for(i=0;i<20;i++)printf(“Child%d\n”,i);else{while((p2=fork())==-1);if(p2==0)for(i=0;i<20;i++)printf(“Son%d\n”,i)elsefor(i=0;i<20;i
实验三+Linux进程的创建与控制 来自淘豆网www.taodocs.com转载请标明出处.