没有合适的资源?快使用搜索试试~ 我知道了~
操作系统进程同步和互斥的实验报告
4星 · 超过85%的资源 需积分: 50 94 下载量 49 浏览量
2008-12-17
21:11:44
上传
评论 8
收藏 57KB DOC 举报
温馨提示
试读
5页
操作系统进程同步和互斥的实验报告。。。关于操作系统进程的同步与互斥问题的实验报告。
资源推荐
资源详情
资源评论
湖南农业大学信息科学技术学院
学 生 实 验 报 告
姓名: 汤黎波 年级专业班级 06
计教班 日期 2008 年 11 月 25
日 成绩
课程名称 操作系统 实验名称 进程同步和互斥
实验类型
验证 设计
综合 创新
【实验目的、要求】
(1)通过编写程序实现进程同步和互斥,掌握有关进程(线程)同步与互斥的原理,以及解决进程(线
程)同步和互斥的算法,从而进一步巩固进程(线程)同步和互斥等有关的内容。
(2)了解 Windows2000/XP 中多线程的并发执行机制,线程间的同步和互斥。
(3)学习使用 Windows2000/XP 中基本的同步对象,掌握相应的 API 函数。
(4)掌握进程和线程的概念,进程(线程)的控制原语或系统调用的使用。
【实验内容】
在 Windows XP 操作系统下,使用 java 等编程语言,采用进程(线程)同步和互斥的技术编写程序实现
生产者-消费者问题。
【实验环境】(含主要设计设备、器材、软件等)
装有 JDK1.6 的 PC 电脑一台
【实验步骤、过程】(含原理图、流程图、关键代码,或实验过程中的记录、数据等)
生产者进程(进程由多个线程组成)生产信息,例如它可以是计算进程。消费者进程使用信息,它可以
是输出打印进程。由于生产者和消费者彼此独立,且运行速度不确定,所以很可能出现生产者已产生了
信息而消费者却没有来得及接受信息这种情况。为此,需要引入由一个或者若干个存储单元组成的临时
存储区,以便存放生产者所产生的信息,平滑进程间由于速度不确定所带来的问题。这个临时存储区叫
做缓冲区,通常用一维数组来表示。由一个或若干个存储单元组成的缓冲区叫作“有穷缓冲区”。下面我
们来分 析一下有穷缓冲的生产者和消费者的例子。
原理图
假设有多个生产者和多个消费者,它们共享一个具有n个存储单元的有穷缓冲区Buer(0……n-1),
这 是一个环形队列。其队尾指针Rear指向当前信息应存放的位置(Buer[Rear]),队首指针Front
指向当前 取出信息的位置(Buer[front])。生产者进程总是把信息存放在Buer[Rear]中,消费者进程
则总是从 Buer [Rear]中取出信息。如果想使生产者进程和消费者进程协调合作,则必须使它们
遵循如下规则:
1) 只要缓冲区有存储单元,生产者都可往其中存放信息;当缓冲区已满时,若任意生产者提出写要
求,则都必须等待;
2) 只要缓冲区中有消息可取,消费者都可从缓冲区中取出消息;当缓冲区为空时,若任意消费者想
取出信息,则必须等待;
生产者
缓
冲
池
消费者
放入产品
获取缓冲区情况
取出产品
获取缓冲区情况
资源评论
- lxy2856130652014-12-15还算可以把,不是我需要的,刚开始我运行的时候有bug,调试了半天。
tanglibo1987
- 粉丝: 3
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功