欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统课程设计--苹果问题

    • 资源ID:1417565       资源大小:304.50KB        全文页数:21页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    操作系统课程设计--苹果问题

    1、 操作系统操作系统课程设计课程设计 题目名称:苹果问题 专业:计算机科学与技术 班级: 姓名: 学号: 1 目录 目录. 1 1设计题目与要求 2 1.1 设计目的 . 2 1.2 设计要求 . 2 2 总体设计思想 2 2.1 总体设计思想 2 3 功能设计. 3 3.1 数据结构设计 . 3 3.2 模块说明 . 3 3.3 各模块的算法流程图 . 4 3.4 P、V 原语的描述 . 7 4 .开发平台及程序清单的主要部分 . 9 4.1 开发平台 . 9 5. 运行结果与运行情况分析. 9 5.1 运行结果 . 9 6. 自我评价与总结11 7. 参考资料 11 附录. 12 程序源代码

    2、: . 13 2 1设计题目与要求设计题目与要求 1.1 设计目的设计目的 通过实现吃水果问题的同步,深入了解和掌握进程同步的原理。 1.2 设计要求设计要求 吃水果问题的描述: 桌子上有一只盘子,最多可容纳两个水果,每次只能放入或者取出一个水果。爸爸专 门向盘子中放苹果(apple) ,妈妈专门向盘子中放橘子(orange) ,两个儿子专门等待吃 盘子中的橘子,两个女儿专门等吃盘子中的苹果。 2 总体设计思想总体设计思想 2.1 总体设计思想总体设计思想 这是进程同步与互斥问题的模拟, 可以把向盘子放或取水果的每一个过程可以转为一个 进程的操作,这些进程是互斥的,同时也存在一定的同步关系。通

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

    4、3.1 数据结构数据结构设计设计 (1)用一个整型变量 Plate_Size 表示盘子里的水果数量,初始值为 0,当放水果时 Plate_Size 加 1,取水果时 Plate_Size 减 1。变量 Plate_Size 的最大值为 2,当为 2 时 表示盘子已经满, 此时若进行放水果操作, 放水果将处于等待状态; 为 0 时表示盘子为空, 此时若进行取水果操作,取水果操作将处于等待状态,Plate_Size 是爸爸和妈妈进行放水 果的私有信号量。 (2)整型变量 orange 和 apple 分别表示盘子中的橘子和苹果数目,初始都为 0,其中 orange 是 儿 子 的私 有 变量 ,

    5、apple 是女 儿 的私 有 变 量, 盘 子中 的 总 水果 数 是 Plate_Size=apple+orange。 (3) 用 6 个 bool 型 的 变量 Father_lag , Mother_lag, Son1_lag , Son2_lag , Daughter1_lag,Daughter2_lag 表示六个进程是否处于等待状态。处于等待时,变量值为 true。 (4)两个放水果进程同时处于等待状态时,若有取水果的操作将自动执行等待的放水果 进程,执行按等待的先后顺序自动调用;两个取苹果或橘子进程同时候处于等待状态,若 有放苹果或橘子的操作将自动执行等待的取进程,进行按等待的先

    6、后顺序自动调用。 (5)用一个随机的函数产生 05 的 6 个整数,分别对应六个进程的调用。 3.2 模块说明模块说明 3.2.1 主函数 用一个随机的函数产生 05 的 6 个整数,即 i=rand()%6,分别对应六个进程的调用, 调用的次数可以通过修改 K 值来实现,for(k=0;k10;k+),本程序共产生了 10 次随机的 调用进程。 3.2.2 6 个进程函数 爸爸向盘子中放一个苹果操作:Father() 妈妈向盘子中放一个橘子操作:Mother() 4 儿子 1 从盘子取一个橘子操作:Son1() 儿子 2 从盘子取一个橘子操作:Son2() 女儿 1 从盘子取一个橘子操作:Daugther1() 女儿 2 从盘子取一个橘子操作:Daugther2() 3.2.3 Print 函数 用于输出盘子中苹果和橘子的个数,水果总个数及哪些进程处于等待状态。 3.3 各模块的算法流程图各模块的算法流程图 331 放水果操作 A、爸爸放苹果进程的操作流程图: Father 操作: Plate_Size=2 否 否 Daugther1 或


    注意事项

    本文(操作系统课程设计--苹果问题)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583