- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统进程互斥与同步教学难点突破
序言
操作系统是计算机专业的核心课程,操作系统的教学主要是让学生理解并掌握操作系统的功能及实现原理,理论性很强,知识点多,教学难度大,学生不易掌握,特别是对于高职院校的学生。为了让学生能很好地学习操作系统的理论知识,老师们进行的了很多的探讨与教学尝试,下面就将我多年来在操作系统教中,对进程同步与互斥这个教学难点的教学方法作一个简单的论述。
2 相关概念的突破
教学时以小型体育运动会实例来解释相关的概念。
实例描述:一个在半天内完成的小型体育运动会。比赛项目有:100米,200米,4*100米接力。而这三个项目又分为预赛和决赛两个阶段进行,预赛先于决赛进行。因此总的比赛项目有:100米预赛,200米预赛,4*100米接力预赛,100米决赛,200米决赛,4*100米接力决赛六个子项目。因为运动场地只有一块,所以某一时刻只能有一项体育比赛可以进行。某项比赛一旦开始,就必须全部比赛完成,但不同的比赛可以穿插进行。
下面通过类比的方法解释与进程相关的概念。
1)进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动。
因为每一个项目都是可以独立进行的,所以可以将每一个项目看成是一个具有独立功能的程序,而将每一项比赛看成是每一个项目在裁判、计时员等支持下的一次独立运行活动。因此六个项目的比赛过程可以看成六个进程的运行。
2)并发:同一个时间段内几个进程都处于已经开始运行和运行完毕之间,且这几个进程都是在同一个处理机上运行,但在任一时刻,只能有一个进程在处理机上运行。我们就说这几个进程处于并发状态。
运动会的三个项目是交替进行的,我们认为这三个项目都处于进行当中,因为他们都没有结束。这种状态就称之为并发状态。因为运动场地只有一个,所以同一时刻只能有一个项目在进行当中,我们就说比赛并行为1,若有两个场地可以同时比赛,我们就说并行为2。
3)临界资源:操作系统把一次仅允许一个进程使用的资源称为临界资源。
由于竞赛场地某一时刻只能进行一场比赛,所以场地是临界资源。
4)临界区:一个进程中访问临界资源的那段程序。
由于每场比赛都要使用场地,因此每场比赛都是临界区。
5)互斥:是指多个进程不能同时使用同一个资源。
由于比赛场地只能轮流使用而不能同时使用,所以使用场地的过程就称为互斥过程。
6)同步:指多个进程之间存在着某种时序关系,必须协同动作、相互配合。
4*100接力比赛是4个人协同完成的,每人跑一棒,而且是第一棒跑完才能跑第二棒,第二棒跑完才能跑第三棒,第三棒跑完才能跑第四棒。这种有严格时序关系的协同过程就称为同步,四个人之间的先后关系就是同步关系。
运动场地是一个封闭的空间,入口有一道门,要想进入运动场,必须获得打开门的钥匙,而钥匙只有一把,所以一开始时的value的初值为1,获得钥匙的运动项目可以进入运动场比赛,而没有获得钥匙的运动项目则在门外排队等待。
8)原语:通常由若干条指令组成,用来实现某个特定的操作。通过一段不可分割的或不可中断的程序实现其功能。
信号量只能通过p原语和v原语访问。
p操作用于申请资源,value值减1,如果资源数量不够,则进程需要阻塞等待。
v操作用于释放资源, value值加1,如果此时valuelt;0,表示有其他进程等待该资源,则唤醒。
当valuelt;0时,| value|表示等待队列的进程数。
拿到钥匙,打开门,进入场地这三个动作必须一次性完成,中间不可以被中止,这就是原语操作。
3 进程互斥的实现
由于运动场地是临界资源,所以哪一个项目可以使用运动场地进行比赛是需要竞争的,那么如何保证进入运动场比赛的项目只能是一个呢?我们使用信号量来控制互斥地使用运动场地。
信号量就是一把钥匙,而且钥匙只有一把,因此设信号量s的初值为1。
由于100米预赛,200米预赛和4*100接力预赛是可以并发进行的,因此,我们设计三个并发程序控制使用运动场地进行比赛(临界区)。而哪个项目能够进行(进入临界区),就看哪个项目获得了运动场地(临界资源)的使用权,而对使用权的控制就是看谁能够进入运动场地,最终则是谁能获得入门的钥匙(信号量),因此只要控制住钥匙,就能实现互斥进入。
结论:使用信号量实现互斥的方法是在临界区前放置一个p原语操作,临界区后面放置一个v原语操作。含义为:p原语申请钥匙,如果成功则获得资源(运动场地),进行比赛,比赛结束后,v原语操作,交出钥匙(信号量),唤醒等待比赛的项目。
4 进程同步的实现
进程之间的关系除了竞争关系以外,可能还存在时间上的制约关系,这种关系就是同步关系。比如运动会中,运动项目之间就存在时序上的先后关系,100米预赛必须
- 软件下载与安装、电脑疑难问题解决、office软件处理 + 关注
-
实名认证服务提供商
专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!
文档评论(0)