基于Linux的OS课程设计2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“备”则“倍” 有准备、有规划的人生更精彩! OS课程设计 生产者-消费者问题 2013.12.19 * 问题简要描述和设计要求 基于线程的生产者-消费者的合作问题 其中(生产者)从外设获取数据进行生产 另外(消费者)消费后进行输出,并存储输出结果。 在Linux环境下使用POSIX库进行设计实现 鼓励使用QT进行图形化显示 根据情况决定是否进行答辩 可以2人一组,但不能超过2人,在报告中必须要有明确分工 * 问题具体描述和设计要求 完成N个生产者和M个消费者线程之间的并发控制,N、M不低于30,数据发送和接收缓冲区尺寸不小于20个(每个产品占据一个)。 其中生产者线程1、3、5、7、9生产的产品供所有奇数编号的消费者线程消费,只有所有奇数编号的消费者线程都消费后,该产品才能从缓冲区中撤销。 其中生产者线程2、4、6、8、10生产的产品所有偶数编号的消费者线程都可消费,任一偶数编号消费者线程消费该消息后,该产品都可从缓冲区中撤销。 其中11-20号生产者线程生产的产品仅供对应编号的消费者线程消费。 其他编号生产者线程生产的产品可由任意的消费者线程消费。 每个生产线程生产30个消息后结束运行。如果一个消费者线程没有对应的生产者线程在运行后,也结束运行。所有生产者都停止生产后,如果消费者线程已经没有可供消费的产品,则也退出运行。 * 设计目的 掌握并能够灵活使用线程机制 掌握并能够灵活使用同步互斥机制 了解并能够较灵活地使用IO技术 pthread_mutex_trylock 线程间的同步还有这样一种情况:线程A需要等某个条件成立才能继续往下执行,现在这个条件不成立,线程A就阻塞等待,而线程B在执行过程中使这个条件成立了,就唤醒线程A继续执行。在pthread库中通过条件变量(Condition Variable)来阻塞等待一个条件,或者唤醒等待这个条件的线程。 * 基本分析:for example 基于线程的生产者-消费者的合作问题 其中(生产者)从外设获取数据进行生产 另外(消费者)消费后进行输出,并存储输出结果 1:定义读入的(数据)的格式、定义(生产)的动作。 2:定义定义(消费)的动作、输出的(数据)的格式。 问题:需要定义几种??? * 更进一步的分析:for example 基于线程的生产者-消费者的合作问题 其中一组线程(生产者)从外设获取数据进行生产 另外一组线程(消费者)消费后进行输出,并存储输出结果 1:你设计的生产者和消费者是工作在本地还是远端? 2:数据是从硬盘的文件上读取还是从键盘上获得?读取一个相同的文件是读一部分还是整体?(比如一个文件,包括三部分:用户ID、请求动作、正文) 3:消费者对数据做何种处理(加密、解密或者计算等)?以何种方式实现? 4:用户如何获得相关信息? 。。。。。。。。。。。 分析不同,设计也就不同 分析不同,你的最终程序的实用价值也就不同 * 设计的要点 使用哪一种IPC机制?如何工作? 使用哪一种同步互斥机制?如何工作? 文件有格式还是无格式? 效率如何? 如何进行测试? 如何对保存测试信息? 。。。。。。。。。。。 设计不同,你的应用程序的健壮行、效率、可扩展性、用户方便性也就不同 * 设计报告格式 设计目标 背景知识说明 原理 相关函数说明 设计 设计环境(例如:面向何种用户、网络通信、内存大小等) 概要设计----图 详细设计和实现思路实现 ---图 重要代码注释 测试 测试数据文件格式 运行结果分析(是否满足上面的要求了?) 总结 参考源代码 请同学们按流程进行工作准备、完成设计和报告 1.正确认识自我,尊重自我——人职和谐的基础 2.充分了解职场,努力做到人职匹配 3.适应社会需求与发展,选择最能发挥自己能力特长的职业。 没有最好的职业,只有最适合自己的职业,适合自己的才是最好的。 1.职业生涯开发与管理的观点是:只要开始,永远不晚; 只要进步,总有空间。 2.在职业生涯的道路上,重要的不是目前所处的位置, 而是迈出下一步的方向。 * *

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档