还剩4页未读,继续阅读
文本内容:
GDOU-B-11-112广东海洋大学学生实验报告书学生用表实验名称进程间通信课程名称操作系统课程号学院系软件学院专业软件工程班级学生姓名学号实验地点实验日期
一、实验目的.利用文件锁机制,实现多进程共享一个文件,具体过程和要求参照课堂讲解1
二、、利用双向管道机制实现进程间通信,父子两个进程,第一个进程从键盘输入多个整数以表示整数序列2-1的结束不属于其中,每输入一个整数,便立即通过管道传送给第二个进程;第二个进程对收到的数据进行排,-1序排序算法同学们自选,冒泡、选择、堆…均可,排序结果通过管道传递给第一个进程;第一个进程显示排序结果
三、选做题利用进程间共享内存机制实现第题,亦即将管道用共享内存机制来代替LINUX2
四、实验内容⑴新建文件,编辑程序如下#define_POSIX_SOURCE#include stdio.h#include stdlib.h#include fcntl.h#include sys/types.h#include unistd.h#include stdarg.h#include string.h#includesys/file.hint mainintargc,char*argv[];int num,fd,iFILE*f;char buff
[100];fd=openHnumber.txtn,O_RDWR;flockfd,LOCK_EX;iffd=0{printfHopen error\nn;return1;;f=FILE*fdopenfd,”r+”if f==NULL{printfHfdopen error\nn;return1;fori=l;i=100000;i++{lseekfd,0,SEEK_SET;fscanff,n%dn,num;sprintfbuff,n%d\nn,num+1;lseekfd,0,SEEK_SET;;writefd,buff,strlenbuffflockfd,LOCK_UN;fclosef;return0;执行结果如下huy@huy-virtual-machine:~huy@huy-virtual-machine gcctl.c-o tl•八1cat number.txtcat number.txt./tl catnumber.txthuy@huy-virtual-machine:~$huy@huy-virtual-machine101234huy@huy-virtual-machine101234huy0huy-virtual-machine:~$huy@huy-virtual-machine201234huy@huy-virtual-machine:~$⑴新建文件,编写程序如下:ttinclude stdio.h#include unistd.h ttincludesys/types.h ttincludestring.hint main{int fdl
[2];int fd2
[2];pidt pid;pipefdl;pipe fd2;pid三fork;if pid==0{closefdl
[1];closefd2
[0];int num;int sum=0;char str
[10];while readfdl
[0],str,1000sscanfstr,〃%d〃,num;printf,zreceive anumber:%d\n〃,num;fflushstdout;sum十=num;close fdl
[0];sprintfstr,〃%d〃,sum;writefd2[l],str,strlenstr;closefd2[l];_exit0;elseint n;char str
[10];close fdl
[0];closefd2[l];while1scanf〃%d〃,n;ifn二二-1break;sprintfstr,〃%d\n〃,n;write fdl
[1],str,strlen str;close fdl
[1];readfd2
[0],str,100;closefd2
[0];printf,z\nsum is%s\nz,,str;fflush stdout;_exit0;return0;}执行结果如下・gedtt t
2.c gcct2c・-o t2/t210receive number:10101receive number:1015receive number:500receive number:500huy@huy-virtual-machine:〜huy@huy-virtual-machine huy0huy-virtual-machine:~$huy0huy-virtual-machine
五、实验总结通过这次实验,使我了解了文件锁机制是如何控制多进程共享同一文件的,以及系统是如何利用双向管道机制实现进程间通信成绩指导教师日期注:请用纸书写,不够另附纸A4。