当前位置:
文档之家› Linux高级编程银行排队系统模拟-文档
Linux高级编程银行排队系统模拟-文档
业务办理中
业务办理完毕
Makefile 长这样
顾客选择离开
详细程序请见文档源码部分
(银行排队系统模拟)
第六组 成 员:关晓帆-被服务的过程; 2) 程序执行流程如下: Step1: 客户到达银行,并从取号机取号; Step2: 如果大厅中有空闲座位,则座下等待,否则,在大厅外等待; Step3: 银行职员如果发现有客户等待,则依次叫号服务,否则休息; Step4: step1-step4重复执行 3) 大厅中座椅数量为20个; 4) 服务窗口为2个; 5) “客户到来”通过命令行输入客户名字模拟; 6) 为了模拟实际情况,每个客户服务时间不小于20秒,可随机确定; 7) 程序顺序列出不同窗口服务客户的:名称,窗口号,服务时间
如何去实现?
• 1) • 2) • 3) • 4) 需一个主控进程,随时监控客户到来,并为之创建进程; 取号机应视为互斥型临界资源 座椅应视为临界资源 客户等待及被叫号应视为进程间同步过程
需要编写那些文件?
• Ubuntu系统环境下 • 一个service可执行文件 • 其中service可执行文件用于在内存中申请一个共享内存空间,并将这个内存空间与自身进 程绑定 • 一个customer可执行文件 • customer可执行文件每执行一次,就增加一个进程,即代表有一位顾客来到。通过多次执 行customer可执行文件来模拟多位顾客 • 一个deletesem可执行文件 • deletesem可执行文件用于在service进程和customer进城都执行完毕后,删除内存空间中 的信号集。 • 编写Makefile文件来快速编译源代码生成以上三个可执行文件。