{
r=rand()%3+3; za=rand()%2; } if(za==0) printf(\取款\ else
printf(\存款\ printf(\ 剩余时间:\ for(i=0;i for(i=aa;i printf(\空闲\ printf(\ } printf(\-----\/* printf B array */ printf(\ 窗口 2:\\n \printf(\状态:\if(numb>0) { if(u==0) { u=rand()%3+3; zb=rand()%2; } if(zb==0) printf(\取款\ else printf(\存款\ printf(\ 剩余时间:\ for(i=0;i for(i=bb;i printf(\空闲\ printf(\ } printf(\ /* printf C array */ printf(\ 窗口 3:\\n \printf(\状态:\if(numc>0) { if(v==0) { v=rand()%3+3; zc=rand()%2; } if(zc==0) printf(\取款\ else printf(\存款\ printf(\ 剩余时间:\ for(i=0;i for(i=cc;i printf(\空闲\ printf(\ } printf(\printf(\ 本分钟有%d位顾客进入银行!\printf(\ if(tim==11&&mini>51) { i=61-mini; printf(\ 银行将在%d分钟后停止营业!\\n\ } else printf(\ printf(\/* main over */ sleep(2); } } else { clrscr(); window(1,1,80,25); textbackground(1); textcolor(YELLOW); printf(\printf(\ ------银行窗口模拟系统------ ****\printf(\ 制作人:刘佳宁 刘茜 ****\printf(\ 高遵富 梁舒 ****\printf(\printf(\ printf(\ 现在时间 \if(tim<10) printf(\printf(\if(mini<10) printf(\printf(\ printf(\ 银行尚未营业!\ printf(\sleep(3); clrscr(); } } 实验二 Single producer consumer problem(单个生产者消费者问题) 一、实验名称 Single producer consumer problem(单个生产者消费者问题) 二、实验目的 以单个生产者—消费者问题为例,理解进程调度算法。 三、实验内容 生产者——消费者问题是最著名的进程同步问题。它描述一组生产者向一组消费者提供产品,它们共享一个有界缓冲区,生产者向其中投放产品,消费者从中取得产品。同时,每个进程都互斥的占用CPU。 假定生产者和消费者是互相等效的,只要缓冲区未满,生产者就可以把产品送入缓冲区,类似的,只要缓冲区未空,消费者便可以从缓冲区中取走产品并消费它。生产者—消费者的同步关系将禁止生产者向已满的缓冲区中放入产品,也禁止消费者从空的缓冲区中获取产品。 四、实验要求 模拟一个生产者,一个消费者,共享一个缓冲区的情形。 模拟一个生产者,一个消费者,共享多个缓冲区的情形。 五、实验学时及环境 4学时,Turbo C、Visual C++、Visual Basic、Delphi均可。 六、实验思路 1.随机产生每个生产者生产一个产品的时间和每个消费者消费一个产品的时间,并体现出来; 2.随着时间的推移,体现生产者生产一个产品的过程和消费者消费一个产品的过程,并统计出生产产品的总数与消费产品的总数; 3.限制缓冲区的容量,比如只能容纳N个产品。当缓冲区已满时,要能够体现出生产者处于等待的情形;当缓冲区为空时,要能够体现出消费者处于等待的情形; 4.当存在多个生产者或消费者进程时,随着产生占用某个CPU时间片的单个进程。 七、主要程序代码 如果使用C语言进行设计,程序涉及的头文件主要有:conio.h, stdio.h, time.h;程序使用的主要函数有:srand(), rand(), time(), sleep()。 以下是用C语言开发的代码示例: 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库os实验指导书(2)在线全文阅读。
相关推荐: