进程同步与通信机制课程设计.docx

上传人:罗晋 文档编号:11754715 上传时间:2021-09-03 格式:DOCX 页数:2 大小:68.24KB
返回 下载 相关 举报
进程同步与通信机制课程设计.docx_第1页
第1页 / 共2页
进程同步与通信机制课程设计.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《进程同步与通信机制课程设计.docx》由会员分享,可在线阅读,更多相关《进程同步与通信机制课程设计.docx(2页珍藏版)》请在三一文库上搜索。

1、计算机11级操作系统课程设计、时间地点安排周次时间地点18周星期一下午计算机中心一楼东区 (老图书馆)18周星期二下午18周星期三下午18周星期四下午18周星期五下午19周星期一下午(检查)19周星期二下午(检查)19周星期三下午(检查)二、课程设计内容 题目1进程通信与进程同步机制实践问题描述问题一:有M个读线程(Reader)和N个写线程(Writer)共享一个数据区,这个数据区是一块内存 空间。读线程只负责读取这个数据区,而写线程只负责往数据区写数据,此外还需要满足以下条件:(1)多个读线程可以同时读这个数据区,但最多只允许K个读线程同时读这个数据区;(2) 一次只允许一个写线程可以往数

2、据区中写数据;(3)如果一个写线程正在进行操作,禁止任何读线程读数据区。(4)当一个读线程试图进行读操作时,如果这时正有其它读线程在进行读操作,并且进行读操作的线程个数少于 K个,则它可直接开始读操作,而不需要等待。(读优先) 问题二:有M个读线程(Reader)和N个写线程(Writer)共享一个数据区,这个数据区是一块内存 空间。读线程只负责读取这个数据区,而写线程只负责往数据区写数据,此外还需要满足以下条件:(1)多个读线程可以同时读这个数据区,但最多只允许K个读线程同时读这个数据区;(2) 一次只允许一个写线程可以往数据区中写数据;(3)如果一个写线程正在进行操作,禁止任何读线程读数据

3、区。(4)当一个读线程试图进行读操作时,如果有其它写线程在进行写操作或正在等待进行写操作,它要等待该写线程完成写操作后才能开始读操作。(写优先)问题一和问题二的区别仅限于条件(4。的不同。请用信号量来实现问题一或者问题二中读线程和写线程的调度算法。具体要求1 选择问题一或者问题二来完成,问题二的难度略高。2 可以选择 Linux(gcc) 或者 Windows(VC 6.0及以上版本,请勿使用基于 .NET 环境下托管 的C+)作为开发平台。最终程序的运行界面可以是图形化窗口,也可以是命令行窗口。3 你需要完成三个程序(对应三个进程) :读线程创建者ReaderBuilder 、写线程创建者W

4、riterBuilder 和共享数据区创建者SharedMemoryBuilder 。4 ReaderBuilder 和 WriterBuilder 是多线程的程序,分别创建 M 个读线程和N 个写线程,并且给每个读线程和写线程分配一个编号。 SharedMemoryBuilder 是单线程的程序,只 负责初始会数据区和信号量、在程序退出时收回数据区和信号量。5 M 、 N 、 K 的值分别取M=50 、 N=30、 K=5 。6 数据区的初始内容为“ My Number Is 0 ” ,当读线程读取数据后,仅仅显示该内容。当写 线程写该数据区后, 数据区内容变为 “My Number Is

5、XX ” , 这里的 XX 是写线程的编号。(编号建议为1、2、330)7 程序应该采用恰当的方式表达出线程演进和共享数据区变化的过程。说明请借阅相关参考书或查询网上资料, 事先了解 Linux/Windows 下进程通信和同步机制相关的编程知识。并关注ftp: 202.195.168.13 ( 用户名和密码均是yuct) 上的 操作系统课程设计(计算机11) 目录中的内容。成绩最后成绩=平时成绩* 60% +课程设计报告* 40%三、课程设计报告要求报告格式见附件上交项目1、 课程设计报告打印稿一份,装入课程设计报告袋打印稿严格参照格式说明。2、电子文档一份电子文档包括:。1源程序C2可执行程序。3课程设计报告以上三项分别放在三个目录, 目录名分别为: src; bin; doc 。 然后将三个目录压缩成一个文件,文件名为:学号 +姓名.rar (“+”不需要,rar为扩展名)。上传到:202.195.168.13用户 名 :yuct口令 :yuct 目录为: 操作系统课程设计(计算机11) 上交时间2014 年 1 月 8 日上午 9 点

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1