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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XXXXXXXXXXXXXXX

课程设计

题目用多线程同步方法解决睡眠理发师问

题(Sleeping-Barber Problem)

学院计算机科学与技术学院

专业软件工程

班级

姓名

指导教师

2010 年 6 月28 日

课程设计任务书

学生姓名:专业班级:

指导教师:工作单位:

题目: 用多线程同步方法解决睡眠理发师问题(Sleeping-Barber Problem)

初始条件:

1.操作系统:Linux

2.程序设计语言: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运行结果 ................................................................................................................................. 错误!未定义书签。

相关文档
最新文档