- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统-pv操作
课程设计报告(论文) 报告(论文)题目: PV操作解决生产者-消费者问题 作者所在系部: 计算机科学与工程系 作者所在专业: 网络工程 作者所在班级: ******* 作 者 姓 名 : ****** 作 者 学 号 : ************ 指导教师姓名: ******* 完 成 时 间 : 2009年月日 目录 摘要 3 第一章 绪论 4 1.1 综述 4 1.2 设计地点 4 1.3 设计目的 4 1.4 设计意义 4 1.5 设计内容 4 1.6 实验环境 5 第二章 程序设计与实现 5 2.1 详细设计 5 2.1.1 PV操作原理 5 2.1.2生产者消费者问题描述 5 2.1.3 程序流程图 7 2.1.4 调试工具与命令 8 2.1.5关键代码分析 8 第三章 程序调试与运行 9 3.1编译源文件 9 3.2执行目标文件 9 3.3运行结果 10 3.3.1有PV控制运行结果 10 3.3.2无PV控制运行结果 10 3.4进程的结束 11 3.4.1有PV控制进程结束 11 3.4.2无PV控制进程结束 11 第四章 总结 12 参考文献 13 附录:源程序清单 14 摘要 进程同步机制的主要任务是对多个机关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则(或时序)共享系统资源,并能很好的相互合作,从而使程序的执行具有再现性。 生产者和消费者是典型的进程同步问题,它说明了进程同步与临界资源的关系。在生产者-消费者问题中,所描述的是生产者生产和消费者消费之间的关系。为使生产者进程与消费者进程并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池。生产者进程将它所生产的产品,按序放入一个缓冲区中。消费者进程也按序从一个缓冲区中取走产品去消费。尽管所有的生产者进程和消费者进程,都是以异步方式运行的,但他们之间必须保持同步关系,即不允许消费者进程到一个空缓冲区中取产品,也不允许生产者进程向一个已装满产品且尚未取走的缓冲区中投放产品。 一般来说,信号量S=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S=0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。多线程就是有两个或两个以上的信号量,线程同步的运行。 关键词:生产者 消费者 进程 互斥与同步 临界资源 缓冲区 第一章 绪论 1.1 综述 操作系统是现代计算机系统中最基本和最重要的系统让软件,它是计算机科学与技术专业的一门重要的基础课程。通过讲授本课程,学生可以全面的了解操作系统的概念,操作系统是一组能有效的组织和管理计算机硬件和软件资源,合理地对各类资源进行调度,以方便用户使用的程序的集合。其作用是管理好这些设备,提高利用率和系统的吞吐量,为用户和应用程序提供简单的接口,便于用户使用。学完操作系统,可以更好的搭建学生的专业基础知识。 本次课程设计在本着加强课本知识运用能力的前提下,我选取了用PV操作来解决生产者消费者问题这个题目。该题目主要是解决操作系统中进程的同步与互斥的问题。 1.2 设计地点图书馆五楼软二机房1.3 设计目的 在Linux下用C语言,调用Linux提供的系统函数编写程序,实现操作系统中生产着与消费者的同步于互斥问题 1.4 设计意义 结合操作系统理论课程中学习到的记录型信号量机制,进程的创建、调度、终结方法,在Linux操作系统下进行实际编程模拟操作,完成PV操作解决生产者-消费者问题,使进程能够在系统中有条不紊的运行,从而使大家对可以把理论知识运用到实践中来,加深对理论的理解。 1.5 设计内容 设计PV操作算法,用信号量机制实现生产者与消费者同步与互斥问题,并与无PV情况下进行对比。定义20个缓冲区,将其初始化为0。调用随机函数rand()生成随机数,把随机数通过生产者放入缓冲区。若缓冲区满则其值非0。当消费者从缓冲区中去数后缓冲区值变为0。程序可显示缓冲区中的全部内容,方便观察生产者与消费者的行为。程序可通过设置sleep(time)中time的值来控制生产者与消费者的执行顺序。 1.6 实验环境 Ubuntu 默认桌面环境采用 GNOME(The GNU Network Object Model Environ
文档评论(0)