1407070225--郭飞--(三)进程互斥实验

1407070225--郭飞--(三)进程互斥实验

ID:32788096

大小:71.85 KB

页数:4页

时间:2019-02-15

1407070225--郭飞--(三)进程互斥实验_第1页
1407070225--郭飞--(三)进程互斥实验_第2页
1407070225--郭飞--(三)进程互斥实验_第3页
1407070225--郭飞--(三)进程互斥实验_第4页
资源描述:

《1407070225--郭飞--(三)进程互斥实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验二进程管理(三)进程互斥实验一、实验目的1、进一步认识并发执行的实质2、分析进程竞争资源的现象,学习解决进程互斥的方法二.实验内容1、修改实验(一)中的程序2,用lockf()来给每一个进程加锁,以实现进程之间的互斥2、观察并分析出现的现象三、实验过程1.进入LINUX系统。打开虚拟机,在vi中编写程序,在终端输入文件名(以xx.c命名),执行指令,得岀运行结果。2•程序执行之后,发现执行结果于未上锁之前大致相同,只是结果顺序与实验一稍有差异,最终明口不同进程之间并不存在共享临界资源的问题,所以加锁与不加锁效果相同。3•程序运行结果如2[root@linuxServerroot]#Ir

2、oot@linuxServerrootJ#gccgf.c[root@linuxServerroot]#./a.outdaughterOdaughter1daughter2daughter3daughter4daughter5daughter6daughter7daughter8daughter9sonOsonlson2son3son4son5son6son?son8son9parentOparent1四、回答问题1・分析以下程序的输出结果:#include#includemain(){intpl,p2,i;int*fp;fp=fopen(/zto_be

3、_locked.txtz/,w+);if(fp二二NULL){printf(z,Fai1tocreatefile");exit(-1);}wh订e((pl=fork())==-1);/*创建子进程pl*/if(pl==0){lockf(*fp,1,0);/*加锁*/for(i=0;i<10;i++)fprintf(fp,"daughter%d〃,i);lockf(^fp,0,0);/*解锁*/}else{wh订e((p2=fork())二二T);/*创建子进程p2*/if(p2==0){lockf(*fp,1,0);/*加锁*/for(i=0;i<10;i++)fprintf(fp,"

4、son%d〃,i);lockf(*fp,0,0);/*解锁*/}else/*加锁*/wait(NULL);lockf(*fp,1,0);for(i=0;i<10;i++)fprintf(邙,z,parent%d〃,i);lockf(*fp,0,0);/*解锁*/}}fclose(fp);cattobelocked,txt查看输出结果2•预期实验:son••-son…daughter..daughter..或daughtcf-daughter…son•••son•••3.输出实验结果:root^kKallx>sl:文件(£)编俅(旦)查看Q9终端(I)转到(Q柄助(旦)[root<^

5、locaIhostroot]#gccgf・cgf.c:1nfunctionnnin':gf・c:7:rning:assignirenlfrominconpaIiblepointertypegf.c:18:uorning:passingarg1offprintf'frominconpatiblepointcrlypegf・c:28:ua「ning:passingarg1offprintf'frominconpatiblepointertypegf.c:35:rning:passingarg1offprintf'nukespointerfromintegeiwithouacastgf.c:39

6、:\orning:passingarg1offclose•frominconpatiblepointertype[root^locaIhostroot]#cato^_bc.locked.txtdaughter0daughter1daughter2daughter3daughter4daughter5daughter6daughter7daughter8daughter9son0son1son2son3[son4son4son5son6son7son8son9[root@locaIhostroot]#五、实验总结1•并发性是指两个或多少个事件在同一吋间间隔内发生。从程序的活动方面看,若干个

7、作业程序同时或者相互穿插在系统中并发执行。这时,计算机不再是简单的顺序执行一•道程序。也就是说,一道程序的前一操作结束后,系统不一定立即执行其后续的操作,而可能转而执行其他程序的某一操作,但是并发性虽然能有效改善系统资源的利用率,但却会引发一系列的问题,使操作系统的设计和实现变得复杂化。1.所谓的进程互斥,是指两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,也就是说,一个进程止在访问临界资源,另一个要访问

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

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

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