操作系统进程管理演示系统开发生产者消费者毕业论文.docx
- 文档编号:666843
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:63
- 大小:191.61KB
操作系统进程管理演示系统开发生产者消费者毕业论文.docx
《操作系统进程管理演示系统开发生产者消费者毕业论文.docx》由会员分享,可在线阅读,更多相关《操作系统进程管理演示系统开发生产者消费者毕业论文.docx(63页珍藏版)》请在冰豆网上搜索。
操作系统进程管理演示系统开发生产者消费者毕业论文
本科生毕业设计(论文)
工程技术系
题目:
操作系统进程管理演示系统开发(生产者-消费者)
操作系统进程管理演示系统的研究与实现
摘要:
操作系统是计算机专业最重要的基础课程之一,其中同步问题是最难的部分。
本文通过分析操作系统进程同步与互斥的问题,然后利用P,V操作实现进程同步与互斥,并利用该算法设计了生产者-消费者模拟演示系统。
通过该演示系统展现进程的管理(生产者-消费者)可以用于操作系统的教学中。
关键词:
生产者-消费者问题;进程;同步;互斥
ResearchandImplementationofProcessManagementSystemDemonstration
Abstract:
Computeroperatingsystemisoneofthemostimportantbasiccourses,andsynchronizationisoneofthemostdifficultpart.Thispaperwillanalyzetheprocessoftheoperatingsystemsimultaneouslywiththeproblemofmutualexclusion,andthenusingP,Vsynchronizationachievingtheoperationabouttheprocessofmutuallyexclusive,andusingthealgorithmdesignoftheproducers-consumersmockdemonstrationsystem.Throughthedemonstrationsystemabouttheprocessofmanagement(producers-consumers)canbeusedfortheteachingoftheoperatingsystem.
Keywords:
producers;consumers;theprocessofsynchronization,;mutex
目录
1引言1
1.1选题的意义1
1.1.1开发系统的背景1
1.1.2开发系统的目的1
1.1.3开发系统的意义2
1.2P,V操作的简介2
1.2.1P,V操作的介绍2
1.2.2进程同步的实现3
1.2.3进程互斥的实现3
1.3生产者-消费者问题的描述3
1.3.1问题的描述4
1.3.2模型分析4
2系统需求分析7
2.1任务概述7
2.1.1目标7
2.1.2运行环境7
2.1.3编程工具7
2.2演示系统的分析7
2.2.1功能需求分析7
2.2.2系统功能模块划分7
2.2.3系统流程分析7
3系统实现10
3.1程序结构10
3.1.1生产者模拟函数代码10
3.1.2消费者模拟函数代码11
3.2MFC界面的设计12
3.2.1MFC的介绍12
3.2.2MFC界面效果14
3.3系统功能的实现17
4系统演示19
4.1系统演示的准备19
4.2系统演示的效果19
4.2.1单生产者-单消费者模拟效果19
4.2.2多生产者-多消费者模拟效果20
4.3系统演示结论22
5总结23
1引言
1.1选题的意义
操作系统(简称OS-operatingsystem)是高等教育计算机应用专业教学计划中一门重要的专业基础课程。
众所周知,计算机是各种信息系统的核心,CPU被喻为计算机系统的心脏,OS被喻为计算机系统的大脑,是用户与计算机系统打交道的环境界面,心脏和大脑的紧密配合,才使计算机系统成为电子时代、信息社会无所不在的基础设施[1]。
OS是在计算机原理与数据结构的基础上的一门提高性课程,是了解和掌握计算机应用系统的基础。
其任务是了解操作系统的基本概念,理解计算机系统的资源(软件资源和硬件资源)如何组织,OS如何有效地管理这些系统资源,用户如何通过OS与计算机系统打交道。
通过学习OS可以进一步理解在计算机系统上运行的其他各类OS并懂得在OS支持下建立自己的应用系统,因此OS是计算机应用的基础[2]。
进程同步包括进程的互斥和进程的同步两个方面,是操作系统管理共享资源的一种手段.也是操作系统学习中的难点。
操作系统教学中有最经典的四个同步、互斥问题为:
生产者——消费者问题、哲学家进餐问题、理发师在空闲中的睡眠问题、读者——作者问题,深入地分析和理解这些问题,对全面掌握同步、互斥问题大有益处,对学校操作系统这门课也有很重要的意义。
1.1.1开发系统的背景
有关操作系统的教材大多注重理论,而绝大多数学习者一生都不可能参于操作系统的研究工作,他们需要的是对理论的理解和对实用系统的灵活应用。
进程同步与互斥的实现是操作系统中的重点内容,也是学习的难点部分。
生产者-消费者问题是经典同步问题之一,不但在操作系统中很重要,而且在分布式应用开发、实时数据库管理系统、CIMS网络工程中都会遇到。
但是以往人们只能从原理上加以理解,没有直观的认识,因而无法实际使用它。
在现代操作系统UNIX、Windows多进程环境下,我们将利用C语言实现多个生产者-消费者可视化同步运行。
1.1.2开发系统的目的
操作系统是计算机学科中的一门重要课程。
对于学习者来说,进程的同步与互斥问题是个令人头痛的问题,尤其是进程同步与互斥算法的实现,更让人往往不知如何下手。
本文通过具体实例,给出了利用、操作解决进程同步与互斥问题的简单方法。
在操作系统教学过程中,因为部分教科书中对生产者和消费者问题的解释不够全面,学生在理解应用过程中经常出现一些问题。
所以本文对生产者和消费者问题算法进行描述,利用操作系统进程管理演示系统(生产者-消费者)进行模拟演示。
1.1.3开发系统的意义
采用信号量机制与PV操作来协调进程的同步,一直是操作系统教学中的一个难点问题,而且由它引出的一系列问题,如:
生产者与消费者、读者与写者、哲学家进餐、理发师等问题都是很典型的进程同步与互斥问题。
这类题型变化多、实例多,又与实际生活中的问题有着紧密联系[3]。
“进程调度”涉及到操作系统的内核操作,原理性较强,也较为抽象,如只是依靠书本的文字和图形,学生理解起来会很吃力。
在操作系统课教学中,就引入了可视化设计帮助学生理解。
操作系统进程管理演示系统(生产者-消费者)可以可视化的向学生展示进程调度,便于教学工作,提高学生的学习效率。
1.2P,V操作的简介
1.2.1P,V操作的介绍
在操作系统中P,V操作是一种原语操作,是不可分割的操作,它要么执行完毕,要么就不执行,也就是说P,V操作一旦执行就不允许被中断,直到执行完成为止。
P,V操作主要通过对信号量的操作来实现对资源的控制,从而控制进程的执行。
信号量是和特定资源相对应的数据结构,由整型数值和指针两部分所组成,其中整型数值表示资源情况,只能由P,V操作来改变,它有三种值:
S>0表示当前可用资源的数量;
S<0其绝对值表示当前等待该类资源的进程数量;
=0表示当前没有可用资源也没进程等待该类资源。
P操作相当于申请资源,进程在使用资源之前,应先调用操作申请所须资源,若资源申请被满足,则进程可以继续执行,否则进程将调用阻塞原语阻塞自己。
P(S)的具体执行过程如下:
①S=S-1;②若S≥0,则进程继续执行;③若S<0,则进程被阻塞,并且该进程的PCB被插到信号量S所对应PCB的等待队列的末尾。
V操作相当于释放资源,进程在使用所申请的资源后,应调用V操作释放所占用的资源。
当释放资源时,进程应考察是否有进程正在等待该类资源,若有,则释放资源的进程有义务调用唤醒原语唤醒等待进程。
V(S)的执行过程如下:
①S=S+1;②若S>0,则进程继续执行;③若S≤0,则调用唤醒原语唤醒等待该资源的进程,原进程继续执行。
1.2.2进程同步的实现
进程同步是指为了共同完成某项任务,具有伙伴关系的进程在执行时间次序上必须遵循确定的规律。
多个进程为了共同完成任务,须要按照一定的次序去执行,各个进程在执行时在时间上具有明显的先后次序,即进程必须按照一定的顺序去执行。
这和进程互斥明显不同。
实现进程同步的关键在于当一个进程执行以后,确定下一个将要执行的进程,并用V操作使该进程可以执行。
在实现时,我们可以在各进程中完成特定功能的程序段两端加上P操作和V操作,它们分别使用不同的信号量,用以在各进程间传递信息。
通常,能够最先执行的进程中,P操作中所使用的信号量的初值大于,而其它进程中,第一个P操作所对应的信号量的初值为零。
这样,在执行时,第一个进程先执行,执行完V操作后,使另一个进程可以执行,依次传递下去,就可以实现各个进程按照一定的顺序执行了。
1.2.3进程互斥的实现
进程互斥是进程间由于竞争资源而产生的相互制约关系。
对于多个使用同一资源的进程,它们对于资源的竞争导致它们在执行时的异步性特征。
竞争到资源的进程可以立即投入运行,而没有竞争到资源的进程只能阻塞自己以等待资源。
进程中用以访问这种被竞争的独占资源(临界资源)的程序段叫做临界区。
要使多个进程不会同时访问临界资源,只需要让它们在执行时不会同时执行临界区内的代码就可以了。
因此我们可以在各进程的临界区的两端分别加入对于同一个初值为的1信号量的P,V操作,就可以实现当一个进程进人临界区后,其它进程不能够再进入临界区,直到先前进人临界区的进程退出临界区后,通过V操作唤醒其它某个等待进程后,才会有进程再次访问临界资源,从而实现多个进程对于临界资源的互斥访问。
1.3生产者-消费者问题的描述
1.3.1问题的描述
设有若干个生产者进程P1,P2,P3,…Pl;若干个消费者进程C1,C2,C3,…Cm,它们通过一个由n个缓冲区组成的有界缓冲池联系起来。
每个缓冲区存放一个“产品”,生产者进程不断地生产产品,并把它们放入缓冲池内,消费者进程不断地从缓冲池内取产品并消费之。
这里既要求同步,也需要恰当地互斥。
同步存在于p、c两类进程之间:
当缓冲池已放满了产品(供过于求),生产者进程必须等待;当缓冲池已空(供不应求),消费者应等待。
互斥存在于所有进程之间,各自需要独占地使用缓冲区。
1.3.2模型分析
1.单缓冲区的单生产者-单消费者问题模型限制条件:
整个系统仅有唯一的一个缓冲区,活动进程仅有一个生产者Producer和一个消费者Consumer。
进程关系分析:
同步关系:
只有在Producer向缓冲区放入物品后,Consumer才能够从缓冲区中取出物品消费;因此存在Consumer对于Producer的同步依赖。
(2)只有在Consumer从缓冲区取出物品后,Producer才能够继续向缓冲区中放入新生产的物品;因此存在Producer对于Consumer的同步依赖。
互斥关系:
Producer放入物品的同时,Consumer是不能从缓冲区中取出物品的;反之亦然。
因此存在Producer和Consumer之间的互斥关系。
2.单缓冲区的多生产者-多消费者问题模型限制条件:
整个系统仅有唯一的一个缓冲区,活动进程有n个生产者Producer和m个消费者Co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 管理 演示 系统 开发 生产者 消费者 毕业论文