- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“操作系统”课程中进程同步互斥教学研究(20页)
“操作系统”课程中进程同步互斥教学研究
摘要:“操作系统”是计算机专业的核心课程之一。由于涉及的学科多、知识点多、课程内容难理解等,该课程的教与学一直是学科难点。成人教育学生普遍起点较低,对纯理论性知识不太乐于接受。本文以该课程的一个核心知识点——进程同步与互斥为实例,探讨如何从学习者的角度设计循序渐进的教学内容,并通过编写程序验证书本理论,提高成教学生的兴趣和实践能力。br 关键词:进程;同步;互斥;信号量;多线程br G642br br 计算机专业中,“操作系统”课程非常重要。操作系统直接高效地管理着计算机的各种软硬件资源,为用户提供使用接口。操作系统是最复杂的系统软件,涉及了程序设计语言、计算机系统结构/硬件、软件设计、网络、算法等。由于该课程内容多而杂,普通高校学生特别是成人教育学生学习比较困难。传统教学方式下,只给学生讲解操作系统原理,学生感到抽象、难懂,近些年来,很多高校加大实验(实践)教学力度,在讲授理论的同时,加入操作系统内核代码分析,如一些学校让学生分析Linux内核。但这势必加大教学工作量,教师无法在五六十学时内完成课程教学。br 为了既让学生深入掌握理论知识,又能通过编码验证理论,本文根据实际教学经验,结合普通高校学生学习该课程的状况,以进程同步互斥为例,从以下四个方面讨论如何循序渐进地展开教学。br br 1 “进程同步与互斥”的引入br br 教学中,首先带领学生回忆在DOS环境下的C语言编程,使学生明白什么是单道程序环境。然后就提高系统的利用率,提出了程序并发执行的载体——进程。程序并发执行时,涉及到相同资源会引起一些问题,但抽象的理论并不利于学生的深入理解,笔者设计了一个银行存取款问题的案例:br 某一银行账户M,尚有存款100元;用户P、Q同时对该账户进行操作,可能会导致数据不一致,操作过程如图1所示:br ① 时间T2T1T0;br ② T0时刻,p0操作读出Mp0=100;br ③ T0时刻,q0操作读出Mq0=100;br ④ T1时刻,p1操作写入数据:存款100,M=Mp0+ 100=200;Q未能获得更新后的数据;br ⑤ T2时刻,q1操作写入数据:存款100,M=Mq0+ 100=200;br br 应该是300元的账户余额,由于操作的并发执行,造成只有200元余额。通过这一具体、直观的例子,让学生明白并发执行与顺序执行有很多不一样的地方,即并发环境中的共享资源,不能同时访问,只可互斥访问。然后带领学生学习并发操作的Bernstein条件、临界资源等知识。br br 2信号量描述br br 怎样才能做到在某一时刻,只有一个进程访问该资源呢,这就是临界资源的管理方法。在介绍了部分不成熟的管理方案后,引入Dijkstra提出的信号量和P、V操作机制。br (1) 信号量定义br 信号量是进程在某一特殊点上被迫停止执行直到接收到一个对应的特殊变量值。进程使用P、V两个原语操作发送和接受信号,如信号没有送到,进程被挂起,直到信号到达。br 信号量按其用途可分为:用于进程互斥访问临界资源的公用信号量;用于进程同步时协调相互关系的私有信号量。br 信号量按其取值可分为:整型信号量、可用资源数目的记录型信号量。br (2)P、V操作定义描述br 信号量结构中需要一个整型计数和一个等待对象。br P操作表示现行进程向系统申请资源,将信号量值减1,如结果小于0,则调用进程被置成等待信号量的状态。br V操作表示现行进程释放该类资源,信号量值加1,系统可用资源数也增加一个,如果s.value≤0,等待队列中有等待进程,则唤醒其中一个。br 信号量定义,PV操作算法C语言描述如下:br br typedef struct {br int value;//信号量值br QueueType waitQueue;//等待队列br } semaphore;br void P(semaphore s){ br --s.value;br if (s.value0){br 阻塞调用进程; br 进程进入等待队列s. waitQueue;br }br }br void V(semaphores){ br ++s.value;br if(s.value=0){br 从等待队列s. waitQueue中取出一个进程;br 将该进程入就绪队列;br }br }br (3) 关于信号量与PV操作的几个结论br 结论1:若信号量s为正值,则该值等于在封锁进程之前对信号量s可施行的P操作数,亦等于s所代表的实际还可以使用的物理资源数。br 结论2:若信号量s为负值,
您可能关注的文档
- “多维互动学习共同体模式”在初中英语教学中的实践.doc
- “多变的天气”课堂教学设计和实施案例.doc
- “多边形面积的计算”学习日记提纲.doc
- “哲学”建筑设计大师程泰宁的不懈追求.doc
- “大学文化素质教育”内涵研究轨迹初探.doc
- “大学生心理压力状况调查研究”总结工作.doc
- “大学生毕业求职全方位培训”服务周策划案.doc
- “大学计算机基础”课程考试改革的探索(23页).doc
- “大调解”体系长效机制法律问题的研究.doc
- “太阳能跟踪系统追日装置”的设计与实现.doc
- 2025江苏南通建交建筑工程有限公司招聘工作人员9人考前自测高频考点模拟试题附答案.docx
- 2025陕西延安子长市事业单位定向招聘大学生退役士兵11人参考题库附答案.docx
- 2025河北张家口蔚县农业农村局特聘农技推广人员招聘5人备考题库最新.docx
- 2026上海华瑞银行“瑞鹿计划”校园招聘备考题库最新.docx
- 2025晋城市城市体验中心(筹备)招聘(10人)考前自测高频考点模拟试题最新.docx
- 2025河南中联重科开封工业园招聘280人模拟试卷最新.docx
- 2025甘肃定西市渭源县司法局选调1人备考题库附答案.docx
- 2025河北省地理信息集团有限公司实习岗招聘30人笔试参考题库附答案.docx
- 2025重庆民生实业(集团)有限公司总部及下属公司招聘10人备考题库附答案.docx
- 2025甘肃临夏州州直事业单位选调16人备考题库附答案.docx
原创力文档


文档评论(0)