当前位置:文档之家› 操作系统课程设计用多线程同步方法解决睡眠理发师问题

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

XXXXXXXXXXXXXXX课程设计题目用多线程同步方法解决睡眠理发师问题(Sleeping-Barber Problem)学院计算机科学与技术学院专业软件工程班级姓名指导教师2010 年 6 月28 日课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 用多线程同步方法解决睡眠理发师问题(Sleeping-Barber Problem)初始条件:1.操作系统:Linux2.程序设计语言:C语言3. 设有一个理发师,5把椅子(另外还有一把理发椅),几把椅子可用连续存储单元。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.技术要求:1)为每个理发师/顾客产生一个线程,设计正确的同步算法2)每个顾客进入理发室后,即时显示“Entered”及其线程自定义标识,还同时显示理发室共有几名顾客及其所坐的位置。

3)至少有10个顾客,每人理发至少3秒钟。

4)多个顾客须共享操作函数代码。

2.设计说明书内容要求:1)设计题目与要求2)总的设计思想及系统平台、语言、工具等。

3)数据结构与模块说明(功能与流程图)4)给出用户名、源程序名、目标程序名和源程序及其运行结果。

(要注明存储各个程序及其运行结果的主机IP地址和目录。

)5)运行结果与运行情况(提示: (1)连续存储区可用数组实现。

(2)编译命令可用:cc -lpthread -o 目标文件名源文件名(3)多线程编程方法参见附件。

)3. 调试报告:1) 调试记录2)自我评析和总结上机时间安排:18周一~ 五08:0 -12:00指导教师签名:年月日系主任(或责任教师)签名:年月日目录1设计题目与要求 ..................................................................................................................... 错误!未定义书签。

1.1 设计题目 .................................................................................................................... 错误!未定义书签。

1.2 设计要求 .................................................................................................................... 错误!未定义书签。

1.2.1 初始条件 ........................................................................................................ 错误!未定义书签。

1.2.2 技术要求 ........................................................................................................ 错误!未定义书签。

2 总体设计思想及开发环境与工具 ........................................................................................ 错误!未定义书签。

2.1 总体设计思想 ............................................................................................................ 错误!未定义书签。

2.2 多线程编程原理 ........................................................................................................ 错误!未定义书签。

2.2.1 创建一个线程 ................................................................................................ 错误!未定义书签。

2.2.2 等待一个线程结束 ........................................................................................ 错误!未定义书签。

2.2.3 信号量 ............................................................................................................ 错误!未定义书签。

2.3 伪码实现 .................................................................................................................... 错误!未定义书签。

2.4 开发环境与工具 ........................................................................................................ 错误!未定义书签。

3数据结构与模块说明 ............................................................................................................. 错误!未定义书签。

3.1 数据结构 .................................................................................................................... 错误!未定义书签。

3.2程序模块说明 ............................................................................................................. 错误!未定义书签。

.................................................................................................................................... 错误!未定义书签。

3.2.2 理发师模块 .................................................................................................... 错误!未定义书签。

3.2.3 顾客模块 ........................................................................................................ 错误!未定义书签。

4源程序 ..................................................................................................................................... 错误!未定义书签。

4.1用户名、源程序名和目标程序名 ............................................................................. 错误!未定义书签。

4.2源程序代码 ................................................................................................................. 错误!未定义书签。

5运行结果 ................................................................................................................................. 错误!未定义书签。

5.1运行步骤 ..................................................................................................................... 错误!未定义书签。

5.2运行结果 ..................................................................................................................... 错误!未定义书签。

5.2.1 编辑,编译和运行的过程图 .......................................................................... 错误!未定义书签。

5.2.2 错误部分截图 .................................................................................................. 错误!未定义书签。

5.2.3 正确运行结果图 .............................................................................................. 错误!未定义书签。

6调试记录 ................................................................................................................................. 错误!未定义书签。

相关主题