欢迎来到天天文库
浏览记录
ID:11392430
大小:60.50 KB
页数:3页
时间:2018-07-11
《售票员和汽车司机的进程同步问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告一、实验名称售票员和汽车司机的进程同步问题二、实验环境windows平台、VC6.0、C++三、实验内容创建两个进程模拟售票员和汽车司机的同步行为。具体内容如下:1、司机的活动:启动车辆,正常行车,到站停车。2、售票员活动:关车门,售票,开车门。3、当发车时间到,售票员关好车门后,司机才能启动车辆,售票员才开始售票。当到站时,司机停稳车后,售票员才能打开车门,车上乘客先下车,然后站牌乘客上车。四、实验分析与设计1、理论分析司机与售票员之间必须协调工作。即售票员把车门关好了司机才能开车,所以售票员关门
2、后应该通知司机可以开车;然而只有当汽车停了之后,售票员才能开门让乘客上下车,因此司机停车后应该通知售票员可以售票。因此,对于司机和售票员这两个进程有必要分别设两个私有信号量。2、总体设计司机进程售票员进程正常行车售票到站停车P(S2)V(S2)开车门P(S1)关车门开车V(S1)五、算法实现structsemaphores1,s2=0,0;cobeginvoiddriver(void){while(TRUE){p(s2);启动车辆;正常行车;到站停车;V(s1);}}voidconductor(void){
3、while(TRUE){上、下乘客;关车门;V(s2);售票;P(s1);开车门;上、下乘客;}}coend六、实验结果七、心得体会通过本次实验我们认识了进程的产生过程以及同步互斥机制,学会了用编程语言实现P,V操作的方法,利用p,v操作来改变信号量的值,以实现进程的同步。增强了对操作系统的理解,提高了发现并解决问题和理论联系实践的能力。实验让我们受益匪浅,为我今后的学习乃至工作打下良好的基础。08计科(2)班盛舒婷108253040230苏柳翠108253040202
此文档下载收益归作者所有