实验1实验报告.doc

实验1实验报告.doc

ID:56733984

大小:113.50 KB

页数:7页

时间:2020-07-06

实验1实验报告.doc_第1页
实验1实验报告.doc_第2页
实验1实验报告.doc_第3页
实验1实验报告.doc_第4页
实验1实验报告.doc_第5页
资源描述:

《实验1实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.师大学网络技术学院《操作系统》课程实验报告实习题目实验一进程的创建控制实验指导教师职称讲师学生学号日期年月日..实现工具Vi编辑器、Gcc编译工具实现环境Linux环境实习容(功能、目标)1.实验目的:创建进程,体会进程间的并发特征。2.实验容:编写一段程序,使用系统调用fork()创建两个子进程p1和p2。而且父进程输出字符串“father”,第一个子进程输出字符串“borther1”,第二个子进程输出字符串“borther2”。3.实验要求:掌握系统调用fork()的使用方法及其功能;利用系统调用sleep()调整父进程及各子进程的并发执行过

2、程。实现的思想、方法和技术(含数据结构、算法)1.一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。2.sleep()是进程的睡眠。3.当子进程1sleep(10)时,CPU读父进程与BROTHER2子进程抢占资源,父进程与BROTHER2子进程输出结果不一定谁先后;子进程2sleep(10)时,CPU读父进程与brother1子进程抢占资源,父进程与brother1子进程输出结果不一定谁先后;父

3、进程sleep(10)时,CPU读BROTHER2子进程与brother1子进程抢占资源,BROTHER2子进程与brother1子进程输出结果不一定谁先后。..主要代码注释#include#includeintmain(){intp1;intp2;while((p1=fork())==-1);if(p1==0){sleep(10);printf("brother1");}else{while((p2=fork())==-1);if(p2==0){sleep(10);printf("BROTHER2")

4、;}else{printf("FATHER");}}}/*定义进程p1*//*定义进程p2*//*创建子进程p1,失败时循环*//*CPU读子进程p1,输出brother1*//*睡眠10秒,让父进程读*//*执行父进程,父进程创建p2*//*创建子进程p2,失败时循环*//*CPU读子进程p2,输出BROTHER2*//*睡眠10秒,让父进程读*//*CPU读子进程父进程,输出FATHER*/..结果分析(含实现中出错原因分析)1.当子进程1sleep(10)时,CPU读父进程与BROTHER2子进程,并输出结果。2.子进程2sleep(10

5、)时,CPU读父进程与brother1子进程,并输出结果。3.父进程sleep(10)时,CPU读BROTHER2子进程与brother1子进程,并输出结果。思考题:1.为什么各字符串的输出顺序会是任意的?进程并发执行,子进程与父进程抢占处理机,所以输出字符顺序不同。2.改写程序,将字符串用循环语句一个一个字符输出,再查看执行结果如何?..思考题主要代码注释#include#includeintmain(){intp1,p2;p1=fork();if(p1<0){printf("error!");}elseif

6、(p1==0){chara[9]="brother1";inti=0;for(i=0;i<9;i++){sleep(1);printf("%c",a[i]);}}else{p2=fork();if(p2<0){printf("error!");}elseif(p2==0){charb[9]="BROTHER2";inti=0;for(i=0;i<9;i++){sleep(2);printf("%c",b[i]);}}else{charc[6]="FATHER";inti=0;for(i=0;i<6;i++){sleep(3);printf(

7、"%c",c[i]);}}}return0;}/*定义进程p1*//*创建子进程p1*//*子进程p1失败时输出error*//*子进程p1成功时*//*定义字符串a[9]="brother1"*//*输出单个字符*//*创建子进程p1*//*子进程p2失败时输出error*//*子进程p2成功时*//*定义字符串b[9]="BROTHER2"*//*输出单个字符*//*定义字符串c[6]="FATHER"*//*输出单个字符*/..思考题结果分析(含实现中出错原因分析)1.字符顺序不同因为抢占处理机,执行顺序不同。指导教师评语、评分评分:指导

8、教师:年月日...

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

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

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