第三软件即刻是什么软件

实时软件技术_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
实时软件技术
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
实时软件是必须满足严格时间约束条件的软件。比较而言,实时是目前中技术最难、风险最大的程序设计领域,这是由它的应用对象和环境决定的。考查顺序、和实时程序设计这三大程序设计领域的关系:多道程序中每一道程序是顺序的,而实时软件往往又是多道程序构成的,只是增加了实时性等特殊要求。因此,这三种之间具有包含关系,即一个比一个难度大,所需技巧更多。
实时软件技术实时软件及其特性
顺序,相对后两种程序设计来说,其最主要的特性是程序的封闭性和可再现性。所谓封闭性是指程序一但开始运行,其结果不受外界因素的影响;可再现性是指该程序重复执行时,必获得相同之结果。的引入,使程序丧失了封闭性和可再现性,从而引入进程(或称任务)的概念。相对于顺序程序,产生了并发特性和异步特性。是指一个的第一个操作是在另一个程序段最后一个操作完成之前开始的,则称这些程序段是并发的。对进程而言,异步特性是指各进程按照各自独立的、不可预知的速度向前推进;对事件而言,系指各事件发生的时间和顺序是不可预知的。
在许多实际应用中,我们将实时系统设计成多任务并发系统,因而要用到并发设计技术。但应认识到,这样做主要是为了更充分地利用计算机资源,而不是说实时系统就必须是多任务并发系统。从逻辑上讲,实时是我们的目标,并发是技术或途径。
正因为往往采用并发技术,所以它具有多道程序并发特性和异步特性。除此之外,实时软件还具有如下特性:
实时性是指某个事件服务或某进程代码在分配的响应时间内必须是可执行的。换言之,假定没有其他进程竞争,该进程必须能在规定的响应时间内执行完。
在实软件中,“时标”是一个极其重要的概念。因为任何实时程序的工作,均是在“时标”控制下进行的一一无论周期性或随机性工作,都离不开“时标”约束。这就意味着“超时”一一即使程序正确地完成功能性操作,但执行时间已起出“时标”限定范围,仍认为是。
在中,计算机往往作为,实时软件是在环境事件的驱动下工作的。计算机的状态和运行是整个系统的一部分,只要装置的运行不停,则计算机是不能停的。这就是在线性要求。由于在线环境下系统事件发生的随机性,系统工作状态的不确定性,使实时软件的测试工作变得非常困难。
3.高可靠性
高可靠性是实时软件的重要指标。这不仅在于实时软件常用作重要或有较大危险性的设备的控制,而且由于在线性要求,即使出问题也不允许暂停。
实时软件技术实软件设计方法
1.任务划分
实时系统的工作过程(或称工作原理)就是实时一一实时处理一一实时输出控制量以控制受控对象的过程。实时软件结构设计的主要问题是把系统分解成若干并行任务的方法以及任务间通讯与同步的表达。在实时软件中,任务划分一般依据以下原则:
(1)受相同的加工应划分在同一个任务中。因为它们的激发条件一样,可一次性统一调度。
(2)限定条件比较特殊(如响应时间要求短)的加工,应当相应地划分为独立任务,以便进行高度的调整来满足这些特殊要求。
(3)信息交换频繁的加工应划分在同一任务中,可降低任务通讯带来的开销。
(4)同接口有关的加工应划分在同一任务中。因为实时软件往往要同特种打交道,将这些加工放在一起,可有利于对其它任务隐蔽这些设备的特性,方便其管理和编程。
在按以上原则进行任务划分的基础上,还可从各任务中提取出共同的功能,形成和公用子程序。主要是用来管理资源的。由统一管理资源,一是比较方便、安全,二是可隐蔽资源和外界关系的特性于管程内,三是方便任务间互斥与同步的管理。从各任务划分中抽出公用子程序比较简单,要注意的是应保证这些子程序的再入性,因为很可能有几个任务同时调用某子程序。
2.任务通讯
在一个并发多任务系统中,各个任务是异步向前推进的,但出于或任务的协作关系,各并发任务间存在相互的制约关系,我们把这些制约关系称为“任务通讯”。
任务通讯有基于共享变量和基于二种方式。共享变量通讯又分为互斥与条件同步。互斥是指一个任务(进程)访问某共享时,不允许其它任务访问该共享变量。条件同步是指共享处于不适合某个特性操作的状态时,任何需要作这种操作的任务都要延时,直到其它进程所执行的操作改变了该共享变量的状态为止。基于的通讯方式较共享方式是高级的通讯方式,因为进程不读写共享变时,而是发送与接收消息。这种方式不仅能完成消息的传送,也能实现进程间的同步。这两种方式的差别还在于:
方式是把不同时刻的数据排列在消息队伍中,共享方式则始终用当前时刻数据把上一时刻数据覆盖掉,而不管旧数据是否被取用了。
确定任务间的通讯方式(也叫任务界面)是非常重要的。任务得好,通讯效率相应的就高,各任务间也能协调、有序地工作。任务界面的确定,也就是要准确有效地将以上几种通讯方式用到各任务间通讯中去。
3.任务调度
在中,任务数一般都多于CPU数,所以调度亦成了满足实时时间约束的一个关键问题。任务调度的核心问题就是采用什么算法把分配给各任务进程。实时系统中,为保证重要的或紧迫的任务及时执行,通常都采用最高优先数优先(High Priority First)。只要用户将“重要或紧迫”的任务赋于高优先数,则可保证这些任务能优先得到调度执行。所以,采用这种算法首先应考虑的问题就是任务优先数的确定。确定优先数的办法很多,但概括起来不外是基于静态特性和基于动态特性两种方法。静态优先是在任务进程创建时确定的。一经确定则在整个进行运行期间不再改变。
还有就是调度方式问题。调度方式是一进程正在上执行时,若有优先数更高的请求服务时,如何分配处理机。调度方式分剥夺方式和非剥夺方式,剥夺方式系指一旦出现优先数更高的进程,便立即中断正在执行的进程,而把分配给高优先数进程;非剥夺方式是指即使出现优先更高的进程,仍保持原进程的运行,直到原进程执行完成或因某种原因阻塞时,才将处理机分配等待运行的优先数最高的是程。显然,剥夺方式更灵活,它可使某些紧进程迅速得到响应。
在中,除非原进程耗时少,一般都采用剥夺调度方式。当然,这会带来系统开销的增长。
4.容错处理
理论和实践证明,尽管软件在设计、编制和中可通过各种方法、手段排除软件中的错误,但软件投入运行后绝对没有错误是不可能的。软件件容错技术则是力图使设计和编制的软件始终能正确执行,而不必担心运行软件中存在的,在设计、编制和测试中个别未被排除的。这对于具有在线性和高可靠性要求的实时系统来说,无疑具有极重要的意义。
软件故障是和编程中的缺陷在功能上的一种表现。研究软件容错首先应从分析故障类型,即从建立故障模型开始。从错误效果来看,我们可将软件故障分三类:
①内部(或称局部故障)
内部故障是指其影响局限于一进程内,且能被该进程处理的故障。
②外部故障
故障的影响虽局限于一进程内,但不能被该进程处理的故障。
③扩散性(全局性故障)
的影响不局限于一进程,且不能被一个进程处理的故障。
(2)容错软件方法
目前,对那些能建立确定软件故障模型的故障,如除零错,超出输入输出状态定义域非法软件操作等,可以从软件检出,损害评估,错误恢复,继续软件运行这四个方面采取措施实现软件容错;面以一些难于建立模型的软件故障来说,就只有采取软件来实现软件容错。下面简单地对用得较多的几种方法加以讨论。
①故障处理(器)软件容错法
此法实际是设计一种嵌入或在线实时自诊断和自处理程序。它们被分段嵌入到主体软件中,从而能对主体软件进行在线实时的故障处理。
对软件故障检出,原则上可利用化中有关软件验证和测试中的任何方法。但由于其在线性和实时性的要求,应考虑那些有效而省时的方法。
在软件故障损害评估方面,对单任务系统比较容易,而对多任务系统则比较困难。必须对任务间的通讯联系有充分的了解和严格的控制。
错误恢复是指恢复到前的正常状态。可用硬件(如便笺或)存储上一时刻现场,以此帮助系统实现高速恢复;对周期性实时系统,可用存储一些标准操作常数来恢复;对周期性实时系统,可用存储一些标准操作常数来;对外界输入数据可用估值法恢复,或者重读输入数据来恢复;对输出,由于有些执行过程是不逆的,因而错误处理软件应在这些信号的内部校验和测试通过后送出。
②恢复模块容错法
此由故障处理方法发展而成。恢复厝块对主体程序的中间结果进行能否接收的校验。如不合格,就给出替代程序,直到通过接收校验。如所有替代程序用完而仍不能通过校验时,只有对系统进行降级处理。
③N版程式容错法
对那些难于实现检出的软件故障,一般采用N版程式容错法,此容错法是对同一需求由N(≥2)个小组独立地设计N个功能等价的程序。这N个程序能在N模时间冗余度的系统中并行运行。并在这N个程序中适当区段设立某些交叉检验点,皆在此点进行比较(或称表决),取大多数能接受的表决结果作为处理结果。
5.过载防护
在进行实时系统设计时,应赋予系统足够的的处理能力,使之能及时处理系统中的所有任务。尽管如此,由于实时系统中事件发生的随机性,或者说是,它们很可能都集中在某短时间内发生,即出现峰值负载的情况使系统应接不暇,超过其处理能力,从而,带来所谓的过载(Overload)问题。因此,实时系统必须具备某种防护机构,以保证即使任务过载,系统仍能顺利运行下去,也就是说使系统具有一定的自适应能力。
当过载防护机构发现系统出现瞬时峰值负载时,可通过缓冲区予以平滑。即将计算任务存储于缓冲区中,并按一定的策略排成一个或若干个,等候处理。若系统中地过载等待时间很长,就必须采取相应的措施,当然,实时系统中不可能取其它系统中的停止任务插入的办法,因为这样很可能拒绝了一些重要的任务,从而给系统带来严重的后果。通常,实时系统中采用的办法是抛弃一些不重要的任务或降低某些不重要的周期性任务的频率。
实时软件技术实时软件测试
实时软件的测试是比较困难的,它除了完成程序功能的常规测试外,还必须在线地测试系统实时关系。因为即使是系统的每个模块是正确的,也不能保证其总的系统效应是正确的,也不能保证其总的系统效应是正确的。所以,要很好地完成实时软件的测试工作,一般应做如下工作:
首先,在非并发环境,用软件测试的、黑盒法独立地对各个模块进行测试,考查能否达到规定的功能。如数据处理是否准确,精度是否达到标准,是否满足实时性要求(在规定时间内完成处理)。
2.实时关系测试
这完全是实时软件所特有的问题,实时软件的使其在运行过程中的情况变得十分复杂,难以预知。实时关系测试主要包括任务调度关系测试和任务通讯的测试。任务调度关系测试主要测试多任务并发情况下,各任务是否按规定策略实现有序调度;任务通讯的测试则测试任务间同步、互斥关系以及是否正常,各任务是否能协调地向前推进。
3.构造实时
鉴于实时软件必须在线地进行实时关系测试,这是非常困难的事情,未调好的软件又不能拿到真的实时系统中去运行,所以,必须依靠一定的辅助工具一一借助于实际系统的仿真模拟系统。用于的仿真系统不仅具有模拟系统。用于的仿真系统不仅应具有模设置真实环境的功能,还应具有某些监测功能。环境的模拟设置,使实时软件各进程运行到一定格局,而监测功能可显示出相应时候的状态并跟踪一些关键变量(控制量)的变化情况。系统仿真测试系统在实时软件开始设计时同步筹划,齐头并进。可以说,没有这些仿真测试系统的支持,大型实时软件的测试工作是难以完成的。
也是实时软件所特有的要求。在实时控制系统中,计算机的负荷是随环境和操作变化的。实时软件的质量保证规范中一般要求软件必须在指定的强度条件下通过测试,即在一定超强度负荷的情况下仍能正常运行。测试的办法就是用模拟仿真系统人为地造成极限时空,如同时让多个部件提出数据处理的要求,并同时在多处设置和报警等。
实时软件技术结束语
随着人类对自动控制系统的广泛开发,实时软件的需求越来越大。作为来说,它是涉及问题较多、技术较难的一个分支。其工程化问题急待解决,其、、开发工具等还有待于进一步研究和提高。
清除历史记录关闭缁堜簬鐭ラ亾鑰丄鎺岃耽鎵戝厠鎷间笁寮犳湁浠}

我要回帖

更多关于 微派是什么软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信