1 / 11
文档名称:

操作系统之进程(生产者消费者)实验报告.doc

格式:doc   大小:27KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统之进程(生产者消费者)实验报告.doc

上传人:gdntv68 2022/1/12 文件大小:27 KB

下载得到文件列表

操作系统之进程(生产者消费者)实验报告.doc

文档介绍

文档介绍:. .
. v .
操作系统实验报告
——生产者和消费者问题
XX: 学号: 班级:
一、实验内容
1、模拟操作系统中进程同步和互斥;
2、实现生产者和消费者问题的算法实现;
二、实验目的
1、熟悉临界资源、信号量及PV操作的定义与物理意义;
2、了解进程通信的方法;
3、掌握进程互斥与进程同步的相关知识;
4、掌握用信号量机制解决进程之间的同步与互斥问题;
5、实现生产者-消费者问题,深刻理解进程同步问题;
三、实验题目
在Windows操作系统下用C语言实现经典同步问题:生产者—消费者,具体要求如下:
(1)一个大小为10的缓冲区,初始状态为空。
(2)2个生产者,随机等待一段时间,往缓冲区中添加数据,假设缓冲区已满,等待消费者取走数据之后再添加,重复10次。
(3)2个消费者,随机等待一段时间,从缓冲区中读取数据,假设缓冲区为空,等待生产者添加数据之后再读取,重复10次。
. .
. v .
四、思想
本实验的主要目的是模拟操作系统中进程同步和互斥。在系统进程并发执行异步推进的过程中,由于资源共享和进程间合作而造成进程间相互制约。进程间的相互制约有两种不同的方式。
〔1〕间接制约。这是由于多个进程共享同一资源〔如CPU、共享输入/输出设备〕而引起的,即共享资源的多个进程因系统协调使用资源而相互制约。
〔2〕直接制约。只是由于进程合作中各个进程为完成同一任务而造成的,即并发进程各自的执行结果互为对方的执行条件,从而限制各个进程的执行速度。
生产者和消费者是经典的进程同步问题,在这个问题中,生产者不断的向缓冲区中写入数据,而消费者那么从缓冲区中读取数据。生产者进程和消费者对缓冲区的操作是互斥,即当前只能有一个进程对这个缓冲区进展操作,生产者进入操作缓冲区之前,先要看缓冲区是否已满,如果缓冲区已满,那么它必须等待消费者进程将数据取出才能写入数据,同样的,消费者进程从缓冲区读取数据之前,也要判断缓冲区是否为空,如果为空,那么必须等待生产者进程写入数据才能读取数据。
在本实验中,进程之间要进展通信来操作同一缓冲区。一般来说,进程间的通信根据通信内容可以划分为两种:即控制信息的传送与大批量数据传送。有时,也把进程间控制在本实验中,进程之间要进展通信来操作同一缓冲区。一般来说,进程间的通信根据通信内容可以划分为两种:即控制信息的传送与大批量数据传送。有时,也把进程间控制信息的交换称为低级通信,而把进程间大批量数据的交换称为高级通信。
. .
. v .
目前,计算机系统中用得比较普遍的高级通信机制可分为3大类:共享存储器系统、消息传递系统及管道通信系统。
共享存储器系统
共享存储器系统为了传送大量数据,在存储器中划出一块共享存储区,诸进程可通过对共享存储区进展读数据或写数据以实现通信。进程在通信之前,向系统申请共享存储区中的一个分区,并为它指定一个分区关键字。 信息的交换称为低级通信,而把进程间大批量数据的交换称为高级通信。
消息传递系统
在消息传递系统中,进程间的数据交换以消息为单位,在计算机网络中被称为报文。消息传递系统的实现方式又可以分为以下两种:
(1)直接通信方式
发送进程可将消息直接发送给接收进程,即将消息挂在接收进程的消息缓冲队列上,而接收进程可从自己的消息缓冲队列中取得消息。
. .
. v .
(2)间接通信方式
发送进程将消息发送到指定的信箱中,而接收进程从信箱中取得消息。这种通信方式又称信箱通信方式,被广泛地应用于计算机网络中。相应地,该消息传递系统被称