操作系统 课程设计报告【生产者消费者同步算法】.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:10 大小:200KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

操作系统 课程设计报告【生产者消费者同步算法】.doc

操作系统课程设计报告【生产者消费者同步算法】.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

操作系统课程设计说明书题目:生产者消费者同步算法院系:国际教育学院专业班级:互联网081班姓名:彭猛学号:指导教师:2011年6月25日目录TOC\o"1-3"\h\uHYPERLINK\l_Toc19633一、概述PAGEREF_Toc196331HYPERLINK\l_Toc26538二、使用的基本概念和原理PAGEREF_Toc265381HYPERLINK\l_Toc249332.1多道程序PAGEREF_Toc249331HYPERLINK\l_Toc133602.1进程PAGEREF_Toc133602HYPERLINK\l_Toc235672.3线程PAGEREF_Toc235672HYPERLINK\l_Toc89922.4同步和互斥的概念PAGEREF_Toc89923HYPERLINK\l_Toc29590三、总体设计PAGEREF_Toc295903HYPERLINK\l_Toc11300四、详细编码设计PAGEREF_Toc113004HYPERLINK\l_Toc296534.1UI界面主线程PAGEREF_Toc296534HYPERLINK\l_Toc151394.2管程类PAGEREF_Toc151395HYPERLINK\l_Toc293784.3生产者类PAGEREF_Toc293786HYPERLINK\l_Toc105554.4消费者类PAGEREF_Toc105557HYPERLINK\l_Toc7167五、运行效果截图:PAGEREF_Toc71677HYPERLINK\l_Toc13977六、总结PAGEREF_Toc139778《操作系统》课程设计-一、概述目的;根据进程同步机制,编写一个解决下述问题的程序,可显示缓冲池状态、放数据、取数据等过程。问题:一组生产者向一组消费者提供消息,它们共享一个有界缓冲池,生产者向其中投放消息,消费者从中取得消息。假定这些生产者和消费者互相等效,只要缓冲池未满,生产者可将消息送入缓冲池;只要缓冲池未空,消费者可从缓冲池取走一个消息。主要完成的任务;通过多线程编程实现生产者消费者同步算法。使用的开发工具;Eclipse,语言Java解决的主要问题:上述问题。二、使用的基本概念和原理2.1多道程序多道程序设计是指在主存中同时存放多道用户作业,使它们都处于执行的开始点和开始点之间,这些程序共享计算机系统资源。多道程序设计的主要优点有:(1)提高CPU的利用率。在多道程序环境下,多个程序共享计算机资源当某个程序等待I/O操作时,CPU可以执行其他程序,大大提高CPU的利用率。(2)提高设备的利用率。在多道程序环境下,多个程序共享系统的设备,大大提高系统设备的利用率。(3)提高系统的吞吐量。在多道程序环境下,减少了程序的等待时间,提高了系统的吞吐量。2.1进程进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。2.3线程线程,有时被称为轻量级进程(LightweightProcess,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。2.4同步和互斥的概念进程互斥是进程之间发生的一种间接性作用,一般是程序不希望的。通常的情况是两个或两个以上的进程需要同时访问某个共享变量。我们一般将发生能够问共享变量的程序段成为临界区。两个进程不能同时进入临界区,否则就会导致数据的不一致,产生与时间有关的错误。解决互斥问题应该满足互斥和公平两个原则,即任意时刻只能允许一个进程处于同一共享变量的临界区,而且不能让任一进程无限期地等待。互斥问题可以用硬件方法解决,我们不作展开;也可以用软件方法,这将会在本讲详细介绍。同步