操作系统课程中的比喻教学
文章编号:1672-5913(2008)06-0092-02
摘要:本文以进程死锁教学为例讨论了比喻法在操作系统教学中的应用过程,指出了运用此教学方法的注意事项及意义。
关键词:操作系统;比喻;死锁
中图分类号:G642
文献标识码:B
操作系统课程在计算机专业教学中占据重要地位,具有理论性强、概念抽象、涉及面广、实践性强但实验很难组织等突出特点。因此,该课程也是计算机专业教师“最难教”,学生“最难学”的课程之一。为了搞好操作系统课程的教学,笔者不断进行教学方法的探索和改进,其中之一就是运用比喻。比喻增强了教学语言的影响力,使得操作系统理论课教学起到事半功倍的效果。
1比喻在操作系统教学中的应用
在操作系统教学的过程中,教师只要比喻设得巧、设得好,就能使本来晦涩难懂、抽象枯燥的知识点变得浅显明了,能收到良好的教学效果。例如我们经常把操作系统比喻为计算机系统的“管家”,要管理的“家务”就是管理和控制计算机的软硬件资源。在《操作系统:设计与实现(第二版)》中,Tanenbaum以“计算机科学家烘制生日蛋糕”的过程为例,清晰明了地说明了进程模型、程序等相关概念。下面笔者以进程死锁教学为例来讨论比喻法在操作系统教学中的应用过程,以达到抛砖引玉的目的。
死锁是操作系统课程当中一个非常重要的概念,主要包括四个知识点:死锁的定义、死锁的起因、死锁的必要条件、死锁的解决方法。笔者设计了一个两人过独木桥的例子并贯穿了死锁教学的始终。
(1) 死锁的定义
在一条河上有一座独木桥,一次只能容纳一个人通过。张三和李四分别从两端过桥,那么两个人可能出现碰面的情况(如图1)。此时对于张三来说,他已走过桥面左面的一段路,要想过桥还须等待李四让出右边的桥面,此时张三不能前进;李四也是一样,要想过桥,必须等待张三让出左边的桥面。如果两个人谁都不妥协,就会陷入一种互相等待的僵局,两个人谁都不能过桥,这种现象就是死锁。如果把人比做进程,桥面作为资源。那么上述问题就描述为:进程张三占有左桥面资源R1,等待右桥面资源R2;进程李四占有资源R2,等待资源R1。结果,两个进程互相等待对方释放资源,陷入僵局,不能向前推进,这就是进程死锁。由此我们可以非常容易引出死锁的定义:是指多个进程循环等待它方占有的资源而无限期地僵持下去的局面。若无外力作用,这些进程都将永远不能向前推进。
图1 独木桥死锁
(2) 死锁的起因
独木桥例子中,如果有两座独木桥,一座桥专门走从左面到右面的人,另一座桥专门走从右面到左面的人,那张三和李四肯定不会死锁。因此,推断出系统资源不足是引起死锁的一种原因。但资源少也未必一定产生死锁,就如同两个人过一座独木桥。如果两个人都要先过,在独木桥上僵持不肯后退,必然会应竞争资源产生死锁。但是,如果两个人上桥前先看一看桥上是否有人,当无人时自己才上桥,那么问题就解决了。所以,如果程序设计得不合理,造成进程推进的顺序不当,是引发死锁的另一种原因。
(3) 死锁的必要条件
互斥条件:在发生死锁的系统中肯定存在需互斥使用的独占性资源。在独木桥例子中,独木桥一次只能容纳一个人通过,就是一种独占资源。
不可抢占条件:资源申请者不能强行的从资源占有者手中夺取资源,资源只能由占有者自愿释放。如过独木桥的人不能强迫对方后退,也不能非法地将对方推下桥,必须是桥上的人自己过桥后空出桥面(即主动释放占有资源),对方的人才能过桥。
占有且申请条件:进程至少已经占有一个资源又申请新的资源,由于该资源已被另外进程占有,此时该进程阻塞。但是,它在等待新资源之时,仍继续占用已占有的资源。还以过独木桥为例,张三走过一段桥面(即占有了一些资源),还需要走余下的桥面(申请新的资源),但那部分桥面被李四占有(李四已经走过一段桥面)。张三过不去,不能前进,又不后退;李四也处于同样的状况。
循环等待条件:在发生死锁的系统中存在若干进程组成的循环等待链,链中的每个进程占有某资源,同时该资源又被下一个进程请求。就像前面的独木桥问题,张三等待李四占有的桥面,而李四又等待张三占有的桥面,从而彼此循环等待。
(4) 死锁的解决方法
预防死锁:通过破坏死锁的四个必要条件中的一个或者多个,来防止死锁的产生。对于独木桥问题,可以通过在桥上安装一个指示灯来破坏“占有并申请”这个必要条件,红灯亮是让左面的人过桥,绿灯亮让右面的人过桥。这样一个人在申请资源时一次性申请完他所需要的两个桥面,即左桥面和右桥面,就不会存在着占有一个桥面还要申请另一个桥面的情况。
避免死锁:系统在每次分配资源时进行预测,以避免死锁发生。在独木桥的例子中就可以引入一个管理员,它负责对桥面资源进行分配,每个人过桥前,必须向管理员提交申请,管理员小心预测一下,如果批准这个申请,会不会引起死锁。如果会,就让此人等待。如果不会,就允许此人过桥。张三和李四都向管理员申请桥面,管理员通过预测发现如果两人都批准,会引起死锁,因此他只会批准其中一个人的申请,让另一个人等待,这样张三和李四就不可能死锁了。
死锁的检测与解除:系统在没有进行“预防”和“避免”的情况下,设置专门机构检测死锁,定时检测,若出现死锁则解除掉。对于独木桥例子,我们就在没有指示灯和管理员的情况下,也就是没有进行预防和避免的情况下,引入一个检测员,检测员负责每隔一个小时到桥上看看有没有死锁发生,如果有,就解除掉。比如他发现张三和李四死锁了,如果想让张三过桥,他可以强迫李四后退,也可以把李四推下河,从而保证张三前进。
2比喻教学中的注意事项
上述的教学案例在具体教学实践中收效甚佳,比喻法教学可以使复杂、抽象的问题变得简单而具体,学生接受时感受性较强、易于掌握。实践证明,只要教师课前认真钻研教材,合理安排教学内容,精心安排教学步骤,巧妙设计与教学内容相匹配的教学案例,比喻恰当,学生在课堂上就能较容易理解和掌握该部分内容。教师在教学过程中运用比喻法应突出注意以下几个方面问题:
首先,比喻要恰当。比喻是用喻体说明本体,不可牛头不对马嘴,“喻体”与“本体”要在某一点上有共同性。
其次,比喻应具有通俗性。比喻是用来沟通已知与未知的,只有使用的事物听者熟悉才能达到目的。要用学生熟悉的事物去比,不能用陌生的事物去比,否则会弄巧成拙。
第三,比喻应具有简洁性,切忌繁琐冗长。
最后,比喻应具有趣味性,越琢磨越有味,越想越感真实。
参考文献
[1] 武益. 比喻法在高职计算机网络教学中的应用[J]. 辽宁高职学报,2004,(6):86-87.
[2] Andrew S.Tanenbaum, Albert S.Woodhull. 操作系统:设计与实现(第二版,上册)[M]. 北京:电子工业出版社,2001.
[3] 汤红明. 比喻法在免疫学教学中的运用[J]. 右江民族医学院学报,2004,(1):133.
版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《操作系统课程中的比喻教学》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。