- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统原理课程设计论文终结课件
操作系统原理课程设计
实践报告
题 目: P,V信号量-管程解决读者写者问题 (申优) 姓 名: 樊鹿鸣,梁峰,寄伟杰 学 院: 信息科技学院 专 业: 计算机科学技术系 班 级: 计科121,122 学 号: 19212229 指导教师: 姜海燕 职称: 教授 2015年3月 19 日
摘要:现代操作系统引入并发程序设计技术之后,程序的执行不再是顺序的,封闭的。在多个进程并发运行的过程中,进程之间可能产生相互制约的关系,即竞争和协作。为了协调各个进程有序正确的进行,需要考虑进程之间的同步和互斥等问题。操作系统中经典的“读者—写者”问题正反映了进程并发执行的这种关系。本课程设计所完成的就是对“读者—写者”问题的模拟,本系统根据操作系统中并发进程、临界区、同步和互斥等基本概念及理论进行设计,采用C#语言实现,用管程来实现进程模拟同步和互斥的控制。本系统可按照用户设定的读者--写者数目及缓冲区大小来进行模拟演示。
关键字:P,V信号量 管程 死锁 读者写者问题
目的和意义
在操作系统的进程管理中进程之间的同步与互斥是一个非常重要的问题由于进程是并发执行的这些进程之间存在着不同的相互制约关系如果管理不恰当就会产生结果不确定或者进入死锁,这也是是操作系统原理学习中的重点与难点之一。比较有效的解决方法是使用信号量机制它主要是通过两个操作原语的使用来保证进程之间的同步与互斥读者(写者问题是进程同步的一个经典问题原有的算法是一种读者优先的算法容易造成写者进程的饿死’现象对此作了改进,我们又引进了管程来解决读者写者问题
理论基础
2.1进程的同步与互斥
操作系统内部存在着许许多多的并发活动相对独立的多个用户进程可以并发运行操作系统本身的许多不同功能的进程也可并发执行在进程并发执行时由于资源共享和进程之间的合作使处于同一系统中的进程之间可能产生两种形式的制约关系即直接制约和间接制约,而这两种关系通常表现在两类问题上同步和互斥。进程互斥它主要源于对临界资源共享)多个进程竞争使用临界资源时产生的关系是进程间的间接制约关系在多道系统中)每次只允许一个进程访问的资源’如外设(共享代码段(共享数据结构)为临界资源) 每个进程中访问临界资源的那段程序叫临界区,进程互斥就是保证每次只有一个进程使用临界资源, 这些使用临界资源的进程在逻辑上完全独立) 本无关系) 但是由于竞争同一临界资源而产生了相互制约的关系即一个进程使用临界资源时其他使用临界资源的进程只能等待。进程同步(它主要源于相互协作的进程) 是多个进程相互合作共同完成一项任务时发生的关系,是进程间的直接制约关系,相互合作的进程具有伙伴关系为了保证执行结果的正确性) 在执行时间上必须遵循确定的规律,具体的说一个进程运行到某一点时,要求另一伙伴进程为它提供消息在未获得消息之前该进程处于等待状态获得消息后被唤醒进入就绪态* 在多道环境下) 这种进程间在执行次序上的协调是必不可少的, 为了能够正确控制进程的并发执行操作系统必须提供相应的同步机构以协调这些制约关系,同步机构的主要任务就是使并发执行的进程之间能有效地共享资源和相互合作从而使程序的执行能够有序的进行’’
2.2 读者,写者问题
读者—写者问题(Readers-Writers problem)也是一个经典的并发程序设计问题,是经常出现的一种同步问题。计算机系统中的数据(文件、记录)常被多个进程共享,但其中某些进程可能只要求读数据(称为读者Reader);另一些进程则要求修改数据(称为写者Writer)。就共享数据而言,Reader和Writer是两组并发进程共享一组数据区,要求:
(1)允许多个读者同时执行读操作;
(2)不允许读者、写者同时操作;
(3)不允许多个写者同时操作。
Reader和Writer的同步问题分为读者优先、弱写者优先(公平竞争)和强写者优先三种情况,它们的处理方式不同。
(1)读者优先。对于读者优先,应满足下列条件:
如果新读者到:
①无读者、写者,新读者可以读;
②有写者等待,但有其它读者正在读,则新读者也可以读;
③有写者写,新读者等待。
如果新写者到:
①无读者,新写者可以写;
②有读者,新写者等待;
③有其它写者,新写者等待
2.3 P,V信号量
信号量
文档评论(0)