东北大学操作系统试验_第1页
东北大学操作系统试验_第2页
东北大学操作系统试验_第3页
东北大学操作系统试验_第4页
东北大学操作系统试验_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统实验(三),进程同步和通信生产者和消费者问题模拟,实验三:进程同步和通信生产者和消费者问题模拟,1.实验目的,这是一个验证型实验。通过对给出的程序进行验证、修改,进一步加深理解进程的概念,了解同步和通信的过程,掌握进程通信和同步的机制,特别是利用缓冲区进行同步和通信的过程。通过补充新功能,加强对知识的灵活运用,培养创新能力。,2.实验内容及要求,调试、运行给出的程序,从操作系统原理的角度验证程序的正确性。发现并修改程序中的原理性错误或不完善的地方。鼓励在程序中增加新的功能。完成基本。,实验三:进程同步和通信生产者和消费者问题模拟,2.实验内容及要求,实验三:进程同步和通信生产者和消费者问题模拟,在程序中适当地加入注释。认真进行预习,阅读原程序,发现其中的原理性错误,完成预习报告。实验完成后,要认真总结,完成实验报告。,实验三:进程同步和通信生产者和消费者问题模拟,所给程序模拟两个进程,即生产者(producer)进程和消费者(Consumer)进程工作。生产者每次产生一个数据,送入缓冲区中。消费者每次从缓冲区中取走一个数据。,3.程序说明,共享缓冲区,生产指针,消费指针,Producer,Consumer,满,空,指针移动方向,实验三:进程同步和通信生产者和消费者问题模拟,缓冲区可以容纳8个数据。因为缓冲区是有限的,因此当其满了时生产者进程应该等待;当消费者取走一个数据后,应唤醒正在等待的生产者进程。当缓冲区空时,消费者进程应该等待;当生产者向缓冲区放入了一个数据时,应唤醒正在等待的消费者进程这就是生产者和消费者之间的同步。,3.程序说明,实验三:进程同步和通信生产者和消费者问题模拟,每次写入和读出数据时,都将读和写指针加一。当指针到达缓冲区尾,重新将指针退回起点。为简单起见,每次产生的数据为0-99的整数,从0开始,顺序递增。两个进程的调度是通过运行者使用键盘来实现的,3.程序说明,实验三:进程同步和通信生产者和消费者问题模拟,进程控制块:包括进程名,进程状态和执行次数。缓冲区:一个整数数组。缓冲区说明块:包括类型,读指针,写指针,读等待指针和写等待指针。,4.程序中的数据结构说明,实验三:进程同步和通信生产者和消费者问题模拟,启动程序后,如果使用p键则运行一次生产者进程,使用c键则运行一次消费者进程。使用e键则退出程序。通过屏幕可以观察到两个进程的状态和缓冲区变化的情况。,5.程序使用说明,实验三:进程同步和通信生产者和消费者问题模拟,实验的题目、目的、内容、要求初步理解的程序流程图拟修改、补充的源程序,指出原来程序错误所在,并说明程序中拟加入的功能。修改、完善后程序预期的运行结果说明.,6.预习报告内容要求,实验三:进程同步和通信生产者和消费者问题模拟,实验的题目、目

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论