操作系统进程管理演示系统开发(生产者消费者)毕业论文.doc
《操作系统进程管理演示系统开发(生产者消费者)毕业论文.doc》由会员分享,可在线阅读,更多相关《操作系统进程管理演示系统开发(生产者消费者)毕业论文.doc(77页珍藏版)》请在三一办公上搜索。
1、 本 科 生 毕 业 设 计(论文)( 2008 届)工程技术系题 目: 操作系统进程管理演示系统开发(生产者-消费者) 学生姓名: 学 号: 专业名称: 班 级: 指导教师 姓名: 系(部): 信息工程学院 职称: 副教授 2008年 5 月 16 日操作系统进程管理演示系统的研究与实现摘要:操作系统是计算机专业最重要的基础课程之一,其中同步问题是最难的部分。本文通过分析操作系统进程同步与互斥的问题,然后利用P,V操作实现进程同步与互斥,并利用该算法设计了生产者-消费者模拟演示系统。通过该演示系统展现进程的管理(生产者-消费者)可以用于操作系统的教学中。关键词:生产者-消费者问题;进程;同步
2、;互斥Research and Implementation of Process Management System DemonstrationAbstract: Computer operating system is one of the most important basic courses, and synchronization is one of the most difficult part. This paper will analyze the process of the operating system simultaneously with the problem
3、of mutual exclusion, and then using P, V synchronization achieving the operation about the process of mutually exclusive, and using the algorithm design of the producers - consumers mock demonstration system. Through the demonstration system about the process of management (producers - consumers) ca
4、n be used for the teaching of the operating system.Key words: producers; consumers; the process of synchronization,;mutex目录1 引言11.1 选题的意义11.1.1 开发系统的背景11.1.2开发系统的目的11.1.3 开发系统的意义21.2 P,V操作的简介21.2.1 P,V操作的介绍21.2.2 进程同步的实现31.2.3 进程互斥的实现31.3 生产者-消费者问题的描述31.3.1 问题的描述41.3.2 模型分析42 系统需求分析72.1 任务概述72.1.1 目
5、标72.1.2 运行环境72.1.3 编程工具72.2 演示系统的分析72.2.1 功能需求分析72.2.2 系统功能模块划分72.2.3 系统流程分析73 系统实现103.1 程序结构103.1.1生产者模拟函数代码103.1.2 消费者模拟函数代码113.2 MFC界面的设计123.2.1 MFC的介绍123.2.2 MFC界面效果143.3 系统功能的实现174 系统演示194.1 系统演示的准备194.2 系统演示的效果194.2.1 单生产者-单消费者模拟效果194.2.2 多生产者-多消费者模拟效果204.3 系统演示结论225 总结231 引言1.1 选题的意义 操作系统(简称O
6、S-operating system)是高等教育计算机应用专业教学计划中一门重要的专业基础课程。众所周知,计算机是各种信息系统的核心,CPU被喻为计算机系统的心脏,OS 被喻为计算机系统的大脑,是用户与计算机系统打交道的环境界面,心脏和大脑的紧密配合,才使计算机系统成为电子时代、信息社会无所不在的基础设施1。OS是在计算机原理与数据结构的基础上的一门提高性课程,是了解和掌握计算机应用系统的基础。其任务是了解操作系统的基本概念,理解计算机系统的资源(软件资源和硬件资源)如何组织,OS 如何有效地管理这些系统资源,用户如何通过OS与计算机系统打交道。通过学习OS可以进一步理解在计算机系统上运行的其
7、他各类OS并懂得在OS支持下建立自己的应用系统,因此OS是计算机应用的基础2。进程同步包括进程的互斥和进程的同步两个方面,是操作系统管理共享资源的一种手段.也是操作系统学习中的难点。操作系统教学中有最经典的四个同步、互斥问题为: 生产者消费者问题、哲学家进餐问题、理发师在空闲中的睡眠问题、读者作者问题, 深入地分析和理解这些问题, 对全面掌握同步、互斥问题大有益处,对学校操作系统这门课也有很重要的意义。1.1.1 开发系统的背景有关操作系统的教材大多注重理论,而绝大多数学习者一生都不可能参于操作系统的研究工作,他们需要的是对理论的理解和对实用系统的灵活应用。进程同步与互斥的实现是操作系统中的重
8、点内容,也是学习的难点部分。生产者-消费者问题是经典同步问题之一,不但在操作系统中很重要, 而且在分布式应用开发、实时数据库管理系统、CIMS 网络工程中都会遇到。但是以往人们只能从原理上加以理解, 没有直观的认识, 因而无法实际使用它。在现代操作系统UNIX、Windows 多进程环境下,我们将利用C语言实现多个生产者-消费者可视化同步运行。1.1.2 开发系统的目的操作系统是计算机学科中的一门重要课程。对于学习者来说, 进程的同步与互斥问题是个令人头痛的问题, 尤其是进程同步与互斥算法的实现, 更让人往往不知如何下手。本文通过具体实例, 给出了利用、操作解决进程同步与互斥问题的简单方法。在
9、操作系统教学过程中,因为部分教科书中对生产者和消费者问题的解释不够全面,学生在理解应用过程中经常出现一些问题。所以本文对生产者和消费者问题算法进行描述,利用操作系统进程管理演示系统(生产者-消费者)进行模拟演示。1.1.3 开发系统的意义采用信号量机制与PV操作来协调进程的同步, 一直是操作系统教学中的一个难点问题, 而且由它引出的一系列问题, 如: 生产者与消费者、读者与写者、哲学家进餐、理发师等问题都是很典型的进程同步与互斥问题。这类题型变化多、实例多,又与实际生活中的问题有着紧密联系3。“进程调度”涉及到操作系统的内核操作,原理性较强,也较为抽象,如只是依靠书本的文字和图形,学生理解起来
10、会很吃力。在操作系统课教学中,就引入了可视化设计帮助学生理解。操作系统进程管理演示系统(生产者-消费者)可以可视化的向学生展示进程调度,便于教学工作,提高学生的学习效率。1.2 P,V操作的简介1.2.1 P,V操作的介绍在操作系统中P,V操作是一种原语操作, 是不可分割的操作, 它要么执行完毕, 要么就不执行, 也就是说P,V操作一旦执行就不允许被中断, 直到执行完成为止。P,V操作主要通过对信号量的操作来实现对资源的控制, 从而控制进程的执行。信号量是和特定资源相对应的数据结构, 由整型数值和指针两部分所组成, 其中整型数值表示资源情况,只能由P,V操作来改变, 它有三种值:S0 表示当前
11、可用资源的数量;S0 其绝对值表示当前等待该类资源的进程数量;=0 表示当前没有可用资源也没进程等待该类资源。P 操作相当于申请资源, 进程在使用资源之前, 应先调用操作申请所须资源, 若资源申请被满足, 则进程可以继续执行, 否则进程将调用阻塞原语阻塞自己。P(S)的具体执行过程如下:S=S-1;若S0, 则进程继续执行;若S0, 则进程继续执行;若S0, 则调用唤醒原语唤醒等待该资源的进程, 原进程继续执行。 1.2.2 进程同步的实现进程同步是指为了共同完成某项任务, 具有伙伴关系的进程在执行时间次序上必须遵循确定的规律。多个进程为了共同完成任务, 须要按照一定的次序去执行, 各个进程在
12、执行时在时间上具有明显的先后次序, 即进程必须按照一定的顺序去执行。这和进程互斥明显不同。实现进程同步的关键在于当一个进程执行以后, 确定下一个将要执行的进程, 并用V操作使该进程可以执行。在实现时, 我们可以在各进程中完成特定功能的程序段两端加上P操作和V操作, 它们分别使用不同的信号量, 用以在各进程间传递信息。通常, 能够最先执行的进程中, P操作中所使用的信号量的初值大于, 而其它进程中, 第一个P操作所对应的信号量的初值为零。这样, 在执行时,第一个进程先执行, 执行完V操作后, 使另一个进程可以执行, 依次传递下去, 就可以实现各个进程按照一定的顺序执行了。1.2.3 进程互斥的实
13、现进程互斥是进程间由于竞争资源而产生的相互制约关系。对于多个使用同一资源的进程, 它们对于资源的竞争导致它们在执行时的异步性特征。竞争到资源的进程可以立即投入运行, 而没有竞争到资源的进程只能阻塞自己以等待资源。进程中用以访问这种被竞争的独占资源(临界资源)的程序段叫做临界区。要使多个进程不会同时访问临界资源, 只需要让它们在执行时不会同时执行临界区内的代码就可以了。因此我们可以在各进程的临界区的两端分别加入对于同一个初值为的1信号量的P,V操作, 就可以实现当一个进程进人临界区后, 其它进程不能够再进入临界区, 直到先前进人临界区的进程退出临界区后,通过V操作唤醒其它某个等待进程后, 才会有
14、进程再次访问临界资源, 从而实现多个进程对于临界资源的互斥访问。1.3 生产者-消费者问题的描述1.3.1 问题的描述设有若干个生产者进程P1, P2, P3,Pl; 若干个消费者进程C1, C2, C3,Cm, 它们通过一个由n 个缓冲区组成的有界缓冲池联系起来。每个缓冲区存放一个“产品”, 生产者进程不断地生产产品, 并把它们放入缓冲池内, 消费者进程不断地从缓冲池内取产品并消费之。这里既要求同步, 也需要恰当地互斥。同步存在于p、c 两类进程之间: 当缓冲池已放满了产品(供过于求) , 生产者进程必须等待; 当缓冲池已空( 供不应求) , 消费者应等待。互斥存在于所有进程之间, 各自需要
15、独占地使用缓冲区。1.3.2 模型分析1单缓冲区的单生产者-单消费者问题模型限制条件:整个系统仅有唯一的一个缓冲区,活动进程仅有一个生产者Producer 和一个消费者Consumer。进程关系分析:同步关系:只有在Producer 向缓冲区放入物品后,Consumer 才能够从缓冲区中取出物品消费;因此存在Consumer 对于Producer 的同步依赖。(2)只有在Consumer 从缓冲区取出物品后,Producer 才能够继续向缓冲区中放入新生产的物品;因此存在Producer 对于Consumer 的同步依赖。互斥关系:Producer 放入物品的同时,Consumer 是不能从缓
16、冲区中取出物品的;反之亦然。因此存在Producer 和Consumer 之间的互斥关系。2单缓冲区的多生产者-多消费者问题模型限制条件:整个系统仅有唯一的一个缓冲区,活动进程有n 个生产者Producer 和m 个消费者Consumer。进程关系分析同步关系:(1)对于任意的i(1in),j(1jm),只有在ProducerI 向缓冲区放入物品后,ConsumerJ才能够从缓冲区中取出物品消费;因此存在ConsumerJ 对于ProducerI的同步依赖。 (2)对于任意的i(1in),j(1jm),只有在ConsumerJ从缓冲区取出物品后,ProducerI才能够继续向缓冲区中放入新生产
17、的物品;因此存在ProducerI 对于ConsumerJ 的同步依赖。互斥关系:(1)对于任意的i(1in),j(1jm),ProducerI 放入物品的同时,ConsumerJ是不能从缓冲区中取出物品的;反之亦然。因此存在ProducerI 和ConsumerJ之间的互斥关系。 (2)对于任意的i(1in),j(1jn),ij,ProducerI 放入物品的同时, ProducerJ是不能放入物品的。因此存在ProducerI 和ProducerJ 之间的互斥关系。(3)对于任意的i(1im),j(1jm),ij, ConsumerI 从缓冲区中取出物品的同时,ConsumerJ 是不能从
18、缓冲区中取出物品的。因此存在ConsumerI 和ConsumerJ 之间的互斥关系。3多缓冲区的单生产者-单消费者问题模型限制条件:整个系统有K 个缓冲区,活动进程仅有一个生产者Producer 和一个消费者Consumer。进程关系分析同步关系:(1)只有在Producer 向缓冲区放入物品后,Consumer 才能够从缓冲区中取出物品消费;因此存在Consumer 对于Producer 的同步依赖。(2)只有在Consumer 从缓冲区取出物品后,Producer 才能够继续向缓冲区中放入新生产的物品;因此存在Producer 对于Consumer 的同步依赖。互斥关系:(1)对于任意的
19、i(1iK),j(1jK),ij,Producer 向空闲缓冲区BufferKi放入物品的同时,Consumer 可以从满缓冲区BufferKj中取出物品;反之亦然。因此Producer 和Consumer 之间不存在针对缓冲区的互斥关系。(2) 尽管Producer 和Consumer 之间不存在针对缓冲区的互斥关系,但由于Producer和Consumer 都需要在操作缓冲区的同时对缓冲区队列进行维护,缓冲区队列也就成为两者间新的临界资源,因此Producer 和Consumer 之间出现了针对缓冲区队列的互斥关系。4多缓冲区的多生产者-多消费者问题模型限制条件:整个系统有K 个缓冲区,活
20、动进程有n 个生产者Producer 和m 个消费者Consumer。进程关系分析同步关系:(1)对于任意的i(1 i n),j(1jm),只有在ProducerI 向缓冲区放入物品后,ConsumerJ 才能够从缓冲区中取出物品消费;因此存在ConsumerJ 对于ProducerI 的同步依赖。(2)对于任意的i(1in),j(1jm),只有在ConsumerJ 从缓冲区取出物品后,ProducerI 才能够继续向缓冲区中放入新生产的物品;因此存在ProducerI 对于ConsumerJ 的同步依赖。互斥关系:(1)对于任意的i(1in),j(1jm),s(1sK),t(1tK),st,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 管理 演示 系统 开发 生产者 消费者 毕业论文
链接地址:https://www.31ppt.com/p-3944021.html