阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。 【说明】 随着汽车工业的飞速发展,越来越多的车上的原有机械控制装置正在被电子控制装置所取代,这是典型的实时控制系统,例如用于控制发动机、自动变速箱、防抱死系统、电子稳定控制系统、牵引力控制系

admin2020-05-31  24

问题 阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。
【说明】
    随着汽车工业的飞速发展,越来越多的车上的原有机械控制装置正在被电子控制装置所取代,这是典型的实时控制系统,例如用于控制发动机、自动变速箱、防抱死系统、电子稳定控制系统、牵引力控制系统、刹车辅助系统的ECU和用于座位调整、车窗玻璃升降、车项移动的电子产品,这在很大程度上提高和完善了汽车的性能和技术水平。但是,汽车上电控系统的多样化和系统结构的复杂化,也直接导致相应的汽车电子软件开发难度越来越高。
    某汽车的ECU(Electronic Control Unit,电子控制单元)系统,采用某高性能的多核处理器,软件架构采用符合AuTOSAR(AUTOmotive Open System Architecture,汽车开放系统架构)标准的多核操作系统,将多个控制应用集成在一个处理器上运行,降低了系统设计的成本、体积、功耗。
(1)该系统中任务的优先级是静态分配的,在某些特定的情况下,多任务抢占资源会发生死锁,解决的策略一般是采用优先级天花板方式。请简述优先级天花板的原理。
(2)该系统采用了多核处理器,多核处理器一般有SMP和AMP两种不同的工作方式。请简述SMP和AMP的差异。

选项

答案(1)优先级天花板是当任务申请某资源时,把该任务的优先级提升到可访问这个资源的所有任务中的最高优先级,这个优先级称为该资源的优先级天花板。 (2)SMP是对称多处理技术,多个内核由一个操作系统管理。AMP是非对称多处理技术,每一个内核由一个操作系统管理。

解析 (1)当一个高优先级任务通过信号量机制访问共享资源时,该信号量已被一低优先级任务占有,会出现优先级翻转的情况,造成高优先级任务被许多具有较低优先级任务阻塞,实时性难以得到保证。
    例如,有优先级为A、B和C三个任务,优先级A>B>C,任务A、B处于挂起状态,等待某一事件发生,任务C正在运行,此时任务C开始使用某一共享资源S。在使用中,任务A等待事件到来,任务A转为就绪态,因为它比任务C优先级高,所以立即执行。当任务A要使用共享资源S时,由于其正在被任务C使用,因此任务A被挂起,任务C开始运行。如果此时任务B等待事件到来,则任务B转为就绪态。由于任务B优先级比任务C高,因此任务B开始运行,直到其运行完毕,任务C才开始运行。直到任务C释放共享资源S后,任务A才得以执行。在这种情况下,优先级发生了翻转,任务B先于任务A运行。
    解决优先级翻转问题有优先级天花板(priority ceiling)和优先级继承(priority  inheritance)两种办法。
    优先级天花板是指当任务申请某资源时,把该任务的优先级提升到可访问这个资源的所有任务中的最高优先级,这个优先级称为该资源的优先级天花板。这种方法简单易行,不必进行复杂的判断,不管任务是否阻塞了高优先级任务的运行,只要任务访问共享资源都会提升任务的优先级。
    优先级继承是当任务A申请共享资源S时,如果S正在被任务C使用,通过比较任务C与自身的优先级,如发现任务C的优先级小于自身的优先级,则将任务C的优先级提升到自身的优先级,任务C释放资源S后,再恢复任务C的原优先级。这种方法只在占有资源的低优先级任务阻塞了高优先级任务时才动态的改变任务的优先级,如果过程较复杂,则需要进行判断。
(2)目前支持多核处理器平台的实时操作系统体系结构有对称多处理SMP(Symmetric Multi—Processing)构架和非对称多处理AMP(Asymmetric Multi—Processing)构架两种。这两种操作系统的结构、代码和数据区的分配方面差别很大。SMP构架的系统中所有CPU共享系统内存和外设资源,由一个操作系统负责处理器间协作,并保持数据结构的一致性,而在AMP构架的系统中,用户需要对每个CPU内核上运行的操作系统使用的硬件资源进行划分,CPU间的合作仅限于使用共享存储器的情况。由于CPU间的合作程度不同,AMP则称为松散耦合多CPU系统,SMP系统称为紧耦合多CPU系统。
转载请注明原文地址:https://kaotiyun.com/show/2LWZ777K
0

相关试题推荐
最新回复(0)