下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统进程互斥与同步教学难点突破1. 序言操作系统是计算机专业的核心课程,操作系统的教学主要是让学生理解并掌握操作系统的功能及实现原理,理论性很强,知识点多,教学难度大,学生不易掌握,特别是对于高职院校的学生。为了让学生能很好地学习操作系统的理论知识,老师们进行的了很多的探讨与教学尝试,下面就将我多年来在操作系统教中,对进程同步与互斥这个教学难点的教学方法作一个简单的论述。2 相关概念的突破教学时以小型体育运动会实例来解释相关的概念。实例描述:一个在半天内完成的小型体育运动会。比赛项目有:100米,200米,4*100米接力。而这三个项目又分为预赛和决赛两个阶段进行,预赛先于决赛进行。因此总
2、的比赛项目有:100米预赛,200米预赛,4*100米接力预赛,100米决赛,200米决赛,4*100米接力决赛六个子项目。因为运动场地只有一块,所以某一时刻只能有一项体育比赛可以进行。某项比赛一旦开始,就必须全部比赛完成,但不同的比赛可以穿插进行。下面通过类比的方法解释与进程相关的概念。1)进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动。因为每一个项目都是可以独立进行的,所以可以将每一个项目看成是一个具有独立功能的程序,而将每一项比赛看成是每一个项目在裁判、计时员等支持下的一次独立运行活动。因此六个项目的比赛过程可以看成六个进程的运行。2)并发:同一个时间段内几个进程都处于已经
3、开始运行和运行完毕之间,且这几个进程都是在同一个处理机上运行,但在任一时刻,只能有一个进程在处理机上运行。我们就说这几个进程处于并发状态。运动会的三个项目是交替进行的,我们认为这三个项目都处于进行当中,因为他们都没有结束。这种状态就称之为并发状态。因为运动场地只有一个,所以同一时刻只能有一个项目在进行当中,我们就说比赛并行为1,若有两个场地可以同时比赛,我们就说并行为2。3)临界资源:操作系统把一次仅允许一个进程使用的资源称为临界资源。由于竞赛场地某一时刻只能进行一场比赛,所以场地是临界资源。4)临界区:一个进程中访问临界资源的那段程序。由于每场比赛都要使用场地,因此每场比赛都是临界区。5)互
4、斥:是指多个进程不能同时使用同一个资源。由于比赛场地只能轮流使用而不能同时使用,所以使用场地的过程就称为互斥过程。6)同步:指多个进程之间存在着某种时序关系,必须协同动作、相互配合。4*100接力比赛是4个人协同完成的,每人跑一棒,而且是第一棒跑完才能跑第二棒,第二棒跑完才能跑第三棒,第三棒跑完才能跑第四棒。这种有严格时序关系的协同过程就称为同步,四个人之间的先后关系就是同步关系。运动场地是一个封闭的空间,入口有一道门,要想进入运动场,必须获得打开门的钥匙,而钥匙只有一把,所以一开始时的value的初值为1,获得钥匙的运动项目可以进入运动场比赛,而没有获得钥匙的运动项目则在门外排队等待。8)原
5、语:通常由若干条指令组成,用来实现某个特定的操作。通过一段不可分割的或不可中断的程序实现其功能。信号量只能通过p原语和v原语访问。p操作用于申请资源,value值减1,如果资源数量不够,则进程需要阻塞等待。v操作用于释放资源, value值加1,如果此时value<0,表示有其他进程等待该资源,则唤醒。当value<0时,| value|表示等待队列的进程数。拿到钥匙,打开门,进入场地这三个动作必须一次性完成,中间不可以被中止,这就是原语操作。3 进程互斥的实现由于运动场地是临界资源,所以哪一个项目可以使用运动场地进行比赛是需要竞争的,那么如何保证进入运动场比赛的项目只能是一个呢?
6、我们使用信号量来控制互斥地使用运动场地。信号量就是一把钥匙,而且钥匙只有一把,因此设信号量s的初值为1。由于100米预赛,200米预赛和4*100接力预赛是可以并发进行的,因此,我们设计三个并发程序控制使用运动场地进行比赛(临界区)。而哪个项目能够进行(进入临界区),就看哪个项目获得了运动场地(临界资源)的使用权,而对使用权的控制就是看谁能够进入运动场地,最终则是谁能获得入门的钥匙(信号量),因此只要控制住钥匙,就能实现互斥进入。结论:使用信号量实现互斥的方法是在临界区前放置一个p原语操作,临界区后面放置一个v原语操作。含义为:p原语申请钥匙,如果成功则获得资源(运动场地),进行比赛,比赛结束
7、后,v原语操作,交出钥匙(信号量),唤醒等待比赛的项目。4 进程同步的实现进程之间的关系除了竞争关系以外,可能还存在时间上的制约关系,这种关系就是同步关系。比如运动会中,运动项目之间就存在时序上的先后关系,100米预赛必须先于100米决赛之前进行,而200米决赛则不能早于200米预赛之前进行。4*100米接力赛中的四个人之间也存在着先后关系。那么如何通过信号量来实现这个同步关系呢?我们以100米预赛和100米决赛之间的时序关系为例说明如何实现同步。100米预赛和100米决赛为两个并发程序,100米预赛早于100米决赛进行。则可以将它们之间的时序关系通过有向图来表示,图1说明了100米预赛先于100米决赛进行。说明:由于信号量初值为0,因此只有当【100米预赛】并发程序执行结束以后,s的值才能为1,也只有当s的值为1后,【100米决赛】并发程序才能够执行,从而实现了两个并发程序之间的时序关系。综上所述,我们总结出进程同步中并发程序的书写规则:1)将问题中的所有有时序关系的并发程序找出,用有向图画出他们之间的时序关系;2)有向图中有几个结点,则写几个并发程序;3)有向图中有几个有向箭头,则设置几个信号量,同时将所有信号量的初值设为0;4)对于有向图中的每个结点,如果有一个出向箭头,则在并发程序的后面加一个v操作;5)对于有向图中的每个结点,如果有一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上海华东师范大学体育与健康学院健美操啦啦操运动队管理岗位招聘1人考试参考试题及答案解析
- 2026年江西艺术职业学院单招职业适应性测试题库有答案详细解析
- 2026青岛市财通集团有限公司招聘(27人)考试参考试题及答案解析
- 2026年漳州科技学院单招综合素质考试题库附答案详细解析
- 基于对称原理的剪纸纹样设计在小学美术课堂的应用研究课题报告教学研究课题报告
- 2026年宁波卫生职业技术学院单招综合素质考试题库附答案详细解析
- 五年级数学上册第四单元第四课时《探索活动:平行四边形的面积(试一试)》教学设计
- 2026上半年四川事业单位统考安州区考试招聘教师26人备考题库【轻巧夺冠】附答案详解
- 2026年广元中核职业技术学院单招职业适应性测试题库附答案详细解析
- 2026浙江衢州市教育局“南孔学地教职等你”硕博专场招聘56人备考题库(有一套)附答案详解
- 电力行业安全管理与监督指南(标准版)
- 2026吐鲁番高昌区招聘社区工作者36人笔试备考试题及答案解析
- (一模)包头市2026年高三第一次模拟考试历史试卷(含答案)
- 成人肠内营养耐受不良识别与防治专家共识2026
- 1.身心健康很重要(教学课件)统编版道德与法治二年级下册
- 2025-2026学年春季第二学期中小学总务处工作计划
- 血透室发生地震应急预案演练
- 多囊卵巢综合征诊疗指南(2025年版)
- 公司监事会档案管理制度
- 光伏网络安全培训
- 行政岗位任职资格分级标准详解
评论
0/150
提交评论