软件水平考试

解析:某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大,可靠性

来源:网考网软件水平 所有评论

【分析解答题】某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大,可靠性要求高,进度要求紧,预计软件规模约在一万行以上。而该所原先承担的相关项目均是用汇编语言编写的(软件规模较小,一般是几百行)。项目主管工程师将软件开发的论证工作分别布置给了架构师阮工和刘工,要求他们根据本项目的技术要求,在一周内分别提出软件的实施方案。
(1)该宇航嵌入式系统由数据处理机、信号处理机及数据采集模块组成。信号处理机主要通过数据采集模块将大量不固定时间周期的外部数据采集进来,进行预处理(如FFT变换)后提交给数据处理机;数据处理机根据功能要求完成各种计算处理工作,并将结果输出。为了达到数据处理机和信号处理机的标准化,这两类处理机均采用同种处理机的体系结构(如PowerPC、7410)。整个系统工作的最大周期为1s,最小周期为5ms。数据处理机上的任务分布如下表所示。  表 数据处理机上的任务分布表
工作周期 任务数(个) 共占时间(ms) 5 1 1 10 2 4 40 2 8 50 3 9 1000 2 3(2)一周后,架构师阮工和刘工提交了各自的实施方案,其共同之处在于二者均提出采用操作系统及相应的软件开发环境。但是,阮工和刘工在选择什么样的操作系统及开发环境方面出现了较大分歧。阮工的实施方案指出,为了满足本项目的技术要求,并有利于本所软件的长期发展,应选用具有硬实时处理能力的嵌入式实时操作系统及开发环境(例如VxWorks等);而刘工的实施方案指出,操作系统主要完成对计算机资源的管理与分配工作,考虑到人们对操作系统及软件开发工具的熟悉程度,本项目应选用具有大众化的,开发人员容易上手的嵌入式操作系统(例如WindowsCE、Linux等)。
(3)在两人争执不下的情况下,项目主管工程师组织了相关专家对阮工和刘工提交的实施方案进行了评审。最后,专家组一致认为阮工的方案切实可行,操作系统的选型论证充分、客观,可以作为本所未来几年中相关项目的软件开发的基本环境。同时专家组还就具体实施选择嵌入式实时操作系统及开发环境产品时应着重考虑的相关问题提出了几点建议。
根据本项目中任务的时间性能参数,请用200字以内的文字(也可用图示)描述任务的被调度关系,并分析系统是否可调度(暂不考虑操作系统的时间开销)
网考网解析:
试题答案:(1)任务的调度关系描述 ①根据实时任务调度的小周期任务优先原则,任务的优先级排列如题中图所示。 ②系统最小调度周期不能大于5ms。在5ms时间点到达时,5ms任务可以终止低优先级任务,处理机优先执行5ms的所有任务;当5ms任务完成或被阻塞,可以执行其他低优先级任务;同样,10ms任务可以终止40ms、50ms、1000ms的任务:依次类推,1000ms的任务只能在处理机空闲时被执行。 ③同周期任务的优先级可根据任务间的关系采用同等优先级,也可采用不同优先级,但是,同周期最低优先级的任务,其优先级不能低于其他大周期任务的优先级。 (2)可调度性分析 ①系统的最大周期为1000ms,其中,5ms周期任务共执行200次、10ms周期任务共执行100次、40ms周期任务共执行25次、50ms周期任务共执行20次,1000ms周期任务共执行1次。 ②在1000ms的最大周期内,所有任务共需执行的时间是:T=200x1+100x4+25x8+20×9+1×3=983ms。 ③完成所有任务共需时间为983ms小于最大周期数,因此,系统是可调度的。 答案解析:这是一道要求读者根据题目内容完成在操作系统控制下,对本项目算法设计的考虑及完成可调度性分析的综合理解题。 对于“任务的调度关系描述”问题的解答思路如下。 (1)题干的第2段描述了所开发的宇航项目的技术需求。其中,1s和5ms分别被定义为该宇航项目系统的最小时间框架和最大时间框架,并给出了各个周期任务的需求参数。 (2)根据实时任务调度的小周期任务优先原则,任务的优先级排列如下图所示。 (3)在5ms时间点到达时,5ms任务可以终止低优先级任务,处理机优先执行5ms的所有任务;当5ms任务完成或被阻塞,可以执行其他低优先级任务;同理,10ms任务可以终止40ms、50ms或1000ms的任务;依次类推,1000ms的任务只需在处理机空闲时被执行。 (4)同周期任务的优先级可根据任务问的关系采用同等优先级,也可采用不同优先级,但是,同周期最低优先级的任务,其优先级不能低于其他大周期任务的优先级。 对于“系统可调度性分析”问题的解答思路如下。 (1)将该宇航系统的最小时间节拍定义为5ms,即系统最小调度周期不能大于5ms。系统最大工作周期(或称主时间框架)为1000ms。 (2)在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达10ms的起点,则启动2个10ms任务运行,各占2ms时间(共占4ms),完成后转入处理被终止的任务;依次类推,确保在1s周期内所有任务按规定的时间序列执行,如下图所示。 (3)由于系统的最大周期为1000ms,因此5ms周期任务共执行200次,10ms周期任务共执行100次,40ms周期任务共执行25次,50ms周期任务共执行20次,1000ms周期任务共执行1次。 (4)在1000ms的最大周期内,所有任务共需执行时间是: T=200×1+100×4+25×8+20×9+1×3=983ms 暂不考虑操作系统的时间开销,完成所有任务共需时间为983ms,小于最大周期数(1000ms),因此,该系统是可调度的。 document.getElementById("warp").style.display="none"; document.getElementById("content").style.display="block"; 查看试题解析出处>>

相关推荐

发布评论 查看全部评论