什么是实时系统
发布时间:2009/1/17 0:00:00 访问次数:618
大多数情况下,人们使用计算机来解决问题时,主要关注的是计算机的计算结果是否正确,至于计算机为了获得这个结果花费了多长的计算时间并不十分在意。但是,在相当一部分实际应用中,计算机系统得到结果所花费时间的长短与结果的正确性同等重要,甚至有时更为重要。
为了对上述问题有一个基本认识,图1所示是一个实例。这是一条舰船,在舰船的头部装有用来发现礁石的声纳,以免发生触礁事故。现用一个计算机系统接收并处理声纳信号,计算机的计算结果用来控制舵机的动作。假设声纳在舰船前面发现礁石而舰船的舵机不采取任何规避动作,则舰船将在10 min后与礁石相撞。现在假设,为了防止触礁,舵机完成合理的避动作需要8 min,那么这就是说,从声纳发现礁石起到舵机开始动作,留给计算机系统用来计算和控制舵机做出合理动作所需结果的时间就不能超过2 mm,并且应保证计算结果正确无误;否则,后果将是灾难性的。
图1 实时系统的实例
显然,在这个实例中,系统的响应时间与计算结果是同样的重要。
再例如,敌我双方战斗机在空中对抗,在同时发现对方并互射空-空导弹时,那么瞄准发射系统从发现目标到计算出发射数据所耗费的时间,大概就比结果的正确性更为重要。
显然,上面所列举的这些计算机系统与普通计算机系统有着显著的区别和特点:系统必须在有限的时间内获得正确结果。在工程上,人们就把这样的系统叫做实时系统。也就是说,如果一个系统能及时响应外部事件的请求,并能在一个规定的时间内完成对事件的处理,那么这种系统就叫做实时系统。于是对实时系统有两个基本要求:第一,实时系统的计算必须产生正确的结果,称为逻辑或功能正确(logical or functional correctness);第二,实时系统的计算必须在预定的时间内完成,称为时间正确(timing correctness)。
显然,上面所说实时就是及时的意思,或者是动作快的意思。那么快到什么程度才叫做及时呢?这就要具体问题具体分析了。例如,图2所示的用来生产钢板的轧钢机系统,钢板的厚度是与轧辊之间的缝隙有关的,为了控制钢板的厚度,轧钢机都设有相应的辊缝控制系统。现假设被轧制的钢板以20m/s的速度通过轧辊的辊缝,当钢板测厚仪发现钢板不满足厚度的质量要求而发出信号令轧辊辊缝控制系统调整辊缝时,如果该控制装置需要用100 ms的时间来控制辊缝从而使钢板的厚度达到规定的质量要求,那么这个控制系统的响应速度是否算是及时呢?假如钢板的总长度为100 m并要求废品率不超过3%。那么可以算出来,控制装置在进行辊缝调整期间大约会产生2 m多一些的废品,即废品率<3%。于是这个控制装置的响应速度就算是及时的,因此就可以把这个系统看做是一个实时系统。
图2 轧辊辊缝控制系统示意图
但是,也可以看出来,如果同样的钢板产品,但是废品率的要求变为小于1.5%了,那么同样的轧辊辊缝控制系统就不是实时系统了,至少是不满足实时要求的系统。
所以,从这个例子中可以看到,系统的实时性是一个相对的概念。
那么,这里就有一个让人感到困惑的问题:同一个系统,在某一要求下是实时的,换一个要求又不是实时的,那么这个系统究竟是不是实时的呢?在设计一个系统时,如何来判断设计的这个系统是不是实时的呢?
对于计算机系统来说,主要靠软件来保证系统的实时性。所以,在计算机系统中所说的实时性,指的是计算机的软件是否能充分发挥计算机硬件的潜力,从而使计算机解决某一个问题所需的时间在可能的情况下最短。
另外,从工程应用的角度来看,如果计算机系统完成任务所需的时间可预知,并且小于完成任务所要求的最低时限的系统就叫做实时系统。
总之,在实时系统中系统的正确性不仅依赖于计算的逻辑结果,而且依赖于结果产生的时间。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
大多数情况下,人们使用计算机来解决问题时,主要关注的是计算机的计算结果是否正确,至于计算机为了获得这个结果花费了多长的计算时间并不十分在意。但是,在相当一部分实际应用中,计算机系统得到结果所花费时间的长短与结果的正确性同等重要,甚至有时更为重要。
为了对上述问题有一个基本认识,图1所示是一个实例。这是一条舰船,在舰船的头部装有用来发现礁石的声纳,以免发生触礁事故。现用一个计算机系统接收并处理声纳信号,计算机的计算结果用来控制舵机的动作。假设声纳在舰船前面发现礁石而舰船的舵机不采取任何规避动作,则舰船将在10 min后与礁石相撞。现在假设,为了防止触礁,舵机完成合理的避动作需要8 min,那么这就是说,从声纳发现礁石起到舵机开始动作,留给计算机系统用来计算和控制舵机做出合理动作所需结果的时间就不能超过2 mm,并且应保证计算结果正确无误;否则,后果将是灾难性的。
图1 实时系统的实例
显然,在这个实例中,系统的响应时间与计算结果是同样的重要。
再例如,敌我双方战斗机在空中对抗,在同时发现对方并互射空-空导弹时,那么瞄准发射系统从发现目标到计算出发射数据所耗费的时间,大概就比结果的正确性更为重要。
显然,上面所列举的这些计算机系统与普通计算机系统有着显著的区别和特点:系统必须在有限的时间内获得正确结果。在工程上,人们就把这样的系统叫做实时系统。也就是说,如果一个系统能及时响应外部事件的请求,并能在一个规定的时间内完成对事件的处理,那么这种系统就叫做实时系统。于是对实时系统有两个基本要求:第一,实时系统的计算必须产生正确的结果,称为逻辑或功能正确(logical or functional correctness);第二,实时系统的计算必须在预定的时间内完成,称为时间正确(timing correctness)。
显然,上面所说实时就是及时的意思,或者是动作快的意思。那么快到什么程度才叫做及时呢?这就要具体问题具体分析了。例如,图2所示的用来生产钢板的轧钢机系统,钢板的厚度是与轧辊之间的缝隙有关的,为了控制钢板的厚度,轧钢机都设有相应的辊缝控制系统。现假设被轧制的钢板以20m/s的速度通过轧辊的辊缝,当钢板测厚仪发现钢板不满足厚度的质量要求而发出信号令轧辊辊缝控制系统调整辊缝时,如果该控制装置需要用100 ms的时间来控制辊缝从而使钢板的厚度达到规定的质量要求,那么这个控制系统的响应速度是否算是及时呢?假如钢板的总长度为100 m并要求废品率不超过3%。那么可以算出来,控制装置在进行辊缝调整期间大约会产生2 m多一些的废品,即废品率<3%。于是这个控制装置的响应速度就算是及时的,因此就可以把这个系统看做是一个实时系统。
图2 轧辊辊缝控制系统示意图
但是,也可以看出来,如果同样的钢板产品,但是废品率的要求变为小于1.5%了,那么同样的轧辊辊缝控制系统就不是实时系统了,至少是不满足实时要求的系统。
所以,从这个例子中可以看到,系统的实时性是一个相对的概念。
那么,这里就有一个让人感到困惑的问题:同一个系统,在某一要求下是实时的,换一个要求又不是实时的,那么这个系统究竟是不是实时的呢?在设计一个系统时,如何来判断设计的这个系统是不是实时的呢?
对于计算机系统来说,主要靠软件来保证系统的实时性。所以,在计算机系统中所说的实时性,指的是计算机的软件是否能充分发挥计算机硬件的潜力,从而使计算机解决某一个问题所需的时间在可能的情况下最短。
另外,从工程应用的角度来看,如果计算机系统完成任务所需的时间可预知,并且小于完成任务所要求的最低时限的系统就叫做实时系统。
总之,在实时系统中系统的正确性不仅依赖于计算的逻辑结果,而且依赖于结果产生的时间。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
上一篇:实时系统的特点