1、选题的意义及研究状况:(1)选题的意义:操作系统是计算机系统中的核心软件之一,因此,操作系统基础知识是任何合格的计算机专业人员必须掌握的专业知识。在“操作系统”学习中,进程管理是一个主要内容。其中如何有效地使用信号量机制来实现并发进程的互斥与同步是进程管理乃至整门课程中的重点和难点。操作系统中,为了避免进程的死锁,给出了一种有效的控制算法----PV操作。用操作解决进程同步问题时首先应确定问题是属于进程互斥还是进程同步,或是互斥与同步的混合问题。41819
(2)研究状况:
目前经典的进程同步问题有“生产者一消费者问题”、“哲学家进餐问题”和“读者一写者问题”等。“生产者一消费者问题”作为其中较为基础的问题。它对帮助理解进程互斥同步具有重要意义,也对学习引申思考和解决其他进程同步问题有着重要作用,所以各类操作系统教材都将其作为主要例题。但大多数教材都在介绍了wait、signal操作之后,就引入该例题,且只有伪代码表示,没有具体的分析过程。因此为了更好地理解进程的同步,深入研究和探讨进程同步的具体过程并用PV操作进行演示说明就尤为重要。
本次研究也主要用伪代码表示,并加以演示说明。
2、主要内容、研究方法和思路:
(1)主要内容:
同步和互斥为进程之间的两种制约关系,协调好这两种关系便能使进程一我们期待的方式进行。进程互斥是进程之间产生的一种间接作用,是由共享某一公有资源而引起的。进同步是进程之间直接产生的相互作用,主要体现在进程之间的合作关系。信号量机制是操作系统中协调进程同步和互斥的一种十分有效的工具。
这次课题就以信号量机制来研究几种经典的进程同步算法,经典的进程同步算法分为以下四类:
1、单线程单缓冲问题
以计算机打印进程为例,计算机把计算得出的数据存入缓冲区中,而打印机则从缓冲区取出数据并打印出来。缓冲区每次只能存放一个数据包(一个数据包为计算机一次运行的数据结果或是打印机一次打印所需数据)。
2、单线程多缓冲问题
和单线程单线程单缓冲问题类似,不同的是缓冲区可以同时存放多个数据包,在这里我们假设可以同时存放n个数据包。这类问题可以用计算机打印进程来表述,也可以看做是简单的生产者—消费者问题。
3、多线程多缓冲问题
我们可以看做是多个计算机和多个打印机在同时工作,之间相互联系,同时又互不干涉。这类问题就是经典的生产和消费者关系,我们把计算机看成是生产者,把打印机看成是消费者问题。这类问题较为复杂,理解起来就更难,因此问题也就更多。比如生产者在向某一空间存放商品的同时有消费者想从该空间取商品,那么这是两者变化产生了冲突。解决这中冲突的方法有多重,比如设定存储空间一次只能进去一人将存取空间设定为临界资源,或是设定在商品完全存放好之前该空间为空和在一开始取商品便设定该空间为空..等等。那种方法更有效,那种方法能更大限度的避免进程之间的冲突便是我们研究的方向。
4、生产者—消费者的改良问题
这类问题更为复杂,主要代表有哲学家就餐问题、读者—写者问题和公交车停靠问题等。问题更多样化,进程之间的联系更多样化,冲突也更容易产生,往往和现实生活中的实际问题相似。
四种问题中我们只要讨论第三个也就是经典的生产者消费者问题.进程越复杂,进程在执行的时候也就越容易出错,为了使进程更好更快的执行便要对进程进行一低昂的限制,设定条件。解决问题就要按照步骤来进行: 经典进程同步问题和PV操作算法开题报告:http://www.751com.cn/kaiti/lunwen_42009.html