天天看点

操作系统代码

程序2、

#include<stdio.h>

main()

{

int p1,p2;

while((p1=fork())= =-1);    

if(p1= =0)        

        printf(“b.My process ID is %d”,getpid());

else

{

while((p2=fork())= =-1);    

if(p2==0)                

        printf(“c.My process ID is %d”,getpid());

else printf(“a.My process ID is %d”,getpid());        

}

}

1、写出程序的运行结果,并分析为什么会得到这样的结果。

2、画出程序执行的进程树并在相应的进程节点上标出进程号

程序3、

main()

{int m,n,k;

m=fork();

printf("PID:%d\t",getpid());

printf("The return value of fork():%d\t\t",m);

printf("he\n");

n=fork();

printf("PID:%d\t",getpid());

printf("The return value of fork():%d\t\t",n);

printf("ha\n");

k=fork();

printf("PID:%d\t",getpid());

printf("The return value of fork():%d\t\t",k);

printf("ho\n");

}

程序4、

#include<stdio.h>

main()

{

int p1,p2,i;

while((pl=fork())= =-1);

if(pl= =0)

for(i=0;i<50000;i++)

printf("son%d\n”,i);

else

{

while((p2=fork())= =-1);

if(p2= =0)

for(i=0;i<50000;i++)

printf("daughter%d\n”,i);

else

for(i=0,i<50000;i++)

printf("parent%d\n)”,i);

}

继续阅读