Linux多进程并发执行实验.docx
- 文档编号:6154755
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:7
- 大小:305.06KB
Linux多进程并发执行实验.docx
《Linux多进程并发执行实验.docx》由会员分享,可在线阅读,更多相关《Linux多进程并发执行实验.docx(7页珍藏版)》请在冰豆网上搜索。
Linux多进程并发执行实验
一、实验目的
1、对理论课中学习的进程、程序等的概念作进一步的理解,明确进程和程序的区别;
2、加深理解进程并发执行的概念,认识多进程并发执行的实质;
3、观察进程争夺资源的现象,分析其过程和原因,学习解决进程互斥的方法;
4、对经典的多用户、多任务的优先级轮转调度系统Linux有一定的了解;
5、了解Linux系统中多进程之间通过管道通信的基本原理和应用方法。
二、实验内容
1、用virtual虚拟机运行linux虚拟系统;
2、分析并理解源程序;
3、在linux中输入相应程序并观察运行结果。
三、实验原理
(一)多进程并发执行是使用后台任务来实现任务的“多进程化”。
在不加控制的模式下,不管有多少任务,全部都后台执行。
也就是说,在这种情况下,有多少任务就有多少“进程”在同时执行。
(二)实验中要用到的函数
1、fork()函数——进程创建函数。
2、getpid()函数——取得目前进程的进程标识码。
3、exit()函数——用来正常终结目前进程的执行。
4、sleep()函数——用来延时,它会被挂起,把处理器让给其他的进程。
5、printf()函数——是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
(三)实验中要用的命令
1、cd命令:
功能:
改变工作目录。
语法:
cd[directory]
说明:
该命令将当前目录改变至directory所指定的目录。
若没有指定directory,则回到用户的主目录。
为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。
该命令可以使用通配符。
2、mkdir命令:
功能:
创建一个目录(类似MSDOS下的md命令)。
语法:
mkdir[选项]dir-name
说明:
该命令创建由dir-name命名的目录。
要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。
3、ls命令:
功能:
ls是英文单词list的简写,其功能为列出目录的内容。
这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。
该命令类似于DOS下的dir命令。
语法:
ls[选项][目录或是文件]
说明:
对于每个目录,该命令将列出其中的所有子目录与文件。
对于每个文件,ls将输出其文件名以及所要求的其他信息。
默认情况下,输出条目按字母顺序排序。
当未给出目录名或是文件名时,就显示当前目录的信息。
4、vim、clear命令在这里就不做介绍了。
(四)实验源程序如下:
#include
#include
#include
#include
#include
main(){
intpid1,pid2,i=1;
while((pid1=fork())==-1);
if(pid1==0){
printf("Thisischildprocess1,pid=%d\n",getpid());
sleep
(1);
for(i='A';i<='Z';i++){
printf("Childprocess1print:
%c\n",i);
sleep
(1);
}
exit(0);
}else{
while((pid2=fork())==-1);
if(pid2==0){
printf("Thisischildprocess2,pid=%d\n",getpid());
sleep
(1);
for(i='a';i<='z';i++){
printf("Childprocess1print:
%c\n",i);
sleep
(1);
}exit(0);
}else{printf("Thisisaparentprocess,pid=%d\n",getpid());
sleep
(1);
for(i=1;i<=26;i++){
printf("Parentprocessprint:
%d\n",i);
sleep
(1);
exit(0);
}
}
}
}
四、实验步骤
1、打开VirtualBox虚拟机,并运行linux操作系统;
2、在linux操作系统中输入相关指令如下:
cd/(进入根目录下);
ls(查询根目录下的文件);
mkdirmylinux(在根目录下新建一个文件夹mylinux);
vimjinchengbingfa.c(新建一个c文件);
3、进入vim编辑器,输入源程序,保存并退出;
4、输入gccjinchengbingfa.c-ojinchengbingfa对文件进行编译;
5、./jinchengbingfa进行调试;
6、调试无误后截图,然后关闭系统,实验毕。
五、实验截图
1、调试过程(截图):
2、部分程序(截图):
3、调试结果(截图):
六、实验心得
完成这这次实验,实话实说,花了不少心思,当然一份耕耘一分收获,到最后我学到不少知识。
通过这次实验,首先,我学会了怎么装virtual虚拟机和怎么装linux系统,以前,装系统对我来说,永远是渴望而不可及的事情,总觉得能装系统的人的都是超人,现在也让我幻想了一下超人的感觉,真的颇有成就感,我的这点小小的满足都是因为我们有一位很负责的老师,很耐心地指导我们实验,很细心地帮我们分析并改正调试过程中的种种错误,万分感谢老师。
在此,只想由衷地对老师说声“谢谢”,其次,我能更加熟练地运用linux常用指令,常用命令,最后,对进程之间的并行执行理解更加深刻!
最重要的是,从这次实验的过程中,让我又收获了生活赋予我的一个“幸运儿”,那就是希望的种子!
做任何事,只要自己肯努力,肯花心思,希望就不再渺茫,梦想也不再遥远!
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 进程 并发 执行 实验