系统架构设计师 · 第 2 版 · 2.4

嵌入式系统及软件

辨认概念的职责、条件与关系。案例和未注明原题的练习均为自编教学场景。

校园预约服务处理的是表单和记录。实验室的小温箱还要处理真实温度:传感器读入箱温,控制器比较目标与测量,输出驱动加热器。一次程序计算会改变物理对象,新的箱温又成为下一次输入。本节从这条回路出发,依次看系统组成、分类依据、软件职责,以及安全要求怎样进入开发与验证。

小温箱和下面的计算模型是教学示例,没有代入真实产品参数。它帮助理解任务、接口与反馈;航空软件保证另用相应领域的历史标准说明,不能把温箱自动套进机载 A–E 等级。

2.4.1 计算系统怎样进入物理回路

嵌入式系统面向特定应用,把计算能力放进装置及其工作环境。输入接口取得传感器信息,人机接口接受操作者设定;应用计算控制量,输出接口驱动执行器。加热器改变箱温,传感器再测量箱内温度。控制器内部重复运行算法,与经过物理对象的反馈回路有不同的边界。

小温箱的输入、计算、输出与物理反馈,以及五方面一般组成
本例计算边界内是输入接口、控制器与输出接口;外部传感器、加热器和温箱完成物理测量及作用。

教材的一般组成是处理器、相关支撑硬件、嵌入式 OS、支撑软件、应用软件。处理器执行指令;存储器、定时器、总线与 I/O 等支撑硬件提供运行条件;OS 管理任务和资源;支撑软件提供公共库、服务与开发调试能力;应用完成特定目标。这是一般模型,裸机方案可以直接组织应用与硬件访问而不配置 OS。

一般组成的包含关系,与计算框之外的物理反馈及开发工具
虚线区分裸机可选路径、开发工具关系;宿主工具不参与每次箱温反馈。

“专用”首先说用途与设计取舍,不能据此断言必须用专用 CPU。功能、可靠性、体积、功耗与成本共同约束方案。教材图 2-11 的 ARM 板列出 Flash、SDRAM、LCD、串行与调试接口,展示一种配置;它不要求所有嵌入式系统同时具备这些器件,也不要求所有系统都工作在恶劣环境。

程序常放在非易失存储器,运行状态放在 RAM。Flash 断电保持内容,仍可能损坏,也可以按设计升级;普通 RAM 通常易失,任务执行时状态不断变化。固件部署与升级受接口、权限、完整性和适用规则约束,“固化”本身不能推出不可修改。软硬件协同还要审查电源、温度、电磁等条件对行为的影响。

教材强调技术融合与软硬协同:计算、通信、微电子和传感技术围绕具体用途结合,硬件提供接口与执行资源,软件组织控制策略和工作流程。设计可复用芯片内部模块,同时按需求去除冗余。许多装置的存储、算力和电源受限,配置规模及性能价格比需要取舍;体积小、价格低、资源少是常见设计目标,不能把它们升级为每种嵌入式系统的绝对属性。

2.4.2 用途、时限与失效后果分别判断

给同一个装置贴标签前,先说明正在回答什么问题。它嵌在设备内并承担特定用途,可以归嵌入式;结果既要逻辑正确,又要满足规定的时间条件,涉及实时性;错误功能或失效可能导致不可接受的事故风险,涉及安全攸关。教材图 2-12 用相交集合表达这些属性,一台系统可以同时具备其中多项。

用途部署、结果时间与失效后果三张独立判断卡,同温箱两个任务的硬软实时要求
卡之间没有流程箭头。任务期限与系统危害需要各自的条件,设备名不能决定安全级别。
三个属性分别判定,实时内部再分硬与软,三属性可以相交
交集从实时属性进入,不额外强推只有硬实时才能与安全攸关相交。

强/硬实时把截止期违约视为不可接受;弱/软实时可按服务目标容忍一定延误或效用下降。若本例给控制任务的要求是期限不得违约,给显示任务的要求是容忍偶发迟到,就能在同一设备中同时讨论两类功能要求。软实时仍有时间目标;硬实时也不自动意味着人员伤亡。

平均算得快、吞吐量高,并不能证明规定期限在所需条件下满足。还要看最坏执行、竞争、阻塞、中断、输入到输出的路径等。至于安全后果,需要知道装置用途、失效情形、保护措施与系统架构,不能只看“温箱”“汽车”或“飞机”等名称。

观察问题对象与判断不能直接替代
实时性任务结果是否满足规定时间条件。平均速度与 CPU 利用率。
安全性 Safety在规定条件下,错误或失效造成的事故风险是否可接受。“很少坏”或“现在可用”。
可靠性在规定条件、时间内持续执行所需功能的能力。危害严重程度。
可用性在所需时刻处于可用状态的程度,需给统计口径。每项任务均按期。
信息安全 Security抵御未授权访问、篡改等威胁,保护所需安全属性。系统安全评估的全部内容。

这些属性会相互影响:攻击可引发危险,冗余可帮助容错,维修可影响可用性,但每个结论仍要对应明确对象。教材中的可靠性数量级没有在本段给足单位与失效模型,这里保留概念,不把它写成任何嵌入式系统通用的概率门槛。软件没有机械磨损,也不能因此推断运行环境、更新、资源积累和故障触发永远不变。

2.4.3 换硬件、加任务,各自改变哪一层

控制策略希望读取温度,不希望处处知道某块板的寄存器地址。抽象接口让上层使用稳定能力;任务增加后,又需要决定谁先获得 CPU。这两种困难分别引出硬件适配和资源调度,不能都塞进“驱动”一词。

五层是职责与支撑关系

教材图 2-14 的正式框架为硬件、抽象、操作系统、中间件、应用五层。抽象层同时列 HAL(硬件抽象层)与 BSP(板级支持包)。HAL 隐藏硬件差异,BSP 提供具体板级支持;实际产品中两者都可能含硬件相关驱动,划界依实现。ST 的公开实现就把 HAL 与 BSP 同列在驱动区域,因此“HAL 排除全部驱动”不能作为普遍规则。

教材五层、能力提供和应用直接调用OS的不同箭头,以及换板的职责判断
应用可以直接使用 OS API;层的支撑关系不规定每个调用都逐层经过。
硬件抽象、操作系统和可选中间件的能力依赖与开发约束
本 Mermaid 箭头表示能力提供;生成图另用向下虚线表达应用发起 API 调用,两图标签分别说明语义。

嵌入式 OS 内核主要管理任务、内存、任务间通信、时钟与中断。文件系统、设备管理、GUI、网络、运行时库和调试用目标代理等可按需求配置。任务调度回答“哪个就绪任务运行”,是内核职责;读某个硬件寄存器、提供板级接口则属于硬件适配问题。一道 HAL 选项同时提“设备驱动与任务调度”,明确越界的是任务调度,不能从该错项推导所有驱动都不属于 HAL。

本节中间件按教材列服务、集成、数据、消息、安全五类。它们向应用提供较公共的能力。图中的嵌入式数据库、OpenGL、JAVA/虚拟机、DDS/CORBA、Hadoop 是产品或技术例,不要求一个小控制器全部安装,也不把 2.3 的八类分类机械改成同一棵树。应用层组织控温、告警等业务,按需要调用 OS 与公共服务。

先约定接口,再用桩或仿真代替尚未就绪的板端,可以让部分软硬件开发并行。最终仍须在真实目标上检查 I/O、时序、异常和环境条件。共享底层的故障可能传播,但影响范围还取决于保护、隔离与故障处理;不能从“分层”直接推全部瘫痪,也不能从“信息隐藏”直接推没有接口成本。

开发还要控制代码与数据规模、栈和缓冲等资源占用,准备适用的开发工具、目标板、测试环境及必要测量设备。按功能划分模块并约定接口,能把采样、控制、告警、显示的责任分清;划分后仍须验证它们组合起来的行为。安全攸关领域还可能要求相应设计、代码与符合性审查,功能可运行不能替代这些要求。

宿主开发与目标启动有两条关系

宿主机提供编辑、编译、链接等工具,产生适配目标平台的程序或固件映像;目标机运行它并连接受控对象。串口、网络、JTAG 等可用于加载与调试。对于本例,部署后可以脱离宿主运行;每次上电不需要先在宿主重新编译。需要何种镜像和加载方式由具体工具链决定,语言处理阶段在 2.6展开。

开发加载的宿主目标关系,与上电后片级板级系统级的典型启动依赖
初始化三级是已学题型补充。具体芯片和运行时可细分步骤,不能把这条教学链当所有平台逐指令的固定流程。
宿主加载与复位启动两条独立入口,CMSIS示例说明软件可以配置芯片
Reset_Handler 与 SystemInit 的函数契约注明 CMSIS Cortex-M 示例;裸机不要求初始化 OS。

常见题型按对象分片级→板级→系统级:片级关注芯片时钟、核心与寄存器等配置,板级关注板上内存及外设,系统级关注运行时、可选内核与应用组织。前一步提供后一步需要的条件;某些平台会交错或细分,不能在没有芯片约定时固定全部外设、.data、.bss位置。

片级初始化也可以由软件完成。Arm CMSIS Cortex-M 的 C 启动模板显示:Reset_Handler调用SystemInit(),再进入__PROGRAM_START()。这个公开示例足以否定“片级初始化纯由硬件完成”,也说明复位处理程序不必一概写成汇编。裸机应用可进入循环,RTOS 可建立任务并启动调度,不能要求所有系统都以相同主循环组织工作。

裁剪、配置与确定性怎样落实

可裁剪按功能需要增减模块;可配置按容量、状态、流程或参数组织能力。静态编译可同时参与两者,动态库、控制流程、配置表和数据驱动也可参与实现;它们不是固定互斥的两套工具。

确定性要求所需行为、资源边界和时限在规定条件下可分析、可预测。状态机仍会随输入转换,RAM 内容仍会改变。静态资源分配、越界检查、状态机和明确调度可帮助控制边界,却不能仅凭“用了静态分配”就证明所有期限。强实时、安全性、可靠性是需要满足的应用要求,具体方案要给分析与验证证据。

谁先运行,先看就绪状态和策略

采用可抢占固定优先级策略时,调度器选择最高优先级的就绪任务,不选择仍在等待事件的阻塞任务。较高优先级任务就绪后可抢占低优先级运行者,被抢占者带着剩余工作回就绪。临界区、关中断等可能延迟切换;同优先级是否轮转、优先级数值增大表示高还是低,都要看系统配置。

任务分别登记释放、进入就绪队列、执行抢占与阻塞去向,以及相对期限检查
该图解释一般机制,含资源等待路径;下面冻结的计算例特意假设无阻塞,不能给它偷偷加入等待开销。

RMS(速率单调)按短周期给高固定优先级;EDF 按作业的绝对截止时刻越早给较高优先级;LLF 按剩余松弛度绝对截止时刻−当前时刻−剩余执行时间选择剩余松弛度最小的就绪作业,它还需要剩余执行量的依据。教材外的历史选项用语有“最晚/最近”争议,下面直接给完整规则,不借旧标答补造缺失条件。固定优先级计算不能不改模型就换用 EDF 的容量结论。

选择 RTOS 时看应用时限、资源、接口、工具、维护与可靠性要求。内核任务切换、中断响应、同步或消息传递的基准反映指定操作与测试环境;业务任务 WCET 和传感到执行的端到端期限还须另测、另分析。不能从一个切换测试推业务任务总耗时,更不能把“OS 通常占 20%”当无题设的统一开销。

四任务例:重复窗口与平均份额

【改编教学例】沿用留存下午案例的四组周期数据,补齐模型来求超周期 H、CPU 利用率 U 与按期性。T 是周期,C 是每个作业的最坏 CPU 执行时间(WCET),D 是相对释放的截止期,均以 ms 计。给定独立周期任务,首次均在 t=0;单 CPU、完全可抢占,短周期固定高优先级;基础 D=T;没有阻塞、释放抖动、额外中断、切换开销或自挂起。C 只计本模型 CPU 工作,通信与物理 I/O 的端到端要求另审。

任务T / msC / ms基础 D / ms
τ5515
τ2020420
τ6060260
τ1000100051000

释放模式共同重复的窗口是最小公倍数。分解 5、20、60、1000 得 H=lcm(5,20,60,1000)=2³×3×5³=3000 ms=3 s。最长周期 1000 ms 不是其他周期的全部公倍数,例如 1000 不能被 60 整除。

任务每 T 占用 C,长期平均份额为 C/T;独立作业 CPU 工作相加,得到U=ΣC/T=1/5+4/20+2/60+5/1000=263/600=0.438333…≈43.8333%。单位 ms/ms 消去,U 为无量纲比例。百分数保留四位小数;它说明平均需求,尚未说明某个短期限一定满足。

四任务的已知条件、最小公倍数、CPU利用率与作业数回代
比值无单位,H保留ms。图内简写条件沿用正文完整模型,包括无自挂起;这是改编演算,不是原案例已完成的实际实时证明。

用第二种计数回代:统计 [0,3000)内释放,不计 3000 ms 的新作业,四任务各有 3000/T=600、150、50、3个作业,共803。本演算让各作业实际占用给定C,与独立模拟的固定执行量一致,因此CPU工作 600×1+150×4+50×2+3×5=1315 ms,空闲3000−1315=1685 ms,1315/3000=263/600。若实际执行小于WCET,1315 ms是需求预算,实际空闲会相应增加。首60 ms的忙31 ms/闲29 ms只是当前演算局部窗口,不能替代整超周期比例。

每个任务都应独立登记自己的释放。若把“到1000 ms”放在“到60 ms”的条件内部,会漏掉1000、2000 ms,因为这两个时刻都不是60 ms的整数倍;正确的就绪队列也无法调度一个根本没有登记的作业。

平均有余量,截止期仍可能违约

R 是从释放到完成的响应时间,包括等待 CPU 与被抢占时间;C 只计本作业自身执行。当前模型可用固定优先级响应时间分析:从 Rᵢ⁽⁰⁾=Cᵢ开始,迭代Rᵢ⁽k+1⁾=Cᵢ+Σh∈hp(i)⌈Rᵢ⁽k⁾/Tₕ⌉Cₕ直至不动点。hp(i) 是本任务更高优先级任务,求和不含自己;向上取整给响应窗口内的干扰次数,乘 C 后仍为 ms。本例无阻塞,所以没有另加阻塞项。

任务由 C 起算的迭代 / ms不动点回代 / ms基础期限
τ51没有更高优先级,R=11≤5
τ204→5→54+⌈5/5⌉×1=55≤20
τ602→7→8→82+⌈8/5⌉×1+⌈8/20⌉×4=2+2+4=88≤60
τ10005→12→14→145+⌈14/5⌉×1+⌈14/20⌉×4+⌈14/60⌉×2=5+3+4+2=1414≤1000
固定优先级响应迭代、τ1000首次自身5ms与响应14ms的区别,以及只改D20的变式
沿用上文完整理想模型,亦无额外ISR;τ5/20/60/1000的下标是本例周期标签,公式i/h为任务索引。图用ceil表示向上取整。这些是最坏R,后续作业实际R可以不同。

再用实际轨迹检查首次响应。按半开区间 [开始,结束)记录,完成时刻恰等于截止时刻算合格。首15 ms如下:

区间 / msCPU这段说明什么
[0,1)τ5最高优先级首作业。
[1,5)τ20先等1 ms,再连续执行4 ms;该作业未被抢占。
[5,6)τ5第二次释放得到 CPU。
[6,8)τ60首作业在8 ms完成。
[8,10)τ1000执行自身工作的前2 ms。
[10,11)τ5抢占仍未完成的τ1000。
[11,14)τ1000再执行3 ms,自身总执行5 ms,释放0到完成14。
[14,15)空闲本轮已无未完成就绪工作。

独立精确事件枚举与逐毫秒模拟对比了全部803个作业,最大响应为(1,5,8,14) ms,基础各期限均满足。τ1000三次为0→14、1000→1012、2000→2012 ms:后两次实际响应12 ms。最坏14 ms是上界与本窗口最大值,不要求每次都经历同样干扰。

变式只改 D20=4 ms,其余条件包括固定优先级、执行量和超期后继续执行均不变。首作业0释放,截止4,完成5,R20=5 ms>4 ms,晚1 ms;原 D20=20 ms 时合格。整个超周期150个τ20作业都违约,其他任务没有违约。U仍约43.8333%,执行轨迹不变。这给出“U<1就能证明任意期限”的反例。

RMS 的经典利用率界在独立周期、单 CPU 可抢占固定速率优先级、D=T等模型下提供充分保证,超过该充分界不等于不可调度。期限短于周期、存在阻塞或开销、换成EDF、多CPU、丢弃超期作业等都改变分析条件,须重新计算;不能将上表当某个真实温箱、串口链路或OS的实测保证。

2.4.4 安全要求怎样进入软件保证

安全攸关软件可能因错误功能或失效带来不可接受风险。先在系统层分析失效条件与危害,再结合架构、隔离和保护措施分配软件安全需求及保证级别。把软件称为“机载程序”并不能自动决定A;加了一条保护也不能未经分析就机械降级。

失效后果、保证目标与标准版本

系统评估与软件级别分配、A到E失效条件和DO-178B历史目标数
C按两份NASA公开资料采用57,原教材转录保留。目标数不是失效概率,也不是软件缺陷数。
软件级别关联失效条件(历史口径)DO-178B历史目标数
A灾难性 Catastrophic66
B危险性 Hazardous65
C严重性 Major57
D轻微性 Minor28
E无安全影响 No Effect0

本地教材 Markdown 表2-4把C写为56。NASA 2010年公开演示及2015年研究均列57,本册据此校正教学表;未取得原表像素与标准Annex A全文,不能判断冲突是否来自印刷或转录,也未逐项复计全表。FAA公开技术研究对B历史E级明示没有目标,支持0;该研究自身不构成FAA政策。D的28个目标仍含相应验证,E是否适用也须系统安全评估。

RTCA/EUROCAE组织制定相应机载软件文件,FAA通过认可指引接受它们。RTCA公开目录列 DO-178B 发布于1992-12-01,DO-178C 发布于2011-12-13。FAA AC20-115D给出一种可接受的符合性方法,说明B延续使用的条件;不能写成FAA独自开发、唯一强制方法,也不能断言B在任何场景都可直接继续用。本表是B历史数据,不据它补造C全部目标数。

CMMI关注组织/过程能力改进;机载软件保证关注具体系统、软件级别、适用目标与证据。成熟度等级与A–E没有简单换算。同一组织的过程水平也不能代替某一产品的安全分析和符合性证明。

覆盖检查回答执行到了什么

语句覆盖检查可执行语句是否执行;判定覆盖检查判定各结果是否出现;MC/DC还要求说明每个条件能独立影响判定结果。按本节采用的历史级别口径,A要求语句、判定、MC/DC;B要求语句与判定;C要求语句。D/E在这三个结构覆盖列没有对应要求,不能据此说D不用测试或不用验证。

【自编教学补充例】求一个判定P=a∧b达到unique-cause MC/DC的最小用例集合。a、b是独立布尔变量,四组合都可达;无短路,完整逻辑评估,输入与输出可观察。T表示真,F表示假。这里只讨论该判定,不由一张真假表计算整程序语句或入口/出口覆盖率。

AND真值、两组独立影响对与TT/FF反例,以及结构覆盖的历史级别表
用例对要固定其他条件。此例的最少3个不能推广成任意n条件一律n+1。
用例abP
TTTTT
FTFTF
TFTFF
FFFFF

集合{TT,FT,TF}中,TT↔FT固定b=T,只改a,P由T变F;TT↔TF固定a=T,只改b,P也翻转。两条件独立影响都成立,判定真假与各条件真假也齐全。因为P只有TT为真,a独立影响必需TT/FT,b独立影响必需TT/TF;必要点并集正好三项,所以本例最少3个用例,无需取整。第二种方法枚举6个二项集合均不通过,4个三项集合只有该集合通过。

变式只保留{TT,FF}:P真/假都有,这一个判定的判定覆盖为2/2=100%;完整评估下两条件真假也各有。然而唯一用例对同时改变a与b,不能固定另一条件来展示独立影响,因此未达到本例MC/DC。

若改表达式、出现条件耦合/不可达、短路评估,或采用masking等另一形式,需要按新条件核验可用独立对。结构覆盖说明测试执行范围,不证明要求本身正确、程序没有所有缺陷或系统已安全。测到了分支,仍要核对预期结果和错误处理。

开发产品与贯穿过程怎样形成证据

软件生命周期中的目标说明要证明什么,活动说明怎样开发、验证与管理,生命周期数据保存产物与符合性证据。三者是不同对象,不能按名字排成三个时间阶段。

目标活动数据的语义关系,开发产品和贯穿生命周期的四项综合活动
开发Integration形成目标代码;Integral综合过程包含验证、配置管理、质量保证与审定联络。
系统安全分析分配需求,计划协调开发与综合活动,开发和验证均形成数据
验证产生测试与分析记录,配置控制数据,问题与派生需求反馈系统;四项综合活动相互并列。

计划协调活动、标准与受控数据。开发由高层需求、架构与低层需求、源代码到集成后的目标可执行代码逐步形成产品;验证、配置管理、质量保证、审定联络贯穿生命周期。开发完成后才开始验证或配置管理,会失去早期需求、设计与变更的证据。

综合活动主要对象与作用重要边界
验证评审、分析、基于需求的测试与结构覆盖检查,核对产物和目标,产生记录。只有覆盖不够;应核对需求、结果和适用目标。
配置管理标识、基线、变更控制、记录和归档。开发与验证数据均受控,不只是最后存源码。
质量保证审计过程与产物是否遵循计划及适用要求。与直接功能测试职责有区别。
审定联络沟通符合性方法及证据,组织提交。提交证据不能直接当审定已经通过。

验证发现的问题、设计中产生的派生需求可能影响系统安全假设,必须反馈相应分析。低层实现不是脱离系统要求独自结束的一条直线。软件规范、代码、测试和分析记录等数据共同支撑判断;证据的关联、适用条件和受控状态与“文件数量多”有不同意义。

回到温箱,改控制板先核硬件适配与真实I/O;增加任务先核就绪竞争及期限;改变用途先核失效后果与保护条件。组成、调度、系统安全各有对象。把条件写清楚,再决定需要哪种模型、哪项证据,概念和计算才能随题设一起迁移。

2.4 速查

组成先标边界

本例输入接口→控制器→输出接口在计算边界内;传感器、加热器和温箱形成物理反馈。目标温度与测量数据进入控制器,控制命令去执行器。

一般组成五方面:处理器、支撑硬件、OS、支撑软件、应用。裸机可无OS;专用用途可用通用CPU。Flash通常非易失,运行RAM通常易失。回看控制回路

三属性和四质量轴

嵌入式问是否进入设备完成用途;实时问逻辑与期限;安全攸关问失效风险。同一系统可同时满足三者,也可嵌入式而非实时、非安全攸关。

硬实时违约在需求下不可接受;软实时仍有目标。Safety看不可接受风险,可靠性看规定条件/时间下正确服务,可用性看可使用,Security看安全保护。回看分类与质量

五层按职责看支撑

硬件→抽象→OS→可选中间件→应用。HAL/BSP在教材抽象层,驱动与板级划界依实现;调度属OS内核。层间向上支撑不表示启动顺序,应用可以直接用OS API。

任务/内存/时间/任务间通信是内核管理;文件/网络/GUI等按需配置。裁剪减模块,配置设组件或参数,可共用静态方法。高确定性容许状态变化,关注条件下可预测。回看层与接口

开发部署与上电启动分开

宿主编辑/编译/链接,适配目标代码加载与调试;目标连接I/O。典型片级→板级→系统级,初始化对象决定类别,具体平台可交错或细分。

CMSIS Cortex-M的Reset_Handler、SystemInit与__PROGRAM_START仅是实现例;片级也可由软件配置。代码/数据/栈/缓冲占目标资源,桩或仿真之后仍核目标板I/O与时序。回看工具与启动

调度规则必须能据值比较

RMS周期越短固定优先级越高;EDF选择绝对截止时刻较早的就绪作业;LLF选择剩余松弛度最小者,松弛度=绝对截止−当前时刻−剩余执行量。

就绪、阻塞与抢占分开;实际中临界区/中断/开销改变切换条件。内核基准不能直接代业务期限证明,不给统一20%开销。回看调度边界

四任务的重复窗口与份额

改编理想模型:独立周期、首0、单CPU、短T固定高优先级完全可抢占、D=T;无阻塞/抖动/额外ISR/切换/自挂起。T周期、C每作业WCET、D相对期限,均ms;T=(5,20,60,1000)、C=(1,4,2,5)。本演算各作业实际占用给定C。

H=lcm(T)=3000ms;U=ΣC/T=263/600≈43.8333%无量纲。[0,3000)共803作业、CPU1315ms、空闲1685ms。最长T≠H;首60ms的31/60不是全周期U。回看完整计算

响应时间计等待和抢占

同四任务模型,R从释放到完成,C只计自身。R从C起算,加更高优先级ceil(R/T)×C干扰至不动点,最坏R=(1,5,8,14)ms。

τ1000首发自身5ms、完成14ms,后两次实际12ms。仅D20改4ms、超期继续、策略不变,全部150个τ20晚1ms,U不变。低平均负载不证明任意期限;换模型须重算。回看递推与反例

系统风险先于软件级别

系统失效/危害→架构与隔离分析→软件需求与保证级别。DO-178B历史:A灾难66、B危险65、C严重57、D轻微28、E无安全影响0,目标数单位“个”。

C按NASA公开资料校正本地转录56;D仍需验证,E适用仍须系统评估。B/C版本不同,FAA认可指引与出版者分工分开;CMMI过程改进不能换算A–E。回看来源及版本

覆盖必须明确对象和独立性

DO-178B历史三项结构覆盖:A语句/判定/MC/DC;B语句/判定;C语句,D/E此三列无要求。D仍有其它验证目标。

独立可达、无短路完整评估的P=a∧b,unique-cause最少{TT,FT,TF}三项;TT/FT固定b,TT/TF固定a。{TT,FF}仅该判定覆盖100%,两条件同变未达MC/DC。本例3不推广任意n+1,覆盖不证明系统安全。回看配对与最小性

生命周期分对象与贯穿责任

目标回答证明什么,活动回答怎样做,数据保存产物/证据;三者非时间阶段。开发形成需求、设计、源代码、目标代码,Integration是开发集成。

Integral综合过程含验证、配置、QA、审定联络并贯穿;验证产记录,配置控数据,QA审计,联络组织提交。问题/派生需求反馈系统分析,提交与覆盖不能单独证明审定完成。回看责任关系

2.4 自测

选择后显示解析。题源性质逐题标明;本页作答不回写正式错题本。

已答 0 / 32
01 / 自编 · 物理反馈与边界

教学温箱中,输入接口、控制器、输出接口属于计算边界,传感器、加热器、温箱在外。目标温度和箱温测量值应在哪里比较?

02 / 自编 · 组成条件

一台专用记录设备由通用MCU运行裸机程序。哪项判断准确?

03 / 自编 · 资源与保存

设计选择Flash存固件、普通易失RAM存运行状态,增加缓冲又提高RAM需求。正确理解是?

04 / 自编 · 分类轴

控制软件嵌入设备,需求规定每个作业必须在时限内完成,其失效又可能造成不可接受伤害。三项描述的关系是?

05 / 自编 · 硬软实时

任务A的需求规定任何截止违约均不可接受;任务B允许有限迟到并评价服务质量。哪项判据有效?

06 / 自编 · 质量观察

设备能启动,但故障时可能输出危险控制命令。哪项推断成立?

07 / 改编 · 本章HAL/BSP误解

按教材五层模型,硬件相关驱动可参与HAL/BSP实现。哪项对职责划界的判断正确?

08 / 自编 · 支撑与调用

应用既使用可选消息中间件,也直接调用OS定时API。哪项结论有效?

09 / 自编 · 内核与可配置组件

要解释任务、内存、时间和任务间通信由谁管理,以及GUI是否必须配置,哪项准确?

10 / 自编 · 裁剪与确定性

删除不用的网络模块,再配置线程数和缓冲大小,运行状态按输入变化。哪项准确?

11 / 改编 · 三级初始化误解

启动软件设置芯片时钟,又初始化板上外设,随后进入运行时/可选OS与应用。正确理解是?

12 / 自编 · 开发与部署

宿主通过适配目标的工具链生成固件,桩测试通过后部署到目标。还需核对什么?

13 / 自编 · 调度规则迁移

两个就绪作业A/B的绝对截止时刻为15/20ms,当前时刻10ms,剩余执行量为1/8ms,无阻塞。EDF与LLF分别先选谁?

14 / 自编 · 抢占条件

固定优先级系统当前任务运行,另一个更高优先级任务因未完成I/O而阻塞。能直接断言后者立即抢占吗?

15 / 改编 · 四任务超周期

独立周期任务首次均t=0释放,周期T=(5,20,60,1000)ms。释放模式共同重复的最小正时间H是?

16 / 改编 · 四任务平均CPU需求

单CPU理想模型,独立周期任务T=(5,20,60,1000)、每作业WCET C=(1,4,2,5),均ms;无阻塞/抖动/额外ISR/切换/自挂起。平均CPU需求U是什么?

17 / 改编 · 半开窗口回代

独立周期任务首0释放,T=(5,20,60,1000)ms。统计[0,3000)内释放,不计3000ms新作业,总作业数是?

18 / 改编 · 忙闲与口径

独立周期首0、单CPU短T固定高优先级完全可抢占、D=T;无阻塞/抖动/额外ISR/切换/自挂起。T=(5,20,60,1000)、C=(1,4,2,5)均ms,本演算各作业实际占用给定C,基础全部完成。[0,3000)的CPU需求与空闲是?

19 / 改编 · 释放登记反例

从t=0起每毫秒检查,只有当t是60ms整数倍才继续判断是否为1000ms整数倍。按周期1000ms应在[0,3000)释放的监测任务会漏哪些?

20 / 改编 · 响应迭代

独立周期首0、单CPU短T固定高优先级完全可抢占、D=T;无阻塞/抖动/额外ISR/切换/自挂起。T=(5,20,60,1000)、C=(1,4,2,5)均ms,超期仍执行。四任务最坏响应R按同序是?

21 / 改编 · C与R及真实抢占

同理想模型:独立周期首0、单CPU短T固定高优先级完全可抢占、D=T,无阻塞/抖动/额外ISR/切换/自挂起;T=(5,20,60,1000)、C=(1,4,2,5)均ms。τ1000首作业8–10与11–14ms运行,10–11ms被τ5抢占。其C/R是?

22 / 改编 · 仅改期限变式

独立周期首0、单CPU短T固定高优先级完全可抢占,无阻塞/抖动/额外ISR/切换/自挂起;T=(5,20,60,1000)、C=(1,4,2,5)均ms。基础D=T,仅D20改4ms,优先级不变且超期继续。R20=5ms,此变式如何?

23 / 自编 · 分析边界

上述固定优先级理想模型得R=(1,5,8,14)ms。若加入共享资源阻塞或改成双CPU,哪项准确?

24 / 改编 · 教材2.4.4安全分配段

软件被称为机载,设计还加入一条隔离措施。可以据此直接判为A级或机械降一级吗?

25 / 改编 · 教材表2-4资料,校正历史目标数

本册采用NASA两份公开资料校正DO-178B历史目标数。A/B/C/D/E对应哪组(单位个)?

26 / 自编 · 标准与过程比较

关于CMMI、DO-178B/C与FAA认可指引,哪项成立?

27 / 自编 · 历史覆盖矩阵

只问DO-178B历史的语句/判定/MC/DC这三项结构覆盖要求。哪项表述正确?

28 / 自编 · MC/DC最小集合

一个判定P=a∧b,a/b独立,四组合可达,无短路完整评估且输入输出可观察。仅核unique-cause MC/DC,哪个最小集合成立?

29 / 自编 · TT/FF变式

P=a∧b,a/b独立可达、无短路完整评估,输入输出可观察,只取TT与FF。哪个结论成立?

30 / 自编 · 用例配对

同一独立可达、无短路完整评估的P=a∧b中,要仅证明b的unique-cause独立影响,哪对可用?

31 / 自编 · 生命周期责任

目标、活动、生命周期数据与开发/综合过程怎样对应?

32 / 自编 · 证据与反馈

开发产生新的派生需求,验证达到所要求覆盖,并组织提交材料。下一判断准确的是?

尚未启用本地进度。

教材对应与来源

教材正式范围为《系统架构设计师教程(第2版)》2.4.1–2.4.4:组成及特点、分类、软件组成及特点、安全攸关软件设计。四个正式组对应四个目录入口,保留六份Mermaid源与本地SVG。五层资料读取、去重和完整性边界见制作记录;取材不等于这些历史题全部做完。

本节重点解释三级初始化、HAL/BSP、实时性与安全级别。旧材料的LLF/EDF标签及部分回忆题答案存在缺口,不用它们作为唯一标答。

自测32题,逐题注明自编或改编;没有冒称恢复残缺原题。四任务保留旧案例T/C数据并明确补齐理想模型,为改编教学例;精确事件与逐毫秒两种算法逐一比对803作业。MC/DC为完整自编单判定例,必要点证明与全部二/三用例集合枚举互核。图、正文、速查和自测使用同一冻结条件;该理想模型不构成某台设备实测或业务期限保证。

采用的知识与范围公开一级依据
FAA认可方式与DO-178B延续条件FAA AC20-115D,2017;一种可接受的符合性方法及适用条件,不能改写成FAA独自开发或唯一强制方法。
B/C历史发布日期RTCA 2020出版目录,列B于1992-12-01、C于2011-12-13;只取发布事实。
A–D历史目标66/65/57/28;C校正NASA:Software Assurance Considerations for STANAG4671,2010-09-14,第5/14页;NASA/CR–2015-218802:Understanding and Evaluating Assurance Cases,2015,印刷p18。两份均列C57;记录入库年份不充当演示年份。
E无目标的DO-178B历史摘要FAA DOT/FAA/TC-17/67:Explicate ’78,2018,印刷p2。这是公开研究,报告明确不构成FAA政策;E适用性仍由系统安全评估决定。
结构覆盖级别、独立影响与AND例NASA/TM–2001-210876:A Practical Tutorial on MC/DC,2001。印刷p8正文对应B版A-7目标7/6/5:语句A–C、判定A–B、MC/DC A;p5高层需求测试覆盖A–D、低层A–C;p9/16与附录讨论定义、AND及其它形式。未把其Table1误称级别矩阵。
系统失效后果与安全分析范围NASA/CR–2004-213004:Software Safety Analysis of a Flight Guidance System,2004,印刷p20 Table4为飞机危害后果历史分类。本册不把其飞行小时概率外推为所有软件门槛,也不拿该表支持结构覆盖。
组织过程成熟度/能力CMMI Institute:Levels。只用于比较对象,不与A–E等级换算。
Cortex-M启动与软件初始化Arm CMSIS 6:Startup File、SystemInit。函数及次序限本平台实现例,__PROGRAM_START只有前缀双下划线。
HAL/BSP驱动实现边界ST:STM32CubeMP13 Package Architecture。具体实现可含HAL/BSP驱动,不能由教材抽象层推出全部平台统一划界。
就绪优先级与实时模型FreeRTOS Task Scheduling、SEI:Rate Monotonic Analysis for Real-Time Systems,1991,§2.1/3.1。框架配置与模型假设须明确,充分界不是任意期限判据;计算数据为本册改编。
内核基准与多条件测试补充RTEMS Test Suites、NASA Software Engineering Handbook 7.21。只补边界,不据基准统一给OS开销,也不由本例推广n+1。

原教材转录C=56仍保持只读。当前未取得原教材表像素及标准Annex A全文,不能认定印刷或OCR责任,也未逐项复计标准全部目标;B历史数量不外推为C版全部要求。温箱、完整图、未标改编来源的题均为自编教学。网络机制与系统工程留在相应2.5/2.8,不扩写成教材不存在的新小节。