河南城建学院 《操作系统》课程设计报告
课程名称: 《操作系统》课程设计 设计题目: 理发师问题 指导教师: 李蓓 耿永军 班 级: 学 号: 学生姓名: 同组人员:
计算机科学与工程学院 2014年6月19日
成 绩: 评 语: 前言 现在计算机更新如此迅速的时代要学好计算机软件技术,特别是操作系统的学习,不仅要努力学好课本上的基础知识,还要经常在图书馆看些有关这方面的书籍,而更重要的是要有足够的实践经验,也要注重和同学的交流,经常尝试性的做些小的操作系统,对自己技术的提升会有很大的帮助。 同时,学习计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法恐怕就是在实践中练习。例如,自己设计一个小型操作系统,多使用操作系统,多阅读和分析操作源代码等。但由于我们的条件和学时有限,在理论学习过程中没有给同学们提供更多的实验机会。本操作系统课程设计,是给同学提供一个集中实验的机会。希望同学们通过该设计加深对所学习课程的理解。本设计的内容是基于《操作系统原理》、《C语言程序设计》和《数据结构》等内容。 本设计是基于课程中学到的UNIX系统调用,使用操作系统环境是Red Hat Linux 9,言语开发环境是Linux的GNU C或C++。完成本次课程设计,首先必须配置操作系统编写的所需的环境,包括虚拟机的建立和相应环境建立。用VI编辑器编写相应得程序,以实现理发师进程的同步与互斥。 目录 第一章.系统环境 ............................................................................................................................. 1 1.1硬件环境 ............................................................................................................................ 1 1.2软件环境 ............................................................................................................................ 1 第二章.设计目的及要求 ................................................................................................................. 2 2.1设计目的 ............................................................................................................................ 2 2.2 要求 ................................................................................................................................... 2 2.3 内容 ................................................................................................................................... 2 第三章.总体设计 ............................................................................................................................. 3 3.1程序设计组成框图 ............................................................................................................ 3 3.2 主函数流程图 ................................................................................................................... 4 3.3理发师进程流程图 ............................................................................................................ 5 3.4 顾客进程流程图 ............................................................................................................... 5 3.5函数调用 ............................................................................................................................ 6 第四章.详细设计 ............................................................................................................................. 7 4.1概要设计 ............................................................................................................................ 7 4.1.1 数据结构 ................................................................................................................. 7 4.1.2 多线程编译原理 ..................................................................................................... 7 4.1.3 创建线程 ................................................................................................................. 7 4.1.4 信号量 ..................................................................................................................... 8 4.2 头文件声明 ....................................................................................................................... 8 4.3函数定义 ............................................................................................................................ 9 4.4 变量定义 ........................................................................................................................... 9 4.5函数实现 ............................................................................................................................ 9 第五章.调试与测试 ....................................................................................................................... 11 5.1调试方法 .......................................................................................................................... 11 5.2结果分析 .......................................................................................................................... 13 第六章.设计中遇到的问题及解决方法 ....................................................................................... 14 6.1出现的问题 ...................................................................................................................... 14 6.2解决方法 .......................................................................................................................... 14 第七章.源程序清单和执行结果 ................................................................................................... 16 7.1源程序清单 ...................................................................................................................... 16 7.2程序执行结果 .................................................................................................................. 19 第八章.心得体会 ........................................................................................................................... 20 第九章.参考文献 ........................................................................................................................... 21