niusouti.com

阅读以下嵌入式多核程序设计技术方面的叙述,回答问题1至问题3。甲公司承担了一项为宇航系统配套生产高性能嵌入式计算机系统的任务,用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,并可以有效地防止系统故障的蔓延。根据用户对本项目的要求,甲公司成立了软/硬件两个项目组,总体设计由硬件组承担,负责高性能嵌入式计算机系统体系结构设计,软件组负责确定软件的技术需求和应用软件开发平台的软件设计工作。在处理器选型方面,硬件组王工与软件组张工在讨论采用哪种CPU体系结构方面发生争议。目前,流行的处理器结构包括了单核结

题目

阅读以下嵌入式多核程序设计技术方面的叙述,回答问题1至问题3。

甲公司承担了一项为宇航系统配套生产高性能嵌入式计算机系统的任务,用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,并可以有效地防止系统故障的蔓延。根据用户对本项目的要求,甲公司成立了软/硬件两个项目组,总体设计由硬件组承担,负责高性能嵌入式计算机系统体系结构设计,软件组负责确定软件的技术需求和应用软件开发平台的软件设计工作。

在处理器选型方面,硬件组王工与软件组张工在讨论采用哪种CPU体系结构方面发生争议。目前,流行的处理器结构包括了单核结构、多处理器结构、超线程结构、多核结构、共享Cache的多核结构和超线程技术的多核结构六种,如下图所示。

王工提出,根据用户要求,本嵌入式系统应具有高速并行处理能力,采用多处理器结构比较适合,主要理由是多处理器结构设计简单、可支持多个进程在不同处理器上并发处理;而张工提出,必须分清“多处理器结构”与“多核结构”的优点和缺点,多处理器结构虽然支持多进程的并发处理,但没有直接实现多线程并发执行;多核结构可以直接实现多线程并发执行。要提高应用的并行性就必须利用多个硬件资源的并行工作,建议采用超线程技术的多核结构的处理器。请填写下图(f)中的(1)~(8),并用300字以内的文字对上述六种处理器结构的工作原理进行简要描述。


相似考题

3.阅读以下关于嵌入式多核程序设计技术的描述,回答问题 1至问题 3。 【说明】 近年来,多核技术己被广泛应用于众多安全关键领域(如:航空航天等)的电子设备中,面向多核技术的并行程序设计方法已成为软件人员急需掌握的主要技能之一。某宇航公司长期从事宇航电子设备的研制工作,随着宇航装备能力需求的提升,急需采用多核技术以增强设备的运算能力、降低功耗与体积,快速实现设备的升级与换代。针对面向多核开发,王工认为多核技术是对用户程序透明的,开发应把重点放在多核硬件架构和硬件模块设计上面,而软件方面,仅仅需要选择一款支持多核处理器的操作系统即可。而李工认为,多核架构能够使现有的软件更高效地运行,构建一个完善的软件架构是非常必要的。提高多核的利用率不能仅靠操作系统,还要求软件开发人员在程序设计 中考虑多进程或者多线程并行处理的编程问题。【问题1】(12分) 请用300字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么? 【问题2】(6 分) 在多核环境下,线程的活动有并行和并发两种方式,请用300字以内的文字说明这两种方式的含义及差别。 【问题3】(7 分) 请根据自己所掌握的多核、多线程的知识,判别表 3-1给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。

4.阅读以下关于嵌入式软件体系架构的叙述。3. 某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);(2) 应用软件应与硬件无关,便于软硬件的升级;(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;(4) 宇航设备可靠性要求高,系统要有故障处理能力。公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。[问题1]用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。[问题2]在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。请说明两种操作系统的主要差异,完成下表中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。两种操作系统的主要差异[问题3]故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。

参考答案和解析
正确答案:第一问 第二问 (1) 单核结构:计算机中仅有一个物理处理器不支持应用软件的并行执行因为在任何时间点上CPU都只能执行一个指令流。 (2) 多处理器结构:支持真正意义上的并行执行因为多个线程或进程能够在多个处理器上同时执行。 (3) 超线程结构(SMT):实际上计算机中只有一个实际的物理处理器但从软件角度来看存在多个逻辑处理器支持操作系统和应用程序将多个线程调度到多个逻辑处理器上就像多处理器系统一样。从微体系结构的角度看逻辑处理器的指令是固定的并且在共享的执行资源上同时执行。 (4) 多核结构:采用单芯片多处理器(CMP)的设计此种结构不是重用单个处理器中某些处理器资源而是在单个处理器芯片内实现两个或更多的“执行核”。这些执行核都是相互独立的处理器并具有自己的执行集合以及体系结构资源。 (5) 共享Cache的多核结构:与多核结构工作方式相一致主要差别在于设计时将这些执行核设计成可共享片上的Cache。 (6) 采用超线程技术的多核结构:主要是将多核结构与超线程结构相结合从而将逻辑处理器的数量增加到执行核的两倍。
第一问 第二问 (1) 单核结构:计算机中仅有一个物理处理器,不支持应用软件的并行执行,因为在任何时间点上,CPU都只能执行一个指令流。 (2) 多处理器结构:支持真正意义上的并行执行,因为多个线程或进程能够在多个处理器上同时执行。 (3) 超线程结构(SMT):实际上计算机中只有一个实际的物理处理器,但从软件角度来看,存在多个逻辑处理器,支持操作系统和应用程序将多个线程调度到多个逻辑处理器上,就像多处理器系统一样。从微体系结构的角度看,逻辑处理器的指令是固定的,并且在共享的执行资源上同时执行。 (4) 多核结构:采用单芯片多处理器(CMP)的设计,此种结构不是重用单个处理器中某些处理器资源,而是在单个处理器芯片内实现两个或更多的“执行核”。这些执行核都是相互独立的处理器,并具有自己的执行集合以及体系结构资源。 (5) 共享Cache的多核结构:与多核结构工作方式相一致,主要差别在于设计时将这些执行核设计成可共享片上的Cache。 (6) 采用超线程技术的多核结构:主要是将多核结构与超线程结构相结合,从而将逻辑处理器的数量增加到执行核的两倍。 解析:从题意可以看出,本题涉及嵌入式软硬件设计问题,主要考查应试者能否正确地根据用户需求,理解技术要求,针对宇航系统配套生产高性能嵌入式计算机系统的任务,确定软件的技术需求和应用软件开发平台选择。本题主要考核考生以下实时系统基本技术知识。
(1)因为嵌入式实时系统与实际应用要求结合性很高,为了满足系统总的要求,在嵌入式计算机系统体系结构设计时,应充分考虑实际应用对硬件平台的配置和系统的实际技术要求。由于本题用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,因此考查如何选择处理器的结构以及对处理机不同结构特性了解的程度。
(2)软件并发是一种能够有效解决资源同时共享问题的方法。软件并发具有非常重要的作用和意义,主要体现在:并发能够让系统资源得到最有效的利用。但是由于采用了多线程技术实现应用程序的并发操作,将存在同步、通信、负载均衡和可伸缩性方面的问题。本题要求考生了解并行程序设计的基础知识。
(3)本题给出为了防止系统故障的蔓延,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,才能满足用户对系统的要求,考生从题中应可以看出,操作系统应该是实时性强、可靠性高、支持多核结构和高速缓存管理。只有这样才能增强系统的性能。
[问题1] 本问题主要考查考生对处理器的结构及多线程的理解能力,分清“多处理器结构”与“多核结构”的优点和缺点。
超线程技术实际上只有一个实际的物理处理器,但是从软件的角度来看,存在多个逻辑处理器。超线程技术支持操作系统和应用程序将多个线程调度到多个逻辑处理器上,就像多处理器系统一样。从微体系结构的角度看,逻辑处理器的指令都是固定的,并且在共享的执行资源上同时执行。也就是说,多个线程能够在多个逻辑处理器间进行调度,但是由于执行资源是这些逻辑处理器共享的,因此微体系结构必须决定两个线程如何以及何时切换执行。当一个线程被挂起的时候,另一个线程就会继续执行。能够导致线程挂起的因素包括处理Cache失效以及分支预测失败。
在同时多线程技术之后就出现了多核处理器。多核处理器采用单芯片多处理器(Chip Multiprocessor,CMP)的设计。随着生产工艺与制造技术上的进步,处理器厂商在设计多核处理器时,不是重用单个处理器中的某些处理器资源,而是在单个处理器芯片内实现两个或者更多的“执行核”。这些执行核都是相互独立的处理器,只是位于同一块芯片上而已。这些执行核都具有自己的执行集合以及体系结构资源。如下图所示。

如果考生能充分理解此题,问题1的第二问将会迎刃而解。
更多“ 阅读以下嵌入式多核程序设计技术方面的叙述,回答问题1至问题3。甲公司承担了一项为宇航系统配套生产高性能嵌入式计算机系统的任务,用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,并可以有效地防止系统故障的蔓延”相关问题
  • 第1题:

    请详细阅读有关嵌入式实时操作系统方面的描述,回答问题1至问题2。

    【说明】

    近年来,分区化(Partitioning)技术已被广泛应用于大型嵌入式系统,此项技术重在解决嵌入式系统中多类应用软件共享计算机资源的安全性问题,同时,也可降低软件开发成本,提高软件的可重用能力。某公司承担了一项宇航计算机系统研制任务,要求将以前采用的多处理机系统精简为由单个处理器系统完成,而整体功能应在原有功能不变的基础上,可灵活扩展,并要求原应用软件可被快速移植到新系统。公司将任务交给王工程师组织并承担总体设计工作。在采用何种嵌入式实时操作系统的选型问题上,王工认为宇航系统强调安全性,原系统应用软件功能分布在各自的处理机上,在保持功能不变的情况下,应适当地维持各个软件的相对独立性,因此采用具有分区能力的操作系统(如:VxWorks653)比较合适。



    【问题1】

    图3-1给出了具有分区能力的操作系统架构,该架构支持分区和进程两类调度,并提供了分区的时间、空间隔离保障,保证了应用软件可安全共享计算机资源。请用300字以内文字说明该类操作系统中分区化技术的主要特点。

    【问题2】

    完成该项目总体设计后,王工将软件设计工作交给李工,要求李工在原有软件基础上,完成新环境下的软件设计。经分析,李工统计出了原系统的任务基本情况(见表3-1)。原系统包含三个子系统,为了保证各子系统软件间的相对独立性,将三个子系统移植到新系统的三个分区工作,假设将“显示子系统”、“雷达子系统”和“任务子系统”分别用P1、P2和P3表示,系统的最小时间计时(tick)设为1ms,调度表的主时间框架将是40ms。

    根据表3-1给出的原系统各任务周期和最坏执行时间数据,新系统中的所有任务可被调度,请对此进行分析说明,完善表3-2所示的分区调度表的设计,在空(1)~(10)填写正确内容并将解答填入答题纸的对应栏内。

    (注:WCET,Worst-CaseExecutionTime)。


    答案:
    解析:
    【问题1】
    答:(1)应用软件代码和操作系统代码工作在处理器的不同特权级别上,应用软件的失效不会影响操作系统的运行:

    (2)每一个分区有自己私有存储资源,分区所占空间是相互隔离的,分区内某进程的失效仅仅只影响到进程所在的分区;

    (3)操作系统可为分区内应用软件提供多种类型的API服务,使原有应用软件可方便地移植到分区内运行;

    (4)分区的调度是按预先配置好的时间表进行调度,任何-个分区只能在系统分配给它的时间窗口内运行,任何分区不能、也无法占用其他分区的窗口时间;

    (5)具有分区能力的操作系统提供健康监控管理能力,它通过操作系统内的故障监测机制,将发现的应用、分区和系统的错误通过注入机制报告健康监控系统,由它进行统一的故障处理;

    (6)分区化操作系统允许不同安全等级(A-E)的应用软件共享计算机资源,可实现软件验证的最小化、局部化。

    【问题2】

    答:所有任务可被调度的分析如下:

    保证所用任务的可调度性必须满足在主时间框架内,系统中所用任务的最坏执行时间(WCET)均被执行至少一次。初步计算如下:

    1(P3T1)≤5ms

    1(P1T1)+ l(P2T1)≤10m

    2(P1T2)+ 1(P3T2)≤20m

    1(P3T1)*8+1(P1T1)*4+l(P2T1)*4+2(P1T2)*2+1(P3T2)*2+5(P1T3)*1+3(P2T2)<=40ms

    依据上述三个设计条件,新系统的分区调度表可安排如下:

    (1)0 (2) 1 (3) 2 (4) P2 (5) P3

    (6)4 (7) 20 (8) 1 (9) null (10) 7

  • 第2题:

    某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);(2) 应用软件应与硬件无关,便于软硬件的升级;(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;(4) 宇航设备可靠性要求高,系统要有故障处理能力。公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。

    用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。[问题2]在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。请说明两种操作系统的主要差异,完成下表中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。两种操作系统的主要差异

    [问题3]故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。


    答案:
    解析:
    [问题1]TLS结构框架的主要特点:(1) 应用软件仅与操作系统服务相关,不直接操作硬件。(2) 操作系统通过模块支持原软件访问硬件,可与具体硬件无关。(3) 模块支持层将硬件抽象成标准操作。(4) 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。TLS结构框架的各层内涵是:(1) 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。(2) 操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。(3) 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。[问题2]两种操作系统的差异见下表。

    选择类似于Linux的嵌入式操作系统。理由如下:(1) Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。(2) Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。(3) 嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。[问题3](1) 嵌入式系统中故障主要分为:①硬件故障:如CPU、存储器和定时器等;②应用软件故障:如数值越界、异常和超时等;③操作系统故障:如越权访问、死锁和资源枯竭等。(2) 滤波算法:①门限算法②递减算法③递增算法④周期滤波算法(3) 容错算法:①N+1备份②冷备③温备④热备

  • 第3题:

    阅读以下关于嵌入式软件体系架构的叙述,在答题纸上回答问题1至问题3。
    某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:
    (1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
    (2)应用软件应与硬件无关,便于软硬件的升级;
    (3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
    (4)宇航设备可靠性要求高,系统要有故障处理能力。
    公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图3-1所示,并将软件设计工作交给了李工,要求其在三周内完成软件总体设计工作,给出总体设计方案。

    【问题1】(8分)
    用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。
    【问题2】(10分)
    在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。
    请说明两种操作系统的主要差异,完成表3-1中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。
    表3-1 两种操作系统的主要差异

    【问题3】(7分)
    故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。


    答案:
    解析:
    【问题1】
    TLS结构框架的主要特点:
    (1)应用软件仅与操作系统服务相关,不直接操作硬件。
    (2)操作系统通过模块支持原软件访问硬件,可与具体硬件无关。
    (3)模块支持层将硬件抽象成标准操作。
    (4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。
    TLS结构框架的各层内涵是:
    (1)应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。
    (2)操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。
    (3)模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。
    【问题2】
    两种操作系统的差异见下表。

    选择类似于Linux的嵌入式操作系统。理由如下:
    (1)Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。
    (2)Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。
    (3)嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。
    【问题3】
    (1)嵌入式系统中故障主要分为:
    ① 硬件故障:如CPU、存储器和定时器等;
    ② 应用软件故障:如数值越界、异常和超时等;
    ③ 操作系统故障:如越权访问、死锁和资源枯竭等。
    (2)滤波算法:
    ① 门限算法
    ② 递减算法
    ③ 递增算法
    ④ 周期滤波算法
    (3)容错算法:
    ① N+1备份
    ② 冷备
    ③ 温备
    ④ 热备
    【解析】

    本题考查嵌入式系统设计的概念,主要包括嵌入式软件体系结构的框架设计,提高宇航设备可靠性的设计方法和掌握根据用户需求开展软件需求分析的手段。
    此类题目要求考生认真阅读题目对用户需求的描述,在分析、论证和概念设计的基础上,根据实例要求完善问题的解析。本题重点考查考生归纳问题、分析问题和解决问题的能力。
    本题首先给出用户针对宇航设备的4项功能要求:
    (1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
    (2)应用软件应与硬件无关,便于软硬件的升级;
    (3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
    (4)宇航设备可靠性要求高,系统要有故障处理能力。
    从4项要求分析看,第一项要求是考查考生的基础硬件知识,宇航设备应该由多个硬件模块组成,各个模块承担着不同功能,外场可快速更换是指在实验现场(如机场、发射基地)能够用备份模块替换掉故障硬件模块,从而节省维修时间。此项要求是本题设计软件体系总体架构的基础,也是采用三层栈(TLS)的首要点。第二项要求是考查考生从软/硬件升级方面理解三层栈(TLS)架构的优势,因为硬件要方便升级的基础是不会引起软件的更改(或极少更改),要想达到应用软件与硬件的无关性,必须采用操作系统实现硬件隔离。第三项要求是考查考生根据用户软件的技术要求,如何考虑操作系统的分析方法。要支持任务间的数据隔离,具有进程管理的操作系统最为合适,这里考查了考生必须深入了解什么是操作系统的进程概念。第四项要求是考查考生掌握设计高可靠性设备通常采用的技术。
    如果考生理解了上述4个用户要求,就能容易地回答本题的三个问题。
    【问题1】
    本题给出的TLS结构框架主要通过硬件抽象,形成模块支持层软件,将操作系统对硬件资源的管理抽象成对一种逻辑上相关的抽象资源的管理,这样就将操作系统软件与硬件进行了分离。而应用软件访问硬件资源靠操作系统提供的服务进行,这样,应用软件仅仅和具体功能实现有关,而不需关心硬件配置。因此,TLS结构框架的主要特点可概述为以下4点:
    (1)应用软件仅与操作系统服务相关,不直接操作硬件。
    (2)操作系统通过模块支持原软件访问硬件,可与具体硬件无关。
    (3)模块支持层将硬件抽象成标准操作。
    (4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。
    基于这种思想,TLS结构框架实现了宇航设备中软件功能服务,这样考生就可以完整地叙述各层软件的设计内涵,即:
    (1)应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。
    (2)操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。
    (3)模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。
    【问题2】
    选择操作系统的依据是本题第三项的用户要求,主要考查考生对目前常用的嵌入式操作系统的了解程度。第一小问的表格给出的VxWorks和Linux两个操作系统是嵌入式系统常用的软件,两个软件在资源管理上存在本质区别,考生必须明确差异后,方能回答第二小问。两种操作系统的差异如下表所示。
    通过比较,显然选用类似于Linux的嵌入式操作系统适用本题要求。理由包括三点:
    (1)Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态(这点是系统安全性要求),可以有效防止应用软件对操作系统的破坏。
    (2)Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。
    (3)嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。
    【问题3】
    作为宇航系统的嵌入式设备,硬/软件故障是宇航系统最为关注的内容,根据宇航系统的特点和系统组成,故障一般分为三类,即硬件故障、应用软件故障和操作系统故障,在设计中,应考虑这三类故障的处理方法。硬件故障一般包括CPU运算错误、存储器访问/越界错误、MMU配置错误、定时器计数错误和内总线错误等;应用软件故障一般包括计算越界、除0、溢出和超时等各种异常情况;操作系统故障一般包括越权访问、死锁、资源枯竭、调度超时、配置越界和操作系统异常等。
    一般情况下,宇航系统的故障分为瞬态故障和永久故障,瞬态故障是指偶然发生的错误,而永久故障是指发生后不可消失的错误。在容错系统中,故障一般是由瞬态故障向永久故障转变,将鉴别瞬态故障和永久故障的算法称为滤波算法。在嵌入式实时系统中,常用的滤波算法包括门限算法、递减算法、递增算法和周期滤波算法等。
    故障的鉴别目的是实现宇航系统的容错与重构。常用的容错算法是N+1备份、冷备、温备和热备。N+1备份是指N个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行;冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。

  • 第4题:

    阅读以下关于嵌入式系统开发的叙述,在答题纸上回答问题1至问题3。

    【说明】

    某软件公司长期从事移动智能终端设备等嵌入式软件研制工作,积累了丰富的嵌入式软件开发经验。某日,该公司经理派在嵌入式软件开发方面已具有很强经验的王工程师到某宇航设备研制单位洽谈一项软件合作项目,但是,在与对方洽谈需求时王工程师感觉沟通并不顺畅,许多概念较难达成一致。主要原因是王工程师长期从事移动智能终端的软件开发,开发平台主要是Android操作系统,开发语言是Java,而这次洽谈是王工程师第一次接触宇航系统软件,对于其特殊需求和要求缺少相关知识积累,不了解强实时、高安全和高可靠嵌入式软件设计等方面应用。

    【问题1】

    王工程师与某宇航设备研制单位洽谈的业务,涉及到了嵌入式系统的知识。根据你的理解请用100宇以内文字说明嵌入式系统的主要特点。

    【问题2】

    工程师到某宇航设备研制单位洽谈软件项目时,宇航设备研制单位技术人员提出了以下需求:此宇航设备主要面向无人飞行器,用于飞行姿态控制,实现飞行器的自主起飞和着陆,要求应用软件按最高安全等级(即A级软件要求)开发。为了提高飞行器系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足宇航设备要求的嵌入式操作系统,并在操作系统之上开发飞行器控制软件。请根据你对嵌入式操作系统选择方法的理解,判断表3-1给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。

    【问题3】

    请用300字以内文字,说明宇航设备的嵌入式软件与移动智能终端嵌入式软件在安全性(safety)、实时性、交互性设计和编码方面的要求有何差异,请填写表3-2中的空格(1)~(8),将解答写在答题纸的对应栏内。


    答案:
    解析:
    【问题1】

    答: 嵌入式系统具备以下7个特点:

    (1) 系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。

    (2) 系统实时性强。许多嵌入式系统对外部事件要求在限定的时间内及时作出响应,具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实施嵌入式系统。

    (3) 软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。

    (4) 处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。通常具备功耗低、体积小和集成度高等特点,能够将许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。

    (5) 多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术,但它们相互结合的紧密程度不及嵌入式系统。

    (6) 系统透明性。嵌入式系统在形态上与通用计算机系统差距甚大。它的输入设备往往不是常见的鼠标和键盘之类的设备,甚至不用输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。

    (7) 系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、I/O设备的数量和处理能力都比较有限。


    【问题2】

    答:(1)√ (2)× (3)√ (4)√ (5)√ (6)√ (7)× (8)√


    【问题3】

    答:(1) 宇航软件通常根据软件所在设备的失效而对系统安全性(Safety)影响的严重程度分为多种安全级别(如:A?E五级),而不同安全级别的软件开发过程有其不同的要求。

    (2) 移动智能终端中的软件主要用于辅助人们工作与生活,一般不会对生命产生直接影响,它没用安全级别之分。

    (3) 为了提高实时性,宇航软件设计上要充分考虑与硬件的紧密协同,尽可能地有效发挥硬件特点,在设计上要仔细考虑将实时性能需求分解到每个软件部件中。

    (4) 移动智能终端软件属于弱实时系统,对时间特性不敏感,达到人们可容忍即可(1分)。设计上尽量避免软件与硬件紧耦合。

    (5) 宇航软件大多数属于非人机交互系统,关注重点是安全性和可靠性设计。

    (6) 移动智能终端软件设计上重点关注的是人机界面友好性、简洁性,注重用户体现。

    (7) 宇航软件编码要遵守语言标准,尤其是应按照高级语言的安全子集标准开展编码,对代码函数的语句条数、扇入扇出、圈复杂度等影响代码质量因素都有严格规定。

    (8) 移动智能终端软件编码虽然也要遵循一定的编码标准,但在安全编码、扇入扇出、圈复杂度等方面没有严格要求。

  • 第5题:

    阅读以下关于智能安防应用的叙述,在答题纸上回答问题1至问题3。【说明】随着人们生活水平的提高,人们对于物质文化生活要求提高的同时,对于居家安全也越来越重视。某软件公司长期从事智能移动应用开发,现决定开发一套适用于家庭使用的便捷式智能安防系统。系统包括两个层面,其一为硬件层面,基于嵌入式操作系统实现动态拍摄,并上传到视频服务器;其二为用户软件层面,基于Web界面,用户通过安全认证后可在线查看监控视频。项目组召开会议对以下需求进行了重点讨论:(1)系统终端用户的界面呈现较丰富,包括图片、视频及语音消息。(2)付费VIP客户视频可以保存18个月,普通用户视频只能保存1个月,滚动覆盖。(3)系统上线后需应对大量客户端并发请求处理,并发用户数可能会有上万人的规模;系统预期用户呈明显地域集中分布特征。【问题1】(12分) 项目组在讨论实现需求(3)的技术方案时,首先确定了以下技术原则:(a)系统中用户信息按类别划分不同数据库或表存放。(b)系统应提供热备份机制以防止服务器意外失效。(c)为满足大规模并发处理要求,系统软硬件投入可根据需要追加。项目组经过集思广益,抽取了HTML静态化、缓存、P2P、集群与镜像、负载均衡等候选技术手段。请结合需求(3)及相应技术原则,分析上述技术手段在本项目中的可行性,将结果填入表格5-1中。表5-1 技术手段可行性分析

    【问题2】(5分) 本项目涉及到了嵌入式系统的知识。根据你的理解,请用300宇以内文字说明嵌入式系统的主要特点。 【问题3】 (8分)为了提高系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足安防要求的嵌入式操作系统,并在操作系统之上开发视频监控软件。请根据你对嵌入式操作系统选择方法的理解,判断表5-2给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。表5-2 选择嵌入式操作系统的8种观点


    答案:
    解析:
    【问题1】(12分) (1)HTML静态化手段可实现对系统经常访问的网页进行静态化以提高系统访问效率,但系统页面通常需要根据数据库中的用户信息以及用户的选择动态显示。因此不适合采用。(2)缓存技术手段:系统应用需要频繁访问数据库,可以对经常访问的数据建立缓存,以提高并发访问效率。因此适合。(3)p2p视频播放技术:视频播放实现边下边播完善用户体验,节省服务器带宽,降低成本,支持边下边播断点续传,支持多源下载,以提高并发访问效率。因此适合。(4)根据需求(3),系统需有效处理大量并发请求,且系统预期用户呈明显地域集中分布特征,因此可以采用集群与镜像手段提高用户的并发访问效率,且技术原则(b)要求系统应提供热备份机制以防止服务器意外失效,因此可以采用镜像机制提高系统的可靠性,根据题干中技术原则(c),又可根据需要追加集群与镜像所需的软硬件投入。因此适合。(5)负载均衡将是大型Web应用解决高负荷访问和大量并发请求时常用的有效解决方法,在系统采用集群和镜像技术手段时,负载均衡也是系统必须采用的相应配合手段。因此适合。综上不难看出,除HTML静态化手段外,其他四种技术手段均可应用于本系统,以提高大规模用户并发访问的处理效率。 【问题2】(5分) (1) 系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。(2) 系统实时性强。许多嵌入式系统对外部事件要求在限定的时间内及时作出响应,具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实施嵌入式系统。(3) 软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。(4) 处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。通常具备功耗低、体积小和集成度高等特点,能够将许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。(5) 多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术,但它们相互结合的紧密程度不及嵌入式系统。(6) 系统透明性。嵌入式系统在形态上与通用计算机系统差距甚大。它的输入设备往往不是常见的鼠标和键盘之类的设备,甚至不用输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。(7) 系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、I/O设备的数量和处理能力都比较有限。 【问题3】(8分) 答:(1)√(2)×(3)√(4)√(5)√(6)√(7)×(8)√