1 / 16
文档名称:

操作系统课程设计用多线程同步方法解决睡眠理发师问题.docx

格式:docx   大小:34KB   页数:16页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统课程设计用多线程同步方法解决睡眠理发师问题.docx

上传人:guoxiachuanyue 2021/2/3 文件大小:34 KB

下载得到文件列表

操作系统课程设计用多线程同步方法解决睡眠理发师问题.docx

相关文档

文档介绍

文档介绍:学号:
XXXXXXXXXXXXXXX
程设计
用多线程同步方法解决睡眠理发师问
题(Sleeping-Barber Problem )
计算机科学与技术学院
软件工程
指导教师
2010 年
6月 28日
课程设计任务书
学生姓名:
工作单位:
专业班级:
指导教师: 题目:用多线程同步方法解决睡眠理发师问题(Sleeping-Barber Problem)
初始条件:
操作系统:Lin ux
程序设计语言:C语言
设有一个理发师,5把椅子(另外还有一把理发椅),几把椅子可用连续存储单元
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
技术要求:
1) 为每个理发师/顾客产生一个线程,设计正确的同步算法
2) 每个顾客进入理发室后,即时显示“ Enterec”’及其线程自定义标识,还同时 显示理发室共有几名顾客及其所坐的位置。
3) 至少有10个顾客,每人理发至少3秒钟。
4) 多个顾客须共享操作函数代码。
设计说明书内容要求:
1)设计题目与要求
2) 总的设计思想及系统平台、语言、工具等。
3) 数据结构与模块说明(功能与流程图)
4) 给出用户名、源程序名、目标程序名和源程序及其运行结果。(要注明存储
各个程序及其运行结果的主机IP地址和目录。)
5) 运行结果与运行情况
(提示:(1)连续存储区可用数组实现。
⑵编译命令可用: cc -Ipthread -o 目标文件名 源文件名
(3)多线程编程方法参见附件。)
3. 调试报告:
1) 调试记录
2) 自我评析和总结
上机时间安排:
18周一 ~ 五 08: 0 - 12: 00
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
目录
1设计题目与要求 错误!未定义书签。
错误!未定义书签。
错误!未定义书签。
初始条件 错误!未定义书签。
技术要求 错误!未定义书签。
2总体设计思想及开发环境与工具 错误!未定义书签。
错误!未定义书签。
错误!未定义书签。
创建一个线程 错误!未定义书签。
等待一个线程结束 错误!未定义书签。
信号量 错误!未定义书签。
伪码实现 错误!未定义书签。
错误!未定义书签。
3数据结构与模块说明 错误!未定义书签。
错误!未定义书签。
错误!未定义书签。
错误!未定义书签。
理发师模块 错误!未定义书签。
顾客模块 错误!未定义书签。
4源程序 错误!未定义书签。
、源程序名和目标程序名 错误!未定义书签。
错误!未定义书签。
5运行结果 错误!未定义书签。
错误!未定义书签。
错误!未定义书签。
,编译和运行的过程图 错误!未定义书签。
错误!未定义书签。
错误!未定义书签。
6调试记录 错误!未定义书签。
错误!未定义书签。
错误!未定义书签。
7参考文献 错误!未定义书签。
1设计题目与要求

用多线程同步方法解决睡眠理发师问题(Sleep in g-Barber Problem)

初始条件
(1) 操作系统:Linux
(2) 程序设计语言:C语言
(3) 设有一个理发师,5把椅子(另外还有一把理发椅),几把椅子可用连续存储单元。
技术要求
(1) 为每个理发师/顾客产生一个线程,设计正确的同步算法
(2) 每个顾客进入理发室后,即时显示“ Enterec”’及其线程自定义标识,还同时显示理 发室共有几名顾客及其所坐的位置。
(3) 至少有10个顾客,每人理发至少3秒钟。
(4) 多个顾客须共享操作函数代码。
2 总体设计思想及开发环境与工具
总体设计思想
题目中要求描述理发师和顾客的行为,因此需要两类线程 barber()和customer ()分别描
述理发师和顾客的行为。其中,理发师有活动有理发和睡觉两个事件;等待和理发二个事 件。店里有固定的椅子数,上面坐着等待的顾客,顾客在到来这个事件时,需判断有没有 空闲的椅子,理发师决定要理发或睡觉时,也要判断椅子上有没有顾客。所以,顾客和理 发师之间的关系表现为:
理发师和顾客之间同步关系:当理发师睡觉时顾客近