欢迎来到天天文库
浏览记录
ID:33602471
大小:1.34 MB
页数:39页
时间:2019-02-27
《操作系统课程设计 090801124 谢阳》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、南京林业大学本科课程设计报告2010~2011学年第二学期课程名称:操作系统任课老师:夏霖学科专业:计算机科学与技术学号:090801124姓名:谢阳2011年6月28号目录设计目的:2设计目的:18设计目的:24实验总结设计一进程管理设计目的:(1)加深对进程概念的理解,明确进程和程序的区别;(2)进一步认识并发执行的实质;(3)实现犁linux。(4)了解Linux系统中进程通信的基本原理。设计内容:1、【题目】进程的创建和控制【任务1】编写一段程序,使用系统调用fork()创建两个子程序。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:
2、父进程显示字符a;子进程分别显示字符b和c。记录屏幕上的显示结果,并分析原因。修改以前编写的程序,将每个进程输出一个字符改为每个进程输出一句话。【详细设计】#includemain(){intp1,p2;while((p1=fork())==-1);if(p1==0)putchar('b');else{while((p2=fork())==-1);if(p2==0)putchar('c');elseputchar('a');}}【运行结果】lenovo@lenovo-desktop:~$gcc-o1-1-1.out1-1-1.clenovo@lenovo-desk
3、top:~$./1-1-1.outbca修改后程序:#includemain(){intp1,p2;while((p1=fork())==-1);if(p1==0)printf("你好中国");else{while((p2=fork())==-1);if(p2==0)printf("我叫谢阳");elseprintf("我就读于南林");}}运行结果:lenovo@lenovo-desktop:~$gcc-o1-1-0.out1-1-0.clenovo@lenovo-desktop:~$./1-1-0.out你好中国我叫谢阳我就读于南林【任务2】【详细
4、设计】#includevoidmain(){intp1,p2,i;while((p1=fork())==-1);if(p1==0)for(i=0;i<10;i++)printf("child%d",i);else{while((p2=fork())==-1);if(p2==0)for(i=0;i<10;i++)printf("son%d",i);elsefor(i=0;i<10;i++)printf("daughter%d",i);}}【运行结果】lenovo@lenovo-desktop:~$gcc-o1-1-2.out1-1-2.c1-1-2.c:
5、在函数‘main’中:1-1-2.c:3:警告:‘main’的返回类型不是‘int’lenovo@lenovo-desktop:~$./1-1-2.outchild0child1child2child3child4child5child6child7child8child9son0son1son2son3son4son5son6son7son8son9daughter0daughter1daughter2daughter3daughter4daughter5daughter6daughter7daughter8daughter9【任务3】【详细设计】#include6、>main(){intp1,p2;inti;while((p1=fork())==-1);if(p1==0){lockf(1,1,0);for(i=0;i<10;i++)printf("child%d",i);lockf(1,0,0);}else{while((p2=fork())==-1);if(p2==0){lockf(1,1,0);for(i=0;i<10;i++)printf("son%d",i);lockf(1,0,0);}else{lockf(1,1,0);for(i=0;i<10;i++)printf("daughter%d",i);lockf(1,0,07、);}}}【运行结果】lenovo@lenovo-desktop:~$gcc-o1-1-3.out1-1-3.clenovo@lenovo-desktop:~$./1-1-3.outchild0child1child2child3child4child5child6child7child8child9son0son1son2son3son4son5son6son7son8son9daughter0daughter1daughter2daughter3daughter4
6、>main(){intp1,p2;inti;while((p1=fork())==-1);if(p1==0){lockf(1,1,0);for(i=0;i<10;i++)printf("child%d",i);lockf(1,0,0);}else{while((p2=fork())==-1);if(p2==0){lockf(1,1,0);for(i=0;i<10;i++)printf("son%d",i);lockf(1,0,0);}else{lockf(1,1,0);for(i=0;i<10;i++)printf("daughter%d",i);lockf(1,0,0
7、);}}}【运行结果】lenovo@lenovo-desktop:~$gcc-o1-1-3.out1-1-3.clenovo@lenovo-desktop:~$./1-1-3.outchild0child1child2child3child4child5child6child7child8child9son0son1son2son3son4son5son6son7son8son9daughter0daughter1daughter2daughter3daughter4
此文档下载收益归作者所有