操 作 系
统 设 计 报 告
姓名:韦李 学号:5 日期:2013年12月30日
武汉理工大学华夏学院《操作系统原理》课程设计说明书
目录
第1章 需求分析........................................................................................... 错误!未定义书签。
1.1 设计题目 .......................................................................................... 错误!未定义书签。 1.2 设计目的 .......................................................................................... 错误!未定义书签。 1.3 设计环境与工具 .............................................................................. 错误!未定义书签。
1.3.1 设计环境 ............................................................................... 错误!未定义书签。 1.3.2 设计工具 ............................................................................... 错误!未定义书签。 1.4 设计要求 .......................................................................................... 错误!未定义书签。 第2章 概要设计........................................................................................... 错误!未定义书签。
2.1 设计内容与原理 .............................................................................. 错误!未定义书签。
2.1.1 设计内容 ............................................................................... 错误!未定义书签。 2.1.2 设计原理 ............................................................................... 错误!未定义书签。 2.2 程序流程图 ...................................................................................... 错误!未定义书签。 第3章 详细设计........................................................................................... 错误!未定义书签。
3.1 数据结构 .......................................................................................... 错误!未定义书签。 3.2 算法说明 .......................................................................................... 错误!未定义书签。
3.2.1 同步机制原语算法 ............................................................... 错误!未定义书签。 3.2.2 具体算法实现 ....................................................................... 错误!未定义书签。 3.3 具体程序实现 .................................................................................. 错误!未定义书签。
3.3.1 生产者方法 ........................................................................... 错误!未定义书签。 3.3.2 消费者方法 ........................................................................... 错误!未定义书签。 3.3.3 多线程实现 ........................................................................... 错误!未定义书签。
第4章 程序运行结果和分析 ....................................................................... 错误!未定义书签。
4.1 运行结果 .......................................................................................... 错误!未定义书签。 4.2 结果分析 .......................................................................................... 错误!未定义书签。 第5章 总结与体会....................................................................................... 错误!未定义书签。 附录:源程序 ................................................................................................ 错误!未定义书签。
1
第1章 需求分析
1.1 设计题目
用多线程同步方法解决生产者-消费者问题
1.2 设计目的
1.通过编程实现生产者与消费者问题,了解进程同步的概念,理解信号量机制的原理。
2.掌握运用信号量解决进程同步问题的方法,学会运用进程的同步于互斥结局生产者与消费者的冲突问题。
3.通过研究Linux的线程机制和信号量实现生产者消费者问题的并发控制。
1.3 设计环境与工具
1.3.1 设计环境
Fedora 10操作系统
1.3.2 设计工具
Vi 编辑器,gcc编译器 1.4 设计要求
1.有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。
2.每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前指针位置和生产者/消费者线程的标识符。
3.生产者和消费者各有两个以上。
4.多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。
2