操作系统实验报告-三大经典问题之生产者与消费者问题.pdfVIP

  • 7
  • 0
  • 约6.2千字
  • 约 11页
  • 2022-10-10 发布于山东
  • 举报

操作系统实验报告-三大经典问题之生产者与消费者问题.pdf

操作系统实验报告-三大经典问题之生产者与消费者问题 计算机操作系统实验报告 题 目三大经典问题之生产者与消费者问题 1 操作系统实验报告-三大经典问题之生产者与消费者问题 一、课程设计的性质与任务 1、加深对并发协作进程同步与互斥概念的理解。通过编写程序实 现进程同步和互斥,使学生掌握有关进程(线程)同步与互斥的原 理,以及解决进程(线程)同步和互斥的算法,从而进一步巩固进 程(线程)同步和互斥等有关的容。 2、掌握进程和线程 的概念,进 程(线程)的控制原语或系统调 用的使用。 3、了解 Windows2000/XP 中多线程的并发执行机制,线程间的同步 和互斥。学习 使用 Windows2000/XP 中基本的同步 对象,掌握相应 的 API 函数 。 4、培养学生能够独立进行知识综合,独立开发较大程序的能力。 5、培养提高学生软件开发能力和软件的调试技术。 6、培养学生开发大型程序的方法和相互合作的精神。 7、培养学生的创新意识。 8、培养学生的算法设计和算法分析能力。 9、培养学生对问题进行文字论述和文字表达的能力。 二、课程设计的容及其要求 在 Windows XP 、Windows 2000 等操作系统下,使用 的 VC 、 VB 、 Java 或 C 等编程语言,采用 进程(线程)同步和互斥 的技术编写程序实现生产者消费者问题或哲学家进餐问题或读者 - 写者问题或自己设计一个简单进程(线程)同 步和互斥的实际问题 。 要求: (1) 经调试后程序能够正常运行 。 (2)采 用多进程或多线程方式运行,体现了进程(线 程)同步互斥的关系。 (3) 程序界面美观。 2 操作系统实验报告-三大经典问题之生产者与消费者问题 三、实验原理 本实验要求利用 PV 操作实现解决生产 者 — —消费者问题 中的同步问题。此 问题描述的是一群生产者进程在生产产品并将这 些产品提供给消费者进程去消费,在两者之间设置了一个具有 n 个 缓冲区的缓冲池,生产者进程将它所生产的产品放入一个缓冲区, 消费者进程可从缓冲区中取走产品去消费,但它们之间必须保持同 步,即不允许消费者进程到一个空缓冲区去取产品,也不允许生产 者进程向一个已装满且尚未取出的缓冲区中投放产品,并且生产者 消费者互斥使用缓冲区。 四、实验原理图 开始 Wait Products Wait Buffer Consume Produce While consume While produce 结束 五、算法实现 (1)有一个生产者线程 ProduceThread,有 1 个消费者进 程 CustomerThread;缓冲区为 shareList。 (2)使用线程同步:用 synchonized 关键字(加锁)使得一个时间 3 操作系统实验报告-三大经典问题之生产者与消费者问题 只能有一个线程得到执行,另一个线程必须等待当前线程执行完这个 代码块以后才能执行该代码块;wait()让线程进入等待状态;notify ()函数唤醒一个处于等待状态的线程。 (3)程序运行流程图如下:(如不在外部中断,程序将一直循环运行) 开始

文档评论(0)

1亿VIP精品文档

相关文档