计算机操作系统软件设计(请帮帮我)
内容和要求:件界面上点“创建线程” 按钮,创建三个生产者线程(P1,P2,P3)和两个消费者线程(C1,C2),生产者和消费者线程共享一个长度为2KB的环型公共缓冲区,生产者向其中投放消息,消费者从中取走消息。只要缓冲区未满,生产者可将消息送入缓冲区;只要缓冲区未空,消费者可从缓冲区取走一个消息。
每个消息具下列结构格式:
消息头(1B,固定为0xaa),消息长度(1B),消息内容(nB),校验和(1B),检验和计算方式为消息长度和消息内容所有字节异或结果。
每个生产者每隔n毫秒(n用随机数产生,1到100毫秒之间,间隔不固定)生产一个消息加入缓冲区,并把消息产生时间和内容记录在一个文本文件中(或显示在列表框中)。P1每次生产的数据为26个大写字母, P2每次生产的数据为26个小写字母,P3每次生产的数据为10个数字。
每个消费者每隔n秒(n用随机数产生,1到5秒之间,间隔不固定)从缓冲区取走一个消息。每消费一个消息需要将消费时间和消息内容记录在一个文本文件中(或显示在列表框中)。
当用户按结束按钮时结束5个线程,并将5个文件内容显示出来进行对照。
要求写实验报告。
报告分问题概述、设计思想、数据定义、处理流程、源程序、运行结果、设计体会等部分。
1) 概述所采用的同步方法;
2) 给出数据定义和详细说明;
3) 给出实现思想和设计流程;
4) 调试完成源程序;
5) 屏幕观察运行结果;
6) 总结自己的设计体会;
编程工具及操作系统平台不限,建议用VC6. 0或Delphi开发。
我是新手,还不会做,请论坛的GGJJ帮帮我。很急。谢谢。