计算机120111 李敏 吃水果

上传人:mg****85 文档编号:34318395 上传时间:2018-02-23 格式:DOC 页数:31 大小:329.61KB
返回 下载 相关 举报
计算机120111  李敏  吃水果_第1页
第1页 / 共31页
计算机120111  李敏  吃水果_第2页
第2页 / 共31页
计算机120111  李敏  吃水果_第3页
第3页 / 共31页
计算机120111  李敏  吃水果_第4页
第4页 / 共31页
计算机120111  李敏  吃水果_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《计算机120111 李敏 吃水果》由会员分享,可在线阅读,更多相关《计算机120111 李敏 吃水果(31页珍藏版)》请在金锄头文库上搜索。

1、课程设计(论文)题 目: 吃水果问题(进程同步) 院 (系): 信息与控制技术 专业班级: 计算机 2012 姓 名: 李敏 学 号: 201206060111 指导教师: 董丽丽 2015 年 1 月 23 日西安建筑科技大学华清学院课程设计(论文)第 1 页 西安建筑科技大学华清学院课程设计(论文)任务书专业班级: 计算机1201班 学生姓名: 李敏 指导教师(签名): 董丽丽 一、课程设计(论文)题目吃水果问题(进程同步):桌子上有一只盘子,最多可容纳两个水果,每次只能放入或者取出一个水果。爸爸专门向盘子中放苹果,妈妈专门向盘子中放橘子,两个儿子专门等待吃盘子中的橘子,两个女儿专门等吃盘

2、子中的苹果。二、本次课程设计(论文)应达到的目的操作系统课程实践性比较强。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。本题目要达到目的:了解信号量机制,了解并掌握进行同步和机制,熟悉信号量的操作函数,利用信号量实现对共享资源的控制。三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 这是进程同步问题的模拟,可以把向盘子放或取水果的每一个过程可以转为一个进程的操作,这些进程是互斥的,同时也存在一定

3、的同步关系。进行编程时,实际是随机的调用一个进程的操作,而这些进程的操作相当于程序中的函数调用。而计算机在执行时每一个时刻只能执行一个操作,这就默认了互斥。同步的模拟可以类似于函数调用时的前提关系即先决条件。这样进程同步模拟就完全可以通过函数的调用来实现。具体的每一个操作的对应的函数的关系:爸爸向盘子中放一个苹果:Father();妈妈向盘子中放一个橘子: Mother();儿子 1从盘子取一个橘子:Son1();儿子 2 从盘子取一个橘子:Son2() ;女儿 1 从盘子取一个苹果:Daugther1() ;女儿 2 从盘子取一个苹果:Daugther2()。四、应收集的资料及主要参考文献:

4、 操作系统经典算法的编程实现资料非常丰富,可以在图书馆找书籍或在因特网上找资料,都很容易找到,但是大部分代码是不全的,不能直接运行,希望大家只是把它当参考,编码还是自己做。参考文献:【1】汤小丹、梁红兵、哲凤屏、汤子瀛 编著.计算机操作系统(第三版).西安:西安电子科技大学出版社,2007.5【2】史美林编.计算机操作系统教程.北京:清华大学出版社,1999.11【3】徐甲同编著.操作系统教程.西安:西安电子科技大学出版社,1996.8【4】Clifford,A.Shaffer 编著.数决结构与算法分析(C+版).北京:电子工业西安建筑科技大学华清学院课程设计(论文)第 2 页 出版社,200

5、5.7【5】蒋立翔编著.C+程序设计技能百练.北京:中国铁道出版社,2004.1五、审核批准意见教研室主任(签字) 西安建筑科技大学华清学院课程设计(论文)第 3 页 设计总说明题目内容:桌子上有一只盘子,最多可容纳两个水果,每次只能放入或者取出一个水果。爸爸专门向盘子中放苹果,妈妈专门向盘子中放橘子,两个儿子专门等待吃盘子中的橘子,两个女儿专门等吃盘子中的苹果。设计思路:吃水果问题可以利用进程同步的转换,以函数的方式来设计。实现方法:通过函数的调用的方法来实现。设计结果:得出盘子中的苹果和橘子数功能模块:放水果:爸爸往盘子中放苹果,妈妈往盘子中放橘子。取水果两女儿在盘子中取苹果,两儿子在盘子

6、中取橘子。关键字:苹果 橘子 C+目录1.设计 目 的 .12.问题 描 述 .23.需 求分析 .34.概要 设 计 .45.详细 设 计 .66.调试分 析 .127.使用说明 .148.设计总结 .159.参考文献 .1610.程序源 代码 .17西安建筑科技大学华清学院课程设计(论文)第 0 页 操作系统课程设计吃水果问题(进程同步)1.设计目的“操作系统”是计算机专业的核心专业课, “操作系统课程设计”是理解和巩固操作系统基本理论、原理和方法的重要的实践环节。操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系

7、十分密切。本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统基本理论与管理方式。在算法基础上,解决实际的管理功能的问题,提高学生实际应用、编程的能力。课程设计要求学生在完成程序设计的同时能够撰写比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。西安建筑科技大学华清学院课程设计(论文)第 1 页 2.问题描述桌子上有一只盘子,最多可容纳两个水果,每次只能放入或者取出一个水果。爸爸专门向盘子中放苹果,妈妈专门向盘子中放橘子,两个儿子专门等待吃盘子中的橘

8、子,两个女儿专门等吃盘子中的苹果。西安建筑科技大学华清学院课程设计(论文)第 2 页 3.需求分析3.1 数据需求爸爸向盘子中放一个苹果:Father()妈妈向盘子中放一个橘子:Mother()儿子 1 从盘子取一个橘子:Son1()儿子 2 从盘子取一个橘子:Son2()女儿 1 从盘子取一个苹果:Daugther1()儿子 1 从盘子取一个苹果:Daugther2()3.2 基本功能需求吃水果问题的需求,主要是放水果和取水果的事情。而这吃水果问题是进程同步问题的模拟,可以把向盘子放或取水果的每一个过程可以转为一个进程的操作,这些进程是互斥的,同时也存在一定的同步关系。我通过这次编程实践时,

9、调用一个进程的操作,计算机在执行时每一个时刻只能执行一个操作,这就默认了互斥。放取水果也向我们展示了进程同步。3.3 非功能性需求用户界面需求:简洁、易用、易懂、友好的用户界面。硬件要求:装有Visual C+6.0的计算机。可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据的丢失。西安建筑科技大学华清学院课程设计(论文)第 3 页 4.概要设计4.1 数据结构(1) 用一个整型变量 Plate_Size 表示盘子,初始值为 0,当放水果时 Plate_Size 加 1,取水果时 Plate_Size 减 1。变量Plate_Size 的最大值为 2,当为 2 时表示盘子已

10、经满,此时若进行放水果操作,放水果将处于等待状态;为 0 时表示盘子为空,此时若进行取水果操作,取水果操作将处于等待状态。(2) 整型变量 orange 和 apple 分别表示盘子中的橘子和苹果数目,初始都为 0,Plate_Size=apple+orange。(3) 用 6 个 bool 型的变量 Father_lag,Mother_lag,Son1_lag,Son2_lag,Daughter1_lag,Daughter2_lag 表示六个进程是否处于等待状态。处于等待时,变量值为 true。(4) 两个放水果进程进程同时处于等待状态时,若有取水果的操作将自动执行等待的放水果进程,执行按等

11、待的先后顺序;两个取苹果或橘子进程同时候处于等待状态,若有放苹果或橘子的操作将自动执行等待的取进程,进行按等待的先后顺序。(5) 用一个随机的函数产生 05 的 6 个整数,分别对应六个进程的调用。4.2 系统包含的函数主函数:用一个随机的函数产生 05 的 6 个整数,分别对应六个进程的调用,调用的次数可以自己输入,本程序共产生了 10 次随机的调用进程。西安建筑科技大学华清学院课程设计(论文)第 4 页 6 个进程函数:爸爸向盘子中放一个苹果操作:Father()妈妈向盘子中放一个橘子操作:Mother()儿子 1 从盘子取一个橘子操作:Son1()儿子 2 从盘子取一个橘子操作:Son2

12、()女儿 1 从盘子取一个橘子操作:Daugther1()女儿 2 从盘子取一个橘子操作:Daugther2()Print 函数:此函数主要功能是用于得到输出盘子中苹果和橘子的个数,以及水果总个数并且是哪些进程处于等待状态。4.3 函数间的关系6 个进程函数和 print 函数共同影响着主函数。而 6 个进程函数则决定着主函数和 print 函数的运行。4.4 系统功能模块图吃水果放水果爸爸放苹果取水果妈妈放橘子两儿子取橘子两女儿取苹果西安建筑科技大学华清学院课程设计(论文)第 5 页 图 4-1 系统功能模块图”5.详细设计5.1 结构体的详细定义int Plate_Size=0; /表示盘子中当前有几个水果int orange=0,apple=0; /表示盘子中 orange 和 apple 的个数bool Father_lag,Mother_lag,Son1_lag,Son2_lag,Daughter1_lag,Daughter2_lag; /六个进程处于等待时,变量值为 true5.2 系统函数详细介绍主函数:void main() /main

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号