课程设计任务书题目:进程同步模拟设计——司机和售票员问题初始条件:1.预备内容:阅读操作系统的进程管理章节内容,对进程的同步和互斥,以及信号量机制度有深入的理解。2.实践准备:掌握一种计算机高级语言的使用。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.模拟公共汽车司机和售票员开关门及行车操作的同步模型。2.设计报告内容应说明:⑴课程设计目的与功能;⑵需求分析,数据结构或模块说明(功能与框图);⑶源程序的主要部分;⑷测试用例,运行结果与运行情况分析;⑸自我评价与总结:i)你认为你完成的设计哪些地方做得比较好或比较出色;ii)什么地方做得不太好,以后如何改正;iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训);iv)完成本题是否有其他的其他方法(如果有,简要说明该方法);v)对实验题的评价和改进意见,请你推荐设计题目。时间安排:设计安排一周:周1、周2:完成程序分析及设计。周2、周3:完成程序调试及测试。周4、周5:验收、撰写课程设计报告。(注意事项:严禁抄袭,一旦发现,抄与被抄的一律按0分记)指导教师签名:年月日系主任(或责任教师)签名:年月日题目:进程同步模拟设计——司机和售票员问题1.初始条件:1.预备内容:阅读操作系统的进程管理章节内容,对进程的同步和互斥,以及信号量机制度有深入的理解。2.实践准备:掌握一种计算机高级语言的使用。2要求完成的主要任务:2.1.模拟公共汽车司机和售票员开关门及行车操作的同步模型。在汽车行驶过程中,司机活动与售票员活动之间的同步关系为:售票员关车门后,向司机发开车信号,司机接到开车信号后启动车辆,在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开门让乘客上下车。因此,司机启动车辆的动作必须与售票员关车门的动作取得同步;售票员开车门的动作也必须与司机停车取得同步。司机P1售票员P2①启动②关门③到站停④开门正常运行-售票-关门-启动-行驶-停-开门为了安全起见:(1)关车门后才能启动车辆-启动在关门之后(2)到站停车后,才能开车门-开车门在到站停车之后在计算机系统中可以将司机和售票员分别看作P1、P2两个进程,当它们并发地向前推进时,计算机系统所接受到的实际上是司机活动与售票员活动的许多交叉中的任意一个交叉,这些交叉有些满足上述要求,有些则不满足,而操作系统必须保证不发生不满足上述要求的交叉,即:如P2尚未推进到②处时,而P1已推进到①处,则P1应等待直到P2推进到②处为止;如P1尚未推进到③时,P2已到④,则P2应等待直到P1推进到③处为止。P1在①处发生了等待,则P2执行到②处时应将P1唤醒;P2在④处发生了等待,P1到③处应将P2唤醒应设置两个信号量:S1、S2;S1表示是否允许司机启动汽车(其初值为0);S2表示是否允许售票员开门(其初值为0)。用P、v原语描述如下:ints1=O;ints2=O;main(){cobegindriver();conductor();coend}driver(){while(1){p(s1);启动车辆;正常行车;到站停车;v(s2);}}conductor(){while(1){关车门;v(s1);售票;p(s2);开车门;上下乘客;}}2.2.设计报告内容应说明:2.2.1课程设计目的与功能;实验目的:对进程的同步和互斥,以及信号量机制度有深入的理解。一组相互合作的并发进程,为了协调其推进速度,有时需要相互等待与相互唤醒,进程之间这种相互制约的关系称作进程同步,虽然进程同步仅发生在相互有逻辑关系的进程之间,这种相互制约的关系称作进程同步,进程同步现象仅发生在相互有逻辑关系的进程之间,这点与进程互斥不同,进程互斥现象发生在任意两个进程之间。与进程同步相关的另一概念是进程合作,一组进程如果它们单独执行不能正常进行,但并发执行可以正常进行,这种现象称为进程合作,参与进程合作的进程称为合作进程,如司机与售票员的例子,二者单独执行都不能正常进行,但二者并发反可以正常进行,成为合作进程,这种进程合作的现象在操作系统中经常发生。实验功能:编写完程序后,通过输入程序给定的操作符对程序进行操作来实现司机与售票员之间的进程同步关系。对输入的错误操作符有识别功能给予正确的提示,...