学习啦 > 论文大全 > 毕业论文 > 计算机论文 > 计算机理论 > 计算机操作系统毕业论文(2)

计算机操作系统毕业论文(2)

时间: 秋梅1032 分享

计算机操作系统毕业论文

  计算机操作系统毕业论文篇2

  浅析计算机操作系统中死锁问题

  摘 要:死锁问题是计算机操作系统故障中一个十分重要的组成部分,其在对计算机资源使用最优化的实现面前无疑是个亟待解决的问题,当然,就这种计算机操作系统中的死锁问题而言,其绝不是凭空产生的,相反的,其有着自身的一系列必要条件,而这些必要条件和产生原因实际上又可以为相应应对措施的采取指明突破口。本文主要围绕着计算机操作系统中的死锁问题这一中心主题,从死锁问题的具体内涵出发,通过对其产生原因、必要条件的论述和揭示,最后给出可行的死锁解决策略。

  关键词:计算机操作系统;死锁问题;原因;对策

  死锁,顾名思义,就是一个不通的状态,而当期具体到计算机操作系统之中时,其则表示在一把包括多个进程在内的进程集合体中,每个进程都在等待相应事件的促发,而这些事件却又在等待另一类进程的完成,因此,这样一来进程之间一直处于一种等待的状态之中,无法得到顺利地执行。当然,这种不同的状态也就必然导致了资源空间的极大浪费,不需要占用的资源无法放出,需要的资源又无法得到利用,这对于计算机操作系统的运行来说,无疑是个不好的消息。因此,我们在进行实际的计算机操作系统设计和运行时,总是需要将其产生原因及形成机制有一个完整的认识,并及时地采用相关措施加以应对。

  1 计算机操作系统死锁问题

  我们知道,操作系统是一台计算机的灵魂,没有操作系统计算机只能是一副空壳,什么功能也无法实现。然而,也正是在这种操作系统重要性的要求之下,人们已经对其越来越为依赖了。当然,这种依赖性如果碰到计算机运行不畅或者死机的情况,用户则会变得异常烦躁,而这种死机以及卡壳现象的发生实际上在很大层面上都是死锁问题导致的。我们都可以清晰认识到的是,就一个计算机系统而言,其所具有的系统资源是相对有限的,而这种资源在多数情况下又表现出一种独占性的特点,即许多资源无论在什么时刻都只能供一个进程使用,而这一个进程所占用的系统资源又是多方面的。虽然如今的计算机操作系统大部分采用的都是并发处理以及资源共享,但是其在中央处理器上的执行时间是不确定的,这样就必然导致进程在具体执行的之后呈现出一定的不确定性。

  另外,这些进程实际上又存在着一种竞争的关系,而这样一来就必然导进程发生死锁的现象。事实上,就计算机操作系统的死锁问题而演变,其实际上就是指一个不通的状态,而当期具体到计算机操作系统之中时,其则表示在一把包括多个进程在内的进程集合体中,每个进程都在等待相应的促发,而这些事件却又在等待另一类进程的完成,因此,这样一来进程之间一直处于一种等待的状态之中,无法得到顺利地执行。当然,这种不同的状态也就必然导致了资源空间的极大浪费,不需要占用的资源无法放出,需要的资源又无法得到利用。因此,我们可以发现,单个进程是不会发生死锁问题的,只有两个或者两个以上的进程出现时,死锁才能够产生。

  2 计算机操作系统死锁问题的形成机制

  事实上,就计算机操作系统的死锁问题而言,其虽然是如今给人类操作系统以及各个操作系统版本在实际的使用过程中经常出现的一类问题,并对用户的实际运用造成了一定的影响,而这种影响是不能凭空产生的,因为这种操作系统死锁问题有着一定的的形成机制。一般来说,造成计算机操作系统死锁的原因主要包括有两个方面,一方面是多个进程在系统资源使用上的竞争,即系统中所具有的共享资源并不能满足相关进程的需要,从而出现争夺的现象,而这种资源又可以具体分为硬件资源以及包括数据在内的软件资源。另一方面则是进程在进行顺序的安排上是非法的,这样一种非法的顺序也就必然导致计算操作系统出现混乱以及卡壳的现象。

  一般来说,计算机操作系统中的资源可以大致分为可剥夺性资源以及不可剥夺性资源,而就前者而言,当某一进程向系统请求要占用这一资源时,其完全可以为代替原先占用的那个进程,但是这种进程实际上又需要依赖相应的进程优先实现。即优先级高的可以剥夺优先级低的,反之则不成立。而包括打印机以及磁带机在内的后者则不可能实现这一剥夺行为,而且也正是这种不可剥夺性,使得其死锁发生的概率大大增加。当然,包括信号量使用不当以及程序设计不合理等在内的因素也会直接导致计算机操作系统死锁问题的发生。例如,进程与进程之间都在互相等待双方传来的消息,而这种消息如果使用不当则会使得相关进程不能顺利地向前推进,从而陷入一种死锁状态。不过,死锁若要产生,其就必须就要符合多个条件,即每一个资源只能被一个进程使用、进程在取得资源后不能强行剥夺以及两个或两个以上进程之间形成一种循环式的等待资源关系。

  3 计算机操作系统死锁问题的解决策略

  当然,当我们意识到计算机操作系统中死锁问题重要性之时,我们总不能听之任之,让其一直持续下去,相反的,我们总会在充分发现其具体内涵及形成机制之后,对其发生的构成要素进行破坏和抑制,干扰其具体形成过程,才能真正意义上将这种死锁问题的发生概率以及发生率及其所造成的影响控制在最小范围之内。笔者在总结自身工作经验的过程中发现,常用的死锁问题解决策略主要表现在以下几个方面:

  3.1 死锁预防

  通常的处理方式有以下三种:(1)打破"不剥夺"条件:强迫那些请求新资源而没有立即得到满足的进程暂时释放它已保持的其它资源。这种方法实现起来非常复杂,通常适用于CPU和主存,缺点是反复地申请和释放资源,降低了整个系统的吞吐量;(2)打破"部分分配"条件:对某进程所要求的资源一次性地分配完毕缺点是致使系统资源的严重浪费,可能有进程已占有的资源而很少使用;(3)打破"环路等待"条件:为系统中每类资源规定一个唯一的序号,而且要求每个进程都要严格按照递增的顺序请求资源。它基于动态分配的思想,所以资源利用率比前面一种方法要高。但同时也有其缺点:一是各资源的序号不宜经常变动,二是如果进程实际需要的资源顺序与排定的资源序号不同时,也会造成资源的浪费。

  3.2 死锁检测与恢复

  死锁检测与恢复与死锁预防相比,具有积极主动的一面。死锁预防是通过一定的限制约束策略,来防止造成死锁产生的四个冲要条件中的任一个的出现来实现避免死锁的。而死锁的检测是:只要有可能,就向申请资源的进程进行分配资源。操作系统会周期性的去检测是否存在“环链等待”的出现。如果发现存在“环链等待”,即出现了死锁,则会采取一定的措施来消除死锁。常用的实施方法是撤消或挂起一些进程,以便回收一些资源,再将这些资源分配给已处于阻塞状态的进程,使之转为就绪状态以继续运行。需要特别说明的是:死锁检测与恢复并不能防止死锁的发生,它只是确定系统中是否存在死锁,然后再予以恢复。

  4 结束语

  经过上文的分析和介绍,我们对计算机操作系统死锁问题的内涵、形成机制、产生条件以及常用的解决策略等几个方面的内容有了一定的了解,从中我们可以深刻地认识到,就这种极大浪费系统资源并降低系统整体运行效率的死锁问题来说,其能否在计算机操作系统的实际运行中得到完善的解决显得尤为重要和必要。当然,正如我们在上文中说的那样,由于计算机操作系统自身、因素以及外在的人为操作因素等方面因素的影响,计算机操作系统的死锁问题经常发生,而这种发生实际上又是在多个必要条件均出现时才会出现,这样一来,我们便能够及时地把握这种形成机制,及时地采用相关的解决策略,从而完善地解决这一问题。

  参考文献:

  [1]毛布,谢汶.一种基于博弈论的死锁检测机制研究[J].成都电子机械高等专科学校学报,2010(04).

猜你喜欢:

3267136