一、实验目的
(1)加深对进程概念的理解,明确进程和程序的区别。
(2)进一步认识并发执行的实质。
(3)分析进程争用资源的现象,学习解决进程互斥的方法。
二、实验内容和步骤
1、Liunx文件与目录操作
显示文件目录命令ls
改变当前目录命令cd
建立子目录mkdir
删除子目录命令rmdir
删除文件命令rm
文件改名命令mv
文件复制命令cp
显示文件的内容more或者less
查找文件find
2、进程管理
(1)运行以下附录部分中给出的程序,查看自己运行的结果,并进行分析。
(2)编写程序,要求程序运行时,系统中存在如下的进程树结构,写出程
序源代码及程序运行结果并在进程树的相应进程节点上标上进程号。
三、代码及运行结果分析
1、Liunx文件与目录操作
显示文件目录命令ls
改变当前目录命令cd
建立子目录mkdir
删除子目录命令rmdir
删除文件命令rm
文件改名命令mv
文件复制命令cp
显示文件的内容more或者less
查找文件find
2、进程管理
程序1
程序2
程序3
程序4
编写程序
#include<stdio.h>
main(){
int m,n,k,j;
m=fork();
printf("pid:%d\t",getpid());
printf("the return value of fork():%d\t\t",m);
printf("he\n");
if(m>0){
k=fork();
printf("pid:%d\t",getpid());
printf("the return value of fork():%d\t\t",k);
printf("ha\n");
if(k>0){
j=fork();
printf("pid:%d\t",getpid());
printf("the return value of fork():%d\t\t",j);
printf("ho\n");
}
}
else{
n=fork();
printf("pid:%d\t",getpid());
printf("the return value of fork():%d\t\t",n);
printf("hi\n");
}
}
结果