操作系统实验报告实验3-1

操作系统实验报告实验3-1

ID:31954738

大小:35.92 KB

页数:6页

时间:2019-01-29

操作系统实验报告实验3-1_第1页
操作系统实验报告实验3-1_第2页
操作系统实验报告实验3-1_第3页
操作系统实验报告实验3-1_第4页
操作系统实验报告实验3-1_第5页
资源描述:

《操作系统实验报告实验3-1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统实验报告实验3-1:Linux进程的创建与父子进程同步1.实验目的(1)熟悉在C语言源程序中使用Linux所提供的系统调用界面的方法;(2)掌握Linux中进程的创建方法以及调度执行情况,理解进程与程序的区别;(3)使用系统调用wait()和exit(),实现父子进程同步;(4)了解Linux提供的C编译器gcc的调用;(5)进一步掌握vi的使用。2.实验内容(1)父进程创建子进程,返回后父子进程都分别循环输出字符串“Iamparent.”或“Iamchild.”5次,每输出一次后使用sleep(1)延时1秒,然后再进入下一次循

2、环,如下所示。将该源程序链接后执行,观察并分析运行结果。父进程返回后执行:for(i=0;i<5;i++){printf(“Iamparent.”);sleep(1);}子进程返回后执行:for(i=0;i<5;i++){printf(“Iamchild.”);sleep(1);}(2)进程家族树在源程序中连续使用4个fork(),而不是用if()进行返回值的判段,在4个fork()语言后面输出字符“A”。观察并分析该程序编译连接执行后的输出结果。(3)父子同步进程修改第(1)题的程序,使用exit()和wait()实现父子进程

3、同步,其同步方式为父进程等待子进程的同步,即:子进程先循环输出5次,然后父进程再循环输出5次.观察是否有不同的结果出现。1.实验思考(1)观察运行结果,分析结果产生的原因。答:当一个新的进程创建后,系统就会增加一个进程参与竞争CPU,并随时可能被操作系统调度执行(2)当程序中创建了子进程后,该程序的执行有什么特点?为什么?答:条件分支的结构清晰,实现父子进程的程序分离及父子进程双方感觉不到对方的行为;因为子进程创建后复制了父进程的堆栈和数据空间,并继承了父进程的资源权限,及父进程和子进程在各自的空间中运行同一内容的程序,所以程序会运行两

4、次。(3)如果连续创建多个子进程而不使用条件进行各自空间的分隔,会出现什么情况?请画出第(2)题实验的进程家族树。Fork()Fork()Fork()Fork()Fork()Fork()Fork()Fork()Fork()Fork()Fork()Fork()Fork()Fork()Fork()如上图所示一共出现了16个A(4)如何实现父子进程之间的父进程等待子进程的同步?答:使用信号量P、V操作来实现子进程与父进程的同步,子进程终止时执行exit()向父进程发终止信号,父进程使用wait()等待子进程的终止。1.实验代码①3-1-1:m

5、ain(){intp1,i;while((p1=fork())==-1);if(p1>0)for(i=0;i<5;i++){printf("Iamparent.");sleep(1);}elsefor(i=0;i<5;i++){printf("Iamchild.");sleep(1);}}②3-1-2:#includemain(){fork();fork();fork();fork();putchar('A');//每个进程都要输出‘A’}③3-1-3:main(){intp1,i;while((p1=fork

6、())==-1);if(p1>0){wait(0);for(i=0;i<5;i++){printf("Iamparent.");sleep(1);}}else{for(i=0;i<5;i++){printf("Iamchild.");sleep(1);}exit(0);}}1.程序运行结果①3-1-1:②3-1-2:③3-1-3:2.实验心得经过这次实验让我有了很大的收获,明白了进程之间的运行机制和如何创建以及使父子进程同步的方法,慢慢熟悉了LINUX中子进程的操作,但是还有很多地方时不懂的,要多看点课外有关的书籍更深入的了解进

7、程之间的关系。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。