当前位置:首页 > 嵌入式 > 嵌入式软件

linux系统的稳定性记录成为很多评论家们反对冲突不断的windows系统的一个很好的武器。然而,linux系统的冲突问题虽然比较少,但是一旦在意想不到的情况下出现,也很容易使人们陷入困境。学习一些常用手段来预防这些这些冲突问题的发生是十分重要的,它可以帮助linux的系统管理员们避免那些困境情况的出现。  一般认为,linux服务器系统是不存在冲突的,然而些许时候该系统的冲突、停滞问题的确存在。对于应用软件层面的冲突或者停滞问题,与内核层面有何不同呢?  mark wilding: 应用软件层面的冲突或者停滞问题只是限制于一个特定的线程或者进程。这种冲突或者停滞问题不会导致在该相同系统上运行的其他线程或者进程的冲突或者停滞。然而,如果是在内核层面上发生,那么它将影响到该系统中运行的所有进程。  系统的冲突和停滞,这二者有什么区别呢?  dan behman: 在任何一个层面,冲突和停滞这二者的属性基本上是相同的。停滞发生在进程或线程受阻的时候,此时是由于某种锁定或者某些硬件资源的繁忙,从而该进程或线程不得不等待。等待某些锁定或资源的情况是经常发生的,但是只有当这种锁定或者资源最终无法实现的时候,才会引起系统停滞。  还有很重要的一点需要注意的是,停滞问题有时候可以提早的诊断出来。我的意思是,例如,某种资源的某个特定的时刻非常的繁忙,这是需要这种资源的进程或线程就需要等待非常长的一段时间,直至该资源空闲下来。用户经常不了解资源的这种繁忙状况,而只看到该进程在等待,所以他就认为系统发生了停滞,但实际上此时系统仍然在按照既定的工作流程进行,只是速度比较慢。  而系统的冲突问题与上述的停滞是不同的,它主要是由于某种不可知的硬件或软件错误而导致的。当这种错误发生时,特殊的错误处理程序将很可能会调用那些诊断信息及报告,从而有希望能够追踪到这种错误的原因。  冲突问题可以看作是某种致命的问题,它需要完结后才能够进行分析。而停滞问题可以看作是实时的问题,它可以即时的进行分析、解决。  我知道linux有一个最大的优势就是在于它的源代码的开放性;除此之外,还有别的原因致使linux比其他操作系统的冲突问题容易解决吗?  behman: 伴随着这种源代码的开放性,在linux系统的每一个层面都有着相当多的参阅文件。同时,既然源代码是开放的,那么它的开发团队也同样是开放的。这样以来,你就可以把所遇到的问题向linux内核的开发者求助,当然包括最初的那些开发人员,甚至linus torvalds本人,而这所有的求助程序也仅仅是发送一封电子邮件就可以了。而据我所知,linux的这种能力是那些不开放源码的操作系统所缺少的。  处理停滞问题有那些困难和挑战呢?  wilding: 一个应用软件的停滞问题是有着多种原因的,也包括那些可能由于内核空间的问题所引起的停滞。这意味着有时候这些问题不是开发者所能够控制的。但是这正是linux的优势所在。所有的源代码都是开放的,所以如果你遇到了某种进程的内核阻滞状况,那么就可以联系其源代码,从而查看该进程在内核中是如何作用的。然而,在大部分情况下,是没有必要进行这么深层次研究的。为了探究进程停滞的原因到底何在?应用软件的开发者需要认真的研究这些软件层面的状况及证据(例如,堆栈的路径等)。  对于用户或者维护人员而言,他们一般不会了解应用软件的具体工作程序,也不会没有能力进入到源代码层面进行测试,这是遇到系统停滞问题可以灵活的进行处理。例如,在某种情况下,进程a在等待进程b结束后所释放的资源,而进程b又在等待进程a占有的资源。这就是所谓的“死锁”,这也正是复杂应用软件中经常出现的问题,可以作为停滞问题的一种诊断方案。  如果你不清楚进程a及进程b的具体等待原因,那么你甚至不需要明白这到底是不是“死锁”的情况,而别无选择的关掉这两个进程后重新开启。正是这种类似情况,因此对于应用软件而言,进行完全的资源及上锁情况的跟踪是十分重要的,这可以帮助解决这种比较棘手的问题。  behman: 关于停滞问题的另一个挑战在于,当停滞问题发生时,进程或者线程经常不知道它被停滞了或者何时将被停滞。这种情况和冲突问题是不同的,当冲突问题发生时,进程可以截取大部分的信号,并且信号处理程序可以添加到平台系统中来处理这些特殊情况,例如清理内存,堆栈跟踪等等。但是,当停滞问题发生时,这种特殊的处理程序虽然不是完全不可能进行,但是往往比较灵活,不太固定。  停滞问题发生时,往往去重新启动该系统或者应用软件。有一点需要切记的是,发生停滞问题时,诊断该问题的一些资料和证据经常被活动的内核及应用软件所捕获。如

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭