操作系统中死锁与死机现象的比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年第12期吉林省教育学院学报
N o .12,2010
第26卷J O U R N A LO FE D U C A T I O N A LI N S T I T U T EO FJ I L I NP R O V I N C E
V o l .26(总240期)
T o t a l N o .240
收稿日期:2010—07—25作者简介:哈森格日乐,女,内蒙古兴安盟广播电视大学,讲师。研究方向:计算机应用。
操作系统中死锁与死机现象的教学比较
哈森格日乐
(内蒙古兴安盟广播电视大学,内蒙古兴安盟137400)
摘要:死锁是计算机操作系统中的一个突出问题。死锁与死机是两个不同又有关联的概念。本文从死锁与死机的概念、
产生的原因及排除三个方面进行了比较论述。
关键词:死锁;死机;进程中图分类号:G 642.0 文献标识码:A 文章编号:1671—1580(2010)12—0071—02
操作系统中的死锁可定义为:各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。它是操作系统核心在内部管理和控制的调度设计中造成系统无法继续运行的“死机”现象。
一、产生死锁与“死机”的原因(一)死锁的起因及必要条件
死锁的起因是并发进程的资源竞争。产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。显然,由于资源的有限性,不可能为所有要求资源的进程无限制地提供资源。但是,可以采用适当的资源分配算法,以达到消除死锁的目的。然而要达到消除死锁的目的必须了解产生死锁的必要条件。这个我们从死锁的概念就可以得到。1.互斥条件。并发进程所要求和占有的资源是不能同时被两个以上进程使用或操作的,进程对它所需要的资源进行排他性控制;2.不剥夺条件。进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放;3.部分分配。进程每次申请它所需要的一部分资源,在等待新资源的同时,继续占用已分配到的资源;4.环路条件。存在一种进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。
(二)“死机”的原因1.W i n d o w s 的即插即用功能,简化了新硬件的安装,但随之而来的是系统启动时,总是要搜索所有的驱动程序再决定运行。因此,某些失效硬件的驱动程序会导致“死机”。
2.资源耗尽:“蓝屏”故障常常发生在进行一项比较大或比较多的工作时,或是在保存复制的时候,往往发生得比较突然。这类故障的发生原因主要是与三个堆资源(系统资源、用户资源、G D I 资源)的占用情况有关。资源耗尽会出现“系统资源严重不足”等“蓝屏”警告。平时可以观察一下系统资源的可用比例。
3.版本冲突:尤其是不同文件管理方式。W i n 98与W i n 2000等的F A T 16/32、N T F S 就是如此。
4.注册表损坏:注册表是W i n d o w s 95之后引入的一个管理新概念,采用“表格”数据结构,其中包含了系统所有的信息。在启动和运行时,机器会读取其中的内容以配置系统,同时几乎所有重要操作都会在其中留下蛛丝马迹。通过修改,轻易实现常规操作无法实现的功能,但如果其中的信息受到破坏,那么系统就不能正常工作。
5.“碎片”太多:新安装的系统,数据的存放是连续的。不断运行工作后使文件在硬盘上的存放位置凌乱异常。即便不出现错误,系统性能也要降低。需要定期对硬盘进行碎片整理。
6.驻留主存:任务栏右下侧的系统托盘内的图标控制会使操作带来很大的方便,但这样的方便不仅降低系统性能,而且会耗尽主存和其他系统资源,最后造成系统死机。
7.卸载不完整:不完全卸载,会在系统中产生大量的垃圾文件,从而导致系统的不稳定。
71
DOI :10.16083/j .cn ki .1671-1580.2010.12.059
8.盗版软件的B U G:如果软件编程不规范,主存分配不合理,完成后又未经过严格的测试,在特殊的运行条件下,就会因找不到主存分配地址而频频出错。盗版软件在解密过程中,也会破坏、丢失部分源代码,甚至有病毒而使程序不能正常运行。所以应当使用正版。
9.C M O S设置不当或B I O S版本太旧:C M O S针对基本硬件作出最合理的设置,其中有丰富的参数,从而发挥最佳的性能;但C M O S设置不当会引起很多故障。
10.非正常关机:系统在正常关机的情况下,会进行数据的回写。但非正常关机则会使某些重要数据受到破坏,严重的则不能启动。
11.病毒或黑客入侵破坏:可能使系统彻底崩溃,应安装防病毒软件并经常更新它的病毒库。更要防止各种黑客入侵者。
二、死锁与“死机”的排除
(一)解决死锁的方法
1.死锁的预防。死锁的预防是保证系统不进入死锁状态的一种静态策略。它的基本思想是限制并发进程对资源的请求,从而打破产生死锁的四个必要条件中的一个或几个,保证系统不会进入死锁状态。
(1)破坏互斥条件。对于非同时共享资源,互斥使用是完全必要的。例如,打印机就是一种不能同时为多个进程共享的资源。一种不需要互斥使用、可同时共享的资源不可能导致死锁,只读文件就是这类资源的一个例子。这可以由多个进程同时读信息,而不需要任何等待。对大多数资源来说互斥使用是完全必要的,所以可以通过破坏互斥条件来防止死锁。
(2)破坏保持和等待条件。破坏保持和等待条件的方法有两个,一个是要求每个进程在运行之前就申请它所需的全部资源,若得不到满足就不让它运行。这样,进程在运行中将不再请求并等待分配新的资源;另一个方法是规定每个进程在请求新的资源之前必须释放其已占有的全部资源。
(3)破坏非剥夺条件。破坏非剥夺条件意味着可以收回已分给进程里尚未使用完毕的资源。用这个方法防止死锁的产生有不同的实施方案。方案一是,若一个进程已占用了某些资源的同时,又请求一个新的资源,而这个资源又不能立即分给它,则要剥夺请求进程占用的全部资源,被剥夺的资源加到可用资源表内,其进程加入进程等待队列,直至它再次获得所需的全部资源才能再次运行。方案二是,如果一个进程请求某些资源,首先看这些资源是否是可用的,若是,则分给请求进程;否则,检查这些资源是否分给了某个进程,而此进程是否又正在等待获得更多的资源,若是,则剥夺等待进程的某些资源以满足请求进程的需要;若这两种情况都不是,则请求进程等待,在等待过程中,它的某些资源也有可能被剥夺。
(4)破坏循环等待。为了确保系统在任何时候都不会进入循环等待的状态,我们可以采用资源有序分配策略。即给每类资源一个惟一的整数编号,并按编号的大小给资源定序。
(二)处理死锁的综合措施
可以看出,单独使用某种处理死锁的方法是不可能全面地解决在操作系统中遇到的各种死锁问题的。系统内的全部资源可按层次分成若干类,对于每一类,可以使用最适合于它的办法解决死锁问题。由于使用了资源分层技术,在一个死锁环中,通常只包含某一个层次的资源,而不会包含两个两个以上层次的资源,每一个层次可以使用一种基本的方法,因此,整个系统是不会受控于死锁的。
(三)“死机”的排除
“死机”的排除主要应该以预防为主。只要了解上述主要死机现象的原因,大部分死机现象都可以避免。死机后W i n d o w s系统使用C t r l+A l t+D e l 组合键往往可以见到“系统资源严重缺乏或不足”的警告,提示你撤销结束一系列任务。然而在大多数情况下无法恢复工作,最后只能重新启动机器才能工作,此时工作已遭受损失。
[参考文献]
[1]吴企渊,梁燕.计算机操作系统(第二版)[M].北京:清华大
学出版社,2003.
[2]吴企渊.计算机操作系统[M].北京:清华大学出版社,2006.
AT e a c h i n g C o m p a r i s o no f D e a d l o c k s a n dC r a s h e s i nt h e C o m p u t e r O p e r a t i n g S y s t e m
H as e n g e r i l e
(X i n g A n m e n g r a d i o a n d t e l e v i s i o nu n i v e r s i t yo f I n n e r M o n g o l i a,X i n g A n m e n g137400,C h i n a)
A b s t r a c t:W e o f t e ne n c o u n t e r"d e a t h"p h e n o m e n o n w h e nu s i n gt h e m a c h i n e,T h ed e a d l o c ki s ap r o m i n e n t p r o b l e m i nc o m p u t e r o p e r a t i n gs y s t e m.D e a d l o c k a n d c r a s h a r e t w o d i f f e r e n t b u t r e l a t e d c o n c e p t s.I n t h i s p a p e r,t h e a u t h o r g i v e s a c o m p a r a t i v e d i s c u s s i o n a-b o u t t h e c o n c e p t o f d e a d l o c ka n dc r a s h,t h e c a u s e a n d t h e m e t h o d s t o e l i m i n a t e t h em a l f u n c t i o n.
K e yw o r d s:D e a d l o c k;c r a s h;p r o c e s s
72