李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。

题目

李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。


相似考题

2.阅读以下关于嵌入式实时操作系统软件的选型分析方面的叙述,回答问题1至问题3。某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大、可靠性要求高、进度要求紧,预计软件规模约在一万行以上。而该所原先承担的相关项目均是用汇编语言编写的(软件规模较小,一般是几百行)。项目主管工程师将软件开发的论证工作分别布置给了王工和李工,要求他们根据本项目的技术要求,在一周内分别提出软件的实施方案。(1)该宇航嵌入式系统由数据处理机、信号处理机以及数据采集模块组成。信号处理机主要通过数据采集模块将大量不同时间周期的外部数据采集进来,进行预处理(如 FFT变换)后提交给数据处理机;数据处理机根据功能要求完成各种计算处理工作,并将结果输出。为了达到数据处理机和信号处理机的标准化,这两类处理机均采用同种处理机的体系结构(如PowerPC7410)。整个系统工作的最大周期为1s,最小周期为5ms。数据处理机上任务分布如下表所示。(2)一周后,王工和李工提交了各自的实施方案,其共同之处在于两者均提出采用操作系统及相应的软件开发环境。但是,王工和李工在选择什么样的操作系统及开发环境方面出现了较大的分歧。王工的实施方案提出,为了满足本项目的技术要求,并有利于本所软件的长期发展,应选用具有硬实时处理能力的嵌入式实时操作系统及开发环境 (例如VxWorks等):而李工的实施方案指出,操作系统主要完成对计算机资源的管理与分配工作,考虑到人们对操作系统及软件开发工具的熟悉程度,本项目应选用具有大众化的、软件开发人员容易上手的嵌入式操作系统(例如WindowsCE、Linux等)。(3)在两人争执不下的情况下,项目主管工程师组织了相关专家对王工和李工提交的实施方案进行了评审。最后,专家组一致认为王工的方案切实可行,操作系统的选型论证充分、客观,可以作为本所未来几年中相关项目的软件开发的基本环境。同时专家组还就具体实施选择嵌入式实时操作系统及开发环境产品时应着重考虑的相关问题提出了几点建议。为什么专家组一致认为王工的实施方案切实可行?请用200字以内文字简要说明。

参考答案和解析
正确答案:嵌入式实时系统中时间性能评估主要考虑以下几个因素: . 系统(操作系统)时间开销一般不大于整个控制系统运行时间总开销的20%。 . 保证所有任务在规定的时间期限内完成(或进行可调度性评估)。 . 任务的上下文切换时间和中断响应时间。 针对本题的具体数据系统的工作时序关系应该是: 系统的最小时间节拍定义为5ms系统最大工作周期(或称主时间框架)为1s在每个5ms起点5ms任务首先运行占1ms时间完成后转入处理被终止的任务:如果这个时刻时间到达20ms的起点则启动20ms任务运行以此类推确保在1s周期内所有任务按规定的时间序列执行。
嵌入式实时系统中时间性能评估主要考虑以下几个因素: . 系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。 . 保证所有任务在规定的时间期限内完成(或进行可调度性评估)。 . 任务的上下文切换时间和中断响应时间。 针对本题的具体数据,系统的工作时序关系应该是: 系统的最小时间节拍定义为5ms,系统最大工作周期(或称主时间框架)为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务:如果这个时刻时间到达20ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。 解析:说明评估系统的时间性能应主要评估哪几个指标。简单叙述出系统各个任务的工作时序。
更多“李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。”相关问题
  • 第1题:

    性能是Web应用系统的一个重要质量属性。请用200字以内的文字说明三个主要影响Web应用系统性能的因素,针对每个因素提出解决方案以提高系统性能。


    正确答案:影响Web应用系统性能的三个主要因素分别是: (1)数据库的连接与销毁。可以采用数据池的方式缓存数据库连接实现数据库连接复用提高系统的数据访问效率。 (2)构件或中间件的加载与卸载。可以采用分布式对象池的方式缓存创建开销大的对象实现对象复用用以提高效率。 (3)线程的创建与销毁。可以采用线程池的方式缓存已经创建的线程提高系统的反应速度。
    影响Web应用系统性能的三个主要因素分别是: (1)数据库的连接与销毁。可以采用数据池的方式缓存数据库连接,实现数据库连接复用,提高系统的数据访问效率。 (2)构件或中间件的加载与卸载。可以采用分布式对象池的方式缓存创建开销大的对象,实现对象复用,用以提高效率。 (3)线程的创建与销毁。可以采用线程池的方式缓存已经创建的线程,提高系统的反应速度。 解析:本问题主要考查Web应用系统的性能优化问题。主要有如下三个重要的因素影响着系统的执行效率。
    (1) 数据库的连接与销毁。可以采用数据池的方式缓存数据库链接,实现数据库链接复用,提高系统的数据访问效率。
    (2) 构件或中间件的加载与卸载。可以采用分布式对象池的方式缓存创建开销大的对象,实现对象复用,提高效率。
    (3)线程的创建与销毁。可以采用线程池的方式缓存已经创建的线程,提高系统的反应速度。

  • 第2题:

    阅读以下关于嵌入式软件体系架构的叙述。

    3. 某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:

    (1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);

    (2) 应用软件应与硬件无关,便于软硬件的升级;

    (3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;

    (4) 宇航设备可靠性要求高,系统要有故障处理能力。

    公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。

    [问题1]

    用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备份 ②冷备 ③温备 ④热备
    [问题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个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行:冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。

  • 第3题:

    试题四(25 分)

    阅读以下关于工业控制系统软件方面的叙述,在答题纸上回答问题 1 至问题 4。 某公司新近签订了一份控制系统软件的研制合同。合同技术要求如下:

    (1)本控制系统的软件运行平台拟采用嵌入式实时操作系统,控制系统的工作周期为 10ms,要求控制软件能够精确地按事先预定的时间顺序完成数据的采集、处理和输出;

    (2)为了提高整个系统的可靠性,控制系统采用容错处理,即用两个相对独立的计算机承担相同的工作,通过交叉对比,实现控制的双余度管理;当任何一台计算机出现故障时,系统可以进行单余度控制。系统结构如图 4-1 所示。

    (3)在 10ms 工作周期内的时间分配见表 4-1 所示:

    公司总工程师将本项任务交付给项目主管李工程师实施,要求李工按双方合同要求完成本项目的策划、需求分析和方案设计工作,重点强调系统的可靠性要求,并特别提示:目前比较流行的嵌入式操作系统普遍采用可抢占式优先级调度策略,不能满足用户关于“能够精确地按事先预定的时间顺序完成数据的采集、处理和输出”的要求。

    【问题 1】 (12 分)

    李工接到任务后,认为本项目比较简单,很快就安排 3 名技术人员分别负责数据采集/输出模块、数据处理模块和比较监控模块的编写。总工程师听到汇报后,认为李工的方案和安排不妥,理由是李工忽视了系统的可靠性要求,对系统需求的理解不够深入 为实现系统关于可靠性方面的需求:

    (1)你认为在组织结构、人员分工、设计开发等方面应做出哪些安排和规定?

    (2)请写出关于余度表决算法的考虑。

    【问题 2】 (7 分)

    请用 200 字以内的文字说明李工应如何设计优先级调度策略,并按照表 4-1 的要求实现任务流程处理。

    【问题 3】 (3 分)

    图 4-2 为控制软件的数据流程关系,请根据本题给出的各个功能模块,填补其中的空缺处。

    【问题 4】 (3 分)

    请用 150 字以内的文字说明什么是系统失步,系统失步后应如何处理。


    正确答案:

  • 第4题:

    请用300字以内文字简要分析李工在软件测试的组织工作中存在什么问题,并简要叙述软件测试的一般步骤。


    正确答案:李工在组织工作中存在的问题: (1)测试工作必须由有资历的专职测试人员组成而不能由程序设计人员进行。 (2)测试中发现的问题须由程序设计人员修改修改后必须作回归测试。 (3)在软件测试之前必须制定测试计划规定测试的阶段(如单元测试、集成测试、系统测试等)确定测试人员的组成。 测试工作应如下进行: (1)成立一个或多个独立的测试小组。 (2)制定测试计划进行测试项目配置管理。 (3)设计测试用例。 (4)进行测试。 (5)确认问题并提出问题单。 (6)在程序设计人员修改完成后进行回归测试。 (7)编写测试报告并分析测试结果。
    李工在组织工作中存在的问题: (1)测试工作必须由有资历的专职测试人员组成,而不能由程序设计人员进行。 (2)测试中发现的问题须由程序设计人员修改,修改后必须作回归测试。 (3)在软件测试之前,必须制定测试计划,规定测试的阶段(如单元测试、集成测试、系统测试等),确定测试人员的组成。 测试工作应如下进行: (1)成立一个或多个独立的测试小组。 (2)制定测试计划,进行测试项目配置管理。 (3)设计测试用例。 (4)进行测试。 (5)确认问题并提出问题单。 (6)在程序设计人员修改完成后,进行回归测试。 (7)编写测试报告,并分析测试结果。 解析:分析测试的组织工作中存在的问题并给出测试的一般步骤。
    第二步:根据问题要点,仔细阅读正文,找出相应段落。
    (1)题目中给出了程序的代码总长度为18480行,甲、乙每天独立地测试同一个程序模块,发现的错误数在附表中给出,而且附表中还给出了甲、乙发现错误集合的交集中的错误数量(相同错误数)。
    (2)问题1指出,前四天测试的4个模块有代表性,即程序中其他模块的错误统计规律与这4个模块一致。
    (3)题目中说明测试小组成员由程序开发人员和用户代表组成,需要特别注意。
    (4)小李提出的测试方案中只涉及了模块测试。
    (5)小李认为通过改正每天测试中两个小组发现的共同错误,可以按线性速度减少程序中的错误数。
    第三步:分析试题的内容,构思答案的要点。

  • 第5题:

    试题四(共25分)

    阅读以下关于数据库架构设计的叙述,回答问题1至问题3。

    某软件公司欲开发一个社交网络系统,该系统能够接收多个不同种类客户端发送的信息,并将这些信息实时显示在每个客户端的页面上供客户阅读。该系统将为数以百万计的用户服务,因此,要求采用的数据库能够支持大量信息存储,能够满足并发读写要求,并要求随着数据规模的扩大,数据库系统要易于进行扩充。关于数据库架构的设计,王工和张工提出了两种模式:王工提出基于传统的关系型数据库模式,通过向上扩展( Scale-up)以满足数据库的可扩展性要求;李工提出利用新兴的NoSQL数据库模式,通过向外扩展( Scale-out)以满足数据库的可扩展性要求。项目组经过讨论,决定采用李工提出的设计方案。

    【问题1】(11分)

    请指出关系数据库模式和NoSQL模式在并发支持、存储与查询、扩展方式、索引方式和应用领域五个方面各自的特点,结果填入表4-1中(1)~(10);并针对应用需求,说明项目组选择李工提出的设计方案的原因。

    【问题2】(8分)

    与传统的关系型数据库相比,NoSQL数据库所支持的典型数据存储类型有哪些?

    【问题3】(6分)

    在实际应用中,NoSQL数据库存在的问题有哪些?


    正确答案:

    试题四分析
    传统关系型数据库在需要处理大规模并发数据访问的社交网络应用场景下,暴露出了很多问题,例如需要很高的实时插入性能;需要海量的数据存储能力同时还需要非常快的查询和检索速度;需要将数据存储无缝扩展到整个集群环境下,并且能够支持在线扩展等。NoSQL数据库模式打破了传统关系型数据库的范式约束、SQL查询语言和事务一致性,实现了以键值数据格式存储的Hash数据库。
    本问题主要考查应试者对于关系型数据库和NoSQL数据模式的掌握情况,特别是关系型数据库和NoSQL数据库模式的特点和实现方式。本题结合一个典型的实际项目案例,首先要求应试者分析关系型数据库和NoSQL模式之间的异同,然后针对系统需求分析采用NoSQL数据库模式的原因;针对NoSQL数据库模式的典型应用,列举出其能够支持的数据存储方式及其特点;最后分析在实际应用中还需要在哪些方面进行改进以提升其应用效果。
    【问题1】
    本问题要求考生针对关系数据库模式和NoSQL模式的特点进行分析。关系数据库利用加锁机制支持并发操作,执行效率较低,利用关系表的方式存储数据,通过SQL语言和数据库进行交互,主要通过提升硬件配置等向上扩展方式提升性能,B树和哈希是常用的索引结构,其能够广泛应用于多个领域;NoSQL作为新兴的数据库模式处理并发的效率较高,支持海量数据存储和查询,利用增加分布存储的数据库节点数目扩展性能,主要以键值方式存储数据,在对于大规模并发数据处理的分布式应用中有更好的表现。
    根据项目的实际应用需求,所以采用NoSQL模式更为合适。
    【问题2】
    本问题要求考生掌握NoSQL数据模式所支持的数据类型。常见的数据类型包括表格/列存储、文档存储、图像存储、键值存储、对象和多值存储等。
    【问题3】
    本问题要求应试者分析NoSQL数据库模式在实际应用中的不足之处。作为一种新兴的数据库模式,其实现的完整性、应用范围和专业知识等与成熟的关系型数据库相比还有一定的差距。
    参考答案
    【问题1】
    关系数据库模式和NoSQL模式的特点比较:

    选择李工方案的原因分析:
    (1)社交网络系统对于数据库并发负载要求非常高,对于数量较大的数据库并发写要求,关系型数据库难以满足;
    (2)海量数据的高效率存储和访问需求,数百万账号信息,关系型数据库查询效率很低;
    (3)可扩展性需求,可以通过增加更多的服务器节点来实现扩展。
    【问题2】
    MySQL数据库支持的数据存储类型有:
    (1)表格/列存储:存储稀疏表格数据,类似于传统的二维表格式存储;
    (2)文档存储:用于存储非结构化或半结构化文件;
    (3)图像存储:利用节点、边和属性的方式存储图片类数据,常被用于存储社交网络服务中;
    (4)键值存储:类似哈希表一样存储简单的键值对,有基于内存和基于磁盘两种实现方式;
    (5)对象和多值存储:对象数据库存储面向对象语言中的对象,多值数据库存储表格型数据,每个单元格中可存储多个值。
    【问题3】
    NoSQL数据库存在的问题是:
    (1)成熟度不够,大量关键特性有待实现;
    (2)开源数据库产品的支持力度有限;
    (3)数据挖掘与商务智能支持不足,现有的产品无法直接使用NoSQL数据库;
    (4) NoSQL数据库专家较少,大部分都处于学习阶段。

  • 第6题:

    上述网上贷款系统能够实际应用的基本前提之一是满足金融领域的安全性需求。该系统必须要满足哪些安全方面的需求?请用200字以内文字简要说明。


    正确答案:(1)验证(系统有关角色的身份识别) (2)签名(创建及验证类似手写签名的电子签名) (3)授权(如信贷员是否具有审批权) (4)完整性(发送的数据与接收到的数据是否一致) (5)机密性(与业务无关的人员不能读取事务中的数据) (6)审查(把所有事务记录下来以便事后验证) (7)不可否认性(能由第三方求证事务中发送及收到的是否是同一数据) (8)威胁预防(防止间谍程序登录、攻击系统)
    (1)验证(系统有关角色的身份识别) (2)签名(创建及验证类似手写签名的电子签名) (3)授权(如信贷员是否具有审批权) (4)完整性(发送的数据与接收到的数据是否一致) (5)机密性(与业务无关的人员不能读取事务中的数据) (6)审查(把所有事务记录下来,以便事后验证) (7)不可否认性(能由第三方求证事务中发送及收到的是否是同一数据) (8)威胁预防(防止间谍程序登录、攻击系统)

  • 第7题:

    关于数据库应用系统的需求分析工作,下列说法正确的是______。

    A) 通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明

    B) 在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图

    C) 数据需求分析的主要工作是要辨识出数据处理中的数据处理流程

    D) 数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标

    A.

    B.

    C.

    D.


    正确答案:D
    解析:数据库应用系统的需求包括:数据需求分析,数据处理需求分析,业务需求分析以及其在性能、存储、安全、备份和恢复等万面的要求。数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标。
      选项A、B确定出整个应用系统的目标、任务和系统的范围说明,并做出各类用户视图的是规划与分析阶段。A、B错误。
      选项C数据需求分析的主要工作是从对数据组织与存储的设计角度辨识应用领域所管理的各类数据项和数据结构,与数据处理需求分析结果一起组成数据字典,形成“数据规范说明书”。而数据处理需求分析的主要工作才是辨识出数据处理中的数据处理流程。两者不能混淆。C错误。

  • 第8题:

    某公司新近签订了一份控制系统软件的研制合同。合同技术要求如下:(1)本控制系统的软件运行平台拟采用嵌入式实时操作系统,控制系统的工作周期为10ms,要求控制软件能够精确地按事先预定的时间顺序完成数据的采集、处理和输出。(2)为了提高整个系统的可靠性,控制系统采用容错处理,即用两个相对独立的计算机承担相同的工作,通过交叉对比,实现控制的双余度管理;当任何一台计算机出现故障时,系统可以进行单余度控制。系统结构如图 8-2所示。


    公司总工程师将本项任务交付给项目主管李工程师实施,要求李工按双方合同要求完成本项目的策划、需求分析和方案设计工作,重点强调系统的可靠性要求,并特别提示:目前比较流行的嵌入式操作系统普遍采用可抢占式优先级调度策略,不能满足用户关于“能够精确地按事先预定的时间顺序完成数据的采集、处理和输出”的要求。 【问题1】李工接到任务后,认为本项目比较简单,很快就安排3名技术人员分别负责数据采集/输出模块、数据处理模块和比较监控模块的编写。总工程师听到汇报后,认为李工的方案和安排不妥,理由是李工忽视了系统的可靠性要求,对系统需求的理解不够深入为实现系统关于可靠性方面的需求: (1)你认为在组织结构、人员分工、设计开发等方面应做出哪些安排和规定? (2)请写出关于余度表决算法的考虑。 【问题2】请用200字以内的文字说明李工应如何设计优先级调度策略,并按照表8-3的要求实现任务流程处理。 【问题3】图8-3为控制软件的数据流程关系,请根据本题给出的各个功能模块,填补其中的空缺处。


    答案:
    解析:
    一、试题分析在可靠性要求极高的控制系统中(如航空、航天和核电厂等领域),控制设备的可靠性问题始终是嵌入式领域待解决的问题。一旦发生控制错误,将会引起机毁人亡的惨剧,设置带来区域性的灾难,因此,余度技术是计算机技术中最为关键的技术。在传统的余度控制计算机系统中,为了保证系统的实时性和控制的完整性,一般不采用嵌入式操作系统,而是用软件直接控制硬件的方式实施,但随着计算机技术发展,软件开发手段的不断完善,目前广泛应用了嵌入式实时操作系统作为余度软件的基本支持平台。但是,为了确保实时性要求,达到余度管理同步操作的精确性,必然对操作系统加以限制。本题重点是考核考生如何应用余度技术完成高可靠性控制系统的策划与设计的能力。1. 总结问题的要点本题主要是围绕具有高可靠性控制系统这一应用背景来考虑的,考察相关领域考生对具有余度需求的项目进行组织、策划和设计的方法。作为系统分析师,在启动项目之前,应学会充分论证用户需求对实施过程的组织能力。本题的主要要点应该包括以下几方面内容:n 项目的组织要合理,解决由于人员素质的差异而带来的软件缺陷。n 采用的编程语言要有一定冗余能力,以预防语言的二义性带来的软件缺陷。n 设计方法要合理,针对两余度硬件平台的特点,重点考虑两余度的设计策略,n 实现余度间交叉对比和失步后的处理方法。因此,本题的选用具有一定的普遍性。【问题1】本问题主要是要求考生通过对题目的理解,根据题目给出的技术参数和硬件结构,设计出配套的人员组织和典型余度实现的具体方法,包括软件项目组织、语言的选择和具体的表决方法。考生应抓住命题中内容要点,通过项目分解,给出余度设计的几种方法。本题主要考察考生分析问题的能力。开发人员的相互独立性、不同种高级语言的使用以及表决算法的设计是高可靠性控制系统必须考虑的三大因素。【问题2】本问题是在通用操作系统的基础上,为了达到本题所要求的“能够精确地按事先预定的时间顺序完成数据的采集、处理和输出”这一技术特点,在问题一总体思路的基础上,给出在操作系统之上实现精确的交叉对比与系统同步的方法。要求考生对操作系统的任务调度方法有一定的了解,这样才能准确回答此问题。本题主要考验考生在嵌入式实时操作系统之上开发任务确定性调度的设计方法,需要根据题中表内所示的10ms内的任务分派情况,设计出系统软件定时器的节拍数和对操作系统中任务管理的限制等问题,重点衡量对嵌入式系统知识面的掌握程度。【问题3】本题包含两个问题,其一是根据本题给出的两余度数据处理流程的关系,以填空方式,给出流程中默认的处理功能及数据流关系。本题主要考验考试对余度管理的具体处理步骤的熟悉程度;其二是说明在系统发生失步的情况下,如何继承性地处理余度数据。2. 根据问题要点,仔细阅读正文,找出相应的段落本题第二段描述了问题的所在,从图8-2中可以看出,本题的余度方案是两余度系统,输入是一个数据源进入计算机系统,在系统内一分为二,分别输入到不同的计算机中;而输出仅有一路,这说明,两个计算机分别处理完后,通过交叉对比,选择最为接近的数据作为输出数据。理解了这一点,对余度系统的设计具有一定的帮助。本题的第一段值得关注,尤其是文中提到的“要求控制软件能够精确地按事先预定的时间顺序完成数据采集、处理和输出”,是本题关键所在,也是回答【问题2】的基础。本题的第三段主要通过“10ms工作周期内的时间分配表”间接地描述余度管理的重要功能流程,考生可根据本题上述描述的内容,确定性描绘出本题的控制流程。而失步问题值得关注,本题中没有明确提出,但是,作为余度系统,失步是重要的处理环节,考生必须知道。3. 分析试题的内容,构思答案要点通过前两步的分析与归纳,余度问题将是本题首要关注内容之一,也是提高系统可靠性极为重要的考虑内容。通过组织管理、在消化了余度管理核心思想的基础上,主要对任务调度管理、同步设计等关键技术进行解决,就可以设计出较为完善的余度系统。因此,【问题1】和【问题2】是通过对本题的理解而形成答案;【问题3】是基于考生对余度系统理解,完成本命题的流程设计。二、参考答案【问题1】(1)成立两个独立的软件开发小组。两个小组合作编写统一的系统需求稳当和软件功能说明书。两个小组分别进行软件开发,最好使用不同的编程设计语言(如C语言、C++语言和ADA语言)。(2)余度表决算法一般采用主从式。以下假设设计计算机1为主机,计算机2为从机。对输入数据进行交叉对比,如果一致,则用计算机1的数据为数据处理;如果不一致,有历史数据时,计算机1用历史数据为数据处理;无历史数据时,若计算机1和计算机2 的数据中有一个在门限值之内,则使用该数据作为数据处理,若无门限值之内的数据,则计算机1使用默认数据进行处理。交叉对比不一致,应建立故障记录,若故障记录超过门限值,系统变为单余度工作方式。对输出数据进行交叉对比,如果一致,用计算机1的数据为输出数据;如果不一致,且计算机1和计算机2均无历史数据,则计算机1用默认数据作为输出数据。交叉对比不一致,应建立故障记录,若故障记录超过门限值,系统变为单余度工作方式。【问题2】设计时,将本项目的所有任务设定为统一的优先级,避免优先级抢占;根据10ms工作周期内的时间节点划分,设定操作系统的时钟节拍为0.5ms,设计出一个软件定时器;根据软件定时器的计时情况,在事先安排好的时间节点上,分别启动相应的任务工作;如果在规定的时间上任务工作未完成,则按超时处理。原则上使用上一周期的数据。【问题3】(1)数据采集 (2)交叉对比 (3)同步 (4)同步 (5)交叉对比 (6)输出【问题4】计算机1和计算机2进行同步操作时,相互间未能同步上,则称为失步。在一个工作周期开始时,两个计算机在时间上必须同步,一旦发生失步,为了确保系统的稳定,本周期内的工作将采用上一周期的数据进行;如果输出失步,则输出交叉对比功能无效,使用上一周期的输出数据作为本周期的输出。

  • 第9题:

    某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:(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备份②冷备③温备④热备

  • 第10题:

    阅读以下关于软件架构设计的叙述,在答题纸上回答问题1至问题3
    某公司要在现场开发一个网站应用系统,该系统的特点是:规模不大;工期短;用户需求不明确;没有大的技术风险;系统中的一些模块可以外包给其他的公司开发。在选择开发过程时,项目组内产生了分歧。
    王工提出采用XP(eXtreme Programming,极限编程),理由是XP方法简洁,能减轻开发人员的负担、快速适应市场、缩短投资回收期。
    李工认为采用XP在项目开发中存在一些问题,建议考虑原型开发方法。
    双方就上述的问题展开了激烈的争论。项目组最后决定采用XP,但同时针对李工提出的XP中存在的问题采取了相应的措施。
    【问题1】(8分)
    小规模发布(small release)是XP的基本元素之一。请用200字以内文字分别阐明:
    (1)原型系统和XP小规模发布的系统的主要差别?
    (2)为什么该项目组没有采用原型开发方法?
    【问题2】(8分)
    请用200字以内文字,简要说明采用XP方法可能会存在哪些问题。
    【问题3】(9分)
    在项目组的后续讨论中,李工提出,如果项目规模扩大,XP将不再适用。王工对此表示赞同,但同时提出可以将XP方法和传统软件开发过程相结合。请用200字以内的文字简要地说明如何将XP方法和传统软件开发过程相结合。


    答案:
    解析:
    【问题1】
    (1)原型系统和XP小型发布的系统的主要差别是功能。采用原型系统主要是让用户确认需求,或者用来测试关键的技术,但是它展示的功能并不是实际系统的功能,不能用来评价实际的系统;XP小型发布的系统考试时不包括足够的功能,但是每个功能和可发布的产品的定义是一样的。在完整性上,它配备了一系列实用的功能集;在质量上,它可以健壮地运行。
    (2)在该项目中,不需要开发原型系统。
    由于项目没有大的技术风险,所以不需要用原型系统来测试关键技术。
    网站系统的开发和原型系统的开发在工作量上是相当的,在时间要求短的情况下,直接开发系统可以节省时间。
    对于用户需求经常发生变化的情况,可以采用XP开发方法的代码重构、持续集成和小型发布等技术。
    【问题2】
    (1)开发团队、管理层,以及客户的不理解,阻碍XP方法论实施。
    (2)导致开发团队忽视文档,以XP为借口拒绝编写甚至是必须的文档。
    (3)XP是针对单一团队设计的,外包方的参与将会为有效的组织带来很大的困难。
    (4)缺乏客户的参与,导致用户故事编写、优先级确认等工作遇到困难。
    (5)项目规模扩大后,XP方法论将不适应。
    (6)对客户、开发人员和管理者的素质要求较高。
    【问题3】
    (1)可以将XP和传统软件开发过程中的增量式开发过程相结合。
    (2)将大规模项目划分为若干个具有共同目标的小规模项目,用XP方法论组织小项目开发,用传统软件过程方法论监控全局。
    (3)在此基础上,建立面向目标的项目管理。

  • 第11题:

    阅读以下关于嵌入式软件体系架构的叙述,在答题纸上回答问题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个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行;冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。

  • 第12题:

    问答题
    某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大、可靠性要求高、进度要求紧,预计软件规模约在一万行以上。而该所原先承担的相关项目均是用汇编语言编写(软件规模较小,一般是几百行)。项目主管工程师将软件开发的论证工作分别布置给了王工和李工,要求他们根据本项目的技术要求,在一周内分别提出软件的实施方案。 ①该宇航嵌入式系统由数据处理机、信号处理机及数据采集模块组成。信号处理机主要通过数据采集模块将大量不同时间周期的外部数据采集进来,进行预处理(如FFT变换)后提交给数据处理机;数据处理机根据功能要求完成各种计算处理工作,并将结果输出。为了达到数据处理机和信号处理机的标准化,这两类处理机均采用同种处理机的体系结构(如PowerPC7410)。整个系统工作的最大周期为1s,最小周期为5ms。数据处理机上任务分布如表12-16所示。 ②一周后,王工和李工提交了各自的实施方案,其共同之处在于二者均提出采用操作系统及相应的软件开发环境。但是,王工和李工在选择什么样的操作系统及开发环境方面出现了较大分歧。王工的实施方案指出,为了满足本项目的技术要求,并有利于本所软件的长期发展,应选用具有硬实时处理能力的嵌入式实时操作系统及开发环境(如VxWorks);而李工的实施方案指出,操作系统主要完成对计算机资源的管理与分配工作,考虑到人们对操作系统及软件开发工具的熟悉程度,本项目应选用具有大众化的、开发人员容易上手的嵌入式操作系统(例如,WindowsCE、Linux)。 ③在两人争执不下的情况下,项目主管工程师组织了相关专家对王工和李工提交的实施方案进行了评审。最后,专家组一致认为王工的方案切实可行,操作系统的选型论证充分、客观,可以作为本所未来几年中相关项目的软件开发的基本环境。同时专家组还就具体实施选择嵌入式实时操作系统及开发环境产品时应着重考虑的相关问题提出了几点建议。 为什么专家组一致认为王工的实施方案切实可行?请用200字以内文字简要说明。

    正确答案: ①宇航嵌入式系统是一种硬实时系统,要求对外部事件做出快速响应(一般在毫秒级),因此,硬实时操作系统在实时处理和相应的方面优于一般嵌入式操作系统,故王工提出的选用具有硬实时处理能力的嵌入式操作系统方案可行。
    ②从资源的约束性来讲,宇航嵌入式系统由于受空间和重量的限制,操作系统代码不宜过于庞大,选择具有可裁剪功能的操作系统更适应本项目。
    ③宇航嵌入式系统要求软件可靠性要高,而王工选择的操作系统已经过相关部门验证,其可靠性高于李工所选的操作系统。
    解析: 暂无解析

  • 第13题:

    阅读以下关于软件项目可行性分析方面的叙述,回答问题1至问题4。

    某信息技术公司拟开发一套新的信息系统,以提高公司业务运作的效率。按照公司总裁的要求,公司软件开发部系统分析人员张工和李工对新系统方案的各项可行性指标进行分析,重点分析了新系统方案的经济可行性。张工根据财务部门提供的各项数据给出了项目的投资回收表如下表1所示。

    通过对上面数据进行分析,计算出项目的投资回收期是2.75年。李工对此提出了自己的观点,认为应该基于货币时间价值来计算各项数据,并给出了在贴现率是12%时的投资回收表如下表2所示,其中“***”表示此处的数据未给出。

    大家经过讨论,认为李工给出的投资回收表中的数据更为合理,并将其作为系统方案建议书的部分内容上报公司管理层。

    请简要说明系统分析中可行性分析包括哪几个方面,并简要说明其具体含义。


    正确答案:可行性分析包括: (1) 运行/操作可行性:对方案满足新系统需求程度的度量; (2) 技术可行性:是对一种特定技术方案的现实性及技术资源和专家的可用性的度量; (3) 进度可行性:对项目时间表的合理性的度量; (4) 经济可行性:对项目或者方案的成本效益的度量。
    可行性分析包括: (1) 运行/操作可行性:对方案满足新系统需求程度的度量; (2) 技术可行性:是对一种特定技术方案的现实性及技术资源和专家的可用性的度量; (3) 进度可行性:对项目时间表的合理性的度量; (4) 经济可行性:对项目或者方案的成本效益的度量。 解析:优秀的系统分析师在建议任何改变之前会全面地评价系统解决方案,可行性评价准则是客观评价解决方案的基础。可行性分析(运行可行性、技术可行性、进度可行性和经济可行性)是对组织将要开发的信息系统的价值或实用性的度量过程。利用可行性分析可以对不同的解决方案进行比较选择,并且能够保证组织对于系统投入的价值收益以避免项目失败的风险。可行性分析的能力是系统分析员必备的素质。
    本题主要考查应试者对于可行性分析方法的掌握情况,特别是作为可行性准则中的经济可行性度量主要方法的成本效益分析技术。本题结合一个典型的实际项目案例,首先要求应试者简要说明可行性分析的准则及度量目标;进一步考查经济可行性分析中对于成本的计算;最后利用投资收益分析技术能够对实际项目中的成本和收益进行分析,计算项目的投资回报期。
    本题要求应试者能够理解可行性分析的准则及内容,包括运行可行性、技术可行性、进度可行性和经济可行性等准则。

  • 第14题:

    阅读以下关于嵌入式实时系统设计的描述,回答问题1至问题3。 【说明】 嵌入式系统是当前航空、航天、船舶及工业、医疗等领域的核心技术,嵌入式系统可包括实时系统与非实时系统两种。某宇航公司长期从事航空航天飞行器电子设备的研制工作,随着业务的扩大,需要大量大学毕业生补充到科研生产部门。按照公司规定,大学毕业生必须进行相关基础知识培训,为此,公司经理安排王工对他们进行了长达一个月的培训。

    【问题1】(7分) 王工在培训中指出:嵌入式系统主要负责对设备的各种传感器进行管理与控制。而航空航天飞行器的电子设备由于对时间具有很强的敏感性,通常由嵌入式实时系统进行管控,请用300字以内文字说明什么是实时系统,实时系统有哪些主要特性。 【问题2】(8分) 实时系统根据应用场景、时间特征以及工作方式的不同,存在多种实时特性,大致有三种分类方法,即时间类别、时间需求和工作方式结构。根据自己所掌握的“实时性”知识,将图3-1给出的实时特性按三种分类方式,填写图3-1中(1)~(8)处空白。 备选答案:时限的危害程度;时间角色;弱;时间响应;固定;时限/反应时间;时间明确;输入/输出激励;时间触发;强;周期/零星/非周期;事件触发。图3-1 实时特性分类图 【问题3】(10分) 可靠性是实时系统的关键特性之一,区分软件的错误(Error)、缺陷(Defect)、故障(Fault)和失效(Failure)概念是软件可靠性设计工作的基础。请简要说明错误、缺陷、故障和失效的定义;并在图3-2中标出错误、缺陷和失效出现阶段,说明缺陷、故障和失效的表现形式,填写图3-2中(1)~(6)处的空白。


    正确答案:【问题1】
    实时系统是指向系统发出一指令后,在一个极短的时间内,系统回复结果。
    实时系统的特性:
    (1)时间约束性(及时性)
    (2)可预测性
    (3)高可靠性
    (4)与外部环境的交互作用性
    (5)多任务类型
    (6)约束的复杂性
    (7)具有短暂超载的特点

    【问题2】
    (1)强
    (2)(3)时间响应、时间明确
    (4)(5)(6)时限/反应时间、输入/输出激励、周期/零星/非周期
    (7)(8)时间触发、事件触发

    【问题3】
    软件错误:软件错误是指在软件生存期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。
    软件缺陷:软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。
    软件故障:软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态。
    软件失效:软件失效是指软件运行时产生 的一种不希望或不可接受的外部行为结果。
    (1)一个错误导致一个或多个缺陷
    (2)缺陷激活时产生故障
    (3)故障未处理好
    (4)软件生存期各个阶段
    (5)软件生存期各个阶段
    (6)在运行时

  • 第15题:

    试题二(共25分)

    阅读以下关于软件系统数据建模的说明,在答题纸上回答问题l至问题3.

    【说明】

    某软件公司成立项目组为某高校开发一套教职工信息管理系统。与教职工信息相关的数据需求和处理需求如下:

    (1)数据需求:在教职工信息中能够存储学校所有在职的教工和职工信息,包括姓名、所属部门、出生年月、工资编号、工资额和缴税信息;部门信息中包括部门编号、部门名称、部门人数和办公地点信息。

    (2)处理需求:能够根据编制内或外聘教职工的工资编号分别查询其相关信息;每个月的月底统一核发工资,要求系统能够以最快速度查询出教工或者职工所在部门名称、实发工资金额;由于学校人员相对稳定,所以数据变化及维护工作量很少。

    项目组王工和李工针对上述应用需求分别给出了所设计的数据模型(如图2-1和图2-2所示)。王工遵循数据库设计过程,按照第三范式对数据进行优化和调整,所设计的数据模型简单且基本没有数据冗余;而李工设计的数据模型中存在大量数据冗余。

    项目组经过分析和讨论,特别是针对数据处理中对数据访问效率的需求,最终选择了李工给出的数据模型设计方案。

    【问题1】(9分)

    请用300字以内的文字,说明什么是数据库建模中的反规范化技术,指出采用反规范化技术能获得哪些益处,可能带来哪些问题。

    【问题2】(8分)

    请简要叙述常见的反规范化技术有哪些。

    【问题3】(8分)

    请分析李工是如何应用反规范化技术来满足教职工信息管理需求的。


    正确答案:
    试题二
    【问题1】
    规范化设计后,数据库设计者希望牺牲部分规范化来提高性能,这种从规范化设计的回退方法称为反规范化技术。
    采用反规范化技术的益处:降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,能够提高查询效率。
    可能带来的问题:数据的重复存储,浪费了磁盘空间;可能出现数据的完整性问题,为了保障数据的一致性,增加了数据维护的复杂性,会降低修改速度。
    【问题2】
    (1)增加冗余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作。
    (2)增加派生列:在表中增加可以由本表或其它表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数。
    (3)重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。
    (4)水平分割表:根据一列或多列数据的值,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。
    (5)垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中,在查询时减少I/O次数。
    【问题3】
    在教职工信息管理系统的需求中,能够根据编制内或外聘教职工的工资编号分别查询其相关信息,数据查询要求有很高的处理效率。李工所设计的数据模型中采用了三种反规范化技术:
    (1)增加冗余列:增加“部门名称”列,消除了数据查询中“教职工信息”表和“部门信息”表之间的连接;
    (2)增加派生列:增加“实发工资”列,消除了实发工资的计算过程;
    (3)水平分割表:将教职工信息表分割为“编制内教职工信息”表和“外聘教职工信息”表,减少了数据查询的范围。

  • 第16题:

    根据李工提供的上述统计数据和分析意见,企业主管认为李工不是一个称职的测试组织者,并提出了至少有4个方面的理由说明必须加强测试力量并完善测试工作,请你用300字以内文字简要说明李工的结论中存在的问题。


    正确答案:(1)除了模块部件级测试外还需要进行集成测试和系统测试。 (2)改正共同发现的错误虽然可以减少错误但未改正的错误和潜在的错误仍然很多本例中4天共约22+16+16+14=68个错误没有改正约占到已被测试模块估计错误总数的41%并且这些错误需要重新测试确认。那些未能发现的错误更难被测试到这些错误需要花费更多的人力或时间才能改正。错误数不可能线性减少。 (3)改正错误时还会引发新的错误。统计发现某些局部性错误的改正往往在集成测试或系统测试时暴露出新的问题。 (4)上述定量方法过于粗糙确定的时间进度可信度差。
    (1)除了模块部件级测试外,还需要进行集成测试和系统测试。 (2)改正共同发现的错误虽然可以减少错误,但未改正的错误和潜在的错误仍然很多,本例中4天共约22+16+16+14=68个错误没有改正,约占到已被测试模块估计错误总数的41%,并且这些错误需要重新测试确认。那些未能发现的错误更难被测试到,这些错误需要花费更多的人力或时间才能改正。错误数不可能线性减少。 (3)改正错误时还会引发新的错误。统计发现,某些局部性错误的改正往往在集成测试或系统测试时暴露出新的问题。 (4)上述定量方法过于粗糙,确定的时间进度可信度差。 解析:分析李工的测试结论存在的问题。

  • 第17题:

    阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1、问题2和问题3。

    某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。

    系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1 024KB)、4路422半双工串行接口 (其中两路的频率115 200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):

    .系统要求以5ms为周期从双口存储器中采集1 024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)

    .要求以20ms为周期从两路422接口(115 200Hz)中采集一定格式的大小系统为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)

    .系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)

    .作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)

    本公司课题组根据用户的硬件环境及对软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发,李工程师(简称李工)提出为了保证系统的实时性,应该采用在裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。

    请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?


    正确答案:采用嵌入式实时操作系统的主要理由及优点: 操作系统提供的任务调度功能可以有效地管理本系统多周期任务的调度并且操作系统提供的事件、信号和任务间的通信机制可以有效地解决本系统中资源共享中的互斥问题。 采用商品化的软件可提高所开发软件的可靠性还可简化软件开发成本提高开发效率。 选择嵌入式实时操作系统主要考虑操作系统以下功能和性能: . 任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。 . 操作系统提供的服务接口应较丰富有利于灵活使用(接口的开放性)。 . 操作系统对可靠性有较强的保障支持能力。 . 使用简单支撑环境配套好可配置、可剪裁能力强。
    采用嵌入式实时操作系统的主要理由及优点: 操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和任务间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。 采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。 选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能: . 任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。 . 操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。 . 操作系统对可靠性有较强的保障支持能力。 . 使用简单,支撑环境配套好,可配置、可剪裁能力强。 解析:实时系统是指系统计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统错误,严重情况下会产生灾难性后果。实时系统在经济、航天、军事、科学等多个领域中起着重要的作用。
    实时操作系统主要负责实时系统的任务调度、资源分配、系统检测、可靠性保证等,并提供简单、易用的使用开发接口,为保证实时性,其内核应该是“短小精干”,执行时占用CPU时间和其他开销很少。根据情况,实时操作系统可以直接在裸机上开发,也可直接应用商用嵌入式实时操作系统。
    第一步:总结出问题的要点。
    本题主要考查嵌入式系统的操作系统设计或选型要求,考查在保证完成各个实时任务的前提下,如何设计任务调度方案。
    [问题1]
    说明不采用在裸机上自行研发操作系统,而直接采用商品化的嵌入式实时操作系统的理由,还要说明实时操作系统的性能要求。

  • 第18题:

    选择实时嵌入式操作系统及开发环境时应考虑哪几方面问题?请用200字以内文字简要论证。


    正确答案:选择嵌入式实时操作系统及开发环境应考虑以下几方面。 (1)硬实时性:系统必须具有很高的对外部事件的响应能力。 (2)可扩展性:操作系统要支持多种目标机、多种API标准接口以利于软/硬件的升级。 (3)接口的开放性:操作系统提供了丰富的应用软件接口服务使用户可根据自己的需要定制专用系统。 (4)可靠性:所选的操作系统的可靠性要高应长期被许多厂家应用过或已通过权威机构认证。 (5)可剪裁性:要求操作系统可根据具体项日要求进行功能模块的剪裁操作系统内核要尽量小。 (6)环境的可用性:要求开发环境集成有丰富的工具、使用方便、符合习惯。 (7)兼容性:开发环境应支持多种常用的文件格式以利于环境间的数据交换。
    选择嵌入式实时操作系统及开发环境应考虑以下几方面。 (1)硬实时性:系统必须具有很高的对外部事件的响应能力。 (2)可扩展性:操作系统要支持多种目标机、多种API标准接口,以利于软/硬件的升级。 (3)接口的开放性:操作系统提供了丰富的应用软件接口服务,使用户可根据自己的需要定制专用系统。 (4)可靠性:所选的操作系统的可靠性要高,应长期被许多厂家应用过,或已通过权威机构认证。 (5)可剪裁性:要求操作系统可根据具体项日要求,进行功能模块的剪裁,操作系统内核要尽量小。 (6)环境的可用性:要求开发环境集成有丰富的工具、使用方便、符合习惯。 (7)兼容性:开发环境应支持多种常用的文件格式,以利于环境间的数据交换。 解析:本问题是在第一问的基础上,考查考生在嵌入式实时操作系统及开发环境选型时需要考虑的多个方面的问题,重点衡量对嵌入式系统知识面的掌握程度。

  • 第19题:

    阅读以下关于数据库分析与建模的叙述,在答题纸上回答问题 1至问题 3。

    【说明】

    某电子商务企业随着业务不断发展,销售订单不断增加,每月订单超过了 50 万笔,急需开发一套新的互联网电子订单系统。同时该电商希望建立相应的数据中心,能够对订单数据进行分析挖掘,以便更好地服务用户。王工负责订单系统的数据库设计与开发,初步设计的核心订单关系模式为:orders(order_no,customer_no ,order_date,product_no,price,. ....);

    考虑订单数据过多,单一表的设计会对系统性能产生较大影响,仅仅采用索引不足以解决性能问题。因此,需要将订单表拆分,按月存储。

    王工采用反规范化设计方法来解决,给出了相应的解决方案。李工负责数据中心的设计与开发。李工认为王工的解决方案存在问题,建议采用数据物理分区技术。在解决性能问题的同时,也为后续的数据迁移、数据挖掘和分析等工作提供支持。

    【问题 1】 (8 分)

    常见的反规范化设计包括增加冗余列、增加派生列、重新组表和表分割。为解决题干所述需求,王工采用的是哪种方法?请用 300 字以内的文字解释说明该方法,并指出其优缺点。

    【问题 2】 (8 分)

    物理数据分区技术一般分为水平分区和垂直分区,数据库中常见的是水平分区。水平分区分为范围分区、哈希分区、列表分区等。请阅读下表,在(1)~(8) 中填写不同分区方法在数据值、数据管理能力、实施难度与可维护性、数据分布等方面的特点。

    【问题 3】(9 分)

    根据需求,李工宜选择物理水平分区中的哪种分区方法?请用 300字以内的文字分别解释说明该方法的优缺点。


    答案:
    解析:
    【问题 1】 (8 分)

    答案:

    王工采用的是表分割方式中的水平分割(分割参数是:“月”)

    表分割包括水平分割与垂直分割两种形式:

    水平分割:按记录进行分割,不同的记录可以分开保存,每个子表的列数相同。分割的条件可能是某列或多列数据的值,如时间参数。

    垂直分割:按进行分割,即把一条记录分开多个地方保存,每个子表的行数相同。把主键和一些行放到一个表,然后把主键和另外的列放到另一个表中,通过主键进行关联。

    优点:水平分割后可以降低在查询时需要读取的数据和索引页数,同时也降低了索引的层数,提高查询速度。

    缺点:水平分割会给应用增加复杂度,在查询时需要多个表名,查询所有数据需要union操作。

    【问题 2】 (8 分)

    答案:(1)连续(2)离散(3)弱(4)强(5)好(6)好(7)不均匀(8)均匀

    【问题 3】(9 分)

    答案:

    李工宜选择范围分区方式。

    范围分区优点:

    1、分区表可以将表存储到多个表空间内,各个分区维护各自的本地索引,查询语句可以根据索引进行分区范围查找,提高了查询速度;

    2、可以对单个分区进行备份、归档或者清除过期的数据,利于维护;

    3、实现容易,而且可以方便的对表的分区进行添加、删除、拆分和合并操作。

    范围分区缺点:数据分布不均匀所以可以与哈希分区组合应用。

  • 第20题:

    试题三(共25分)阅读以下关于嵌入式系统能耗管理设计的描述,在答题纸上回答问題1至问题3。【说明】随着嵌入式系统智能化技术的持续发展,系统的能耗问题已成为亟待解决的难题。某宇航公司研发的一款手持式野外辅助装备,需要较长的巡航时间,由于设计时对功耗问题考虑不周,使得产品出现了批次责任事故。公司领导决定抽调王工等5人组建专门的攻关小组,要求在三个月内完成故障归零。王工接到任务后,经反复论证 与实验,给公司提交了一份基于软件动态节能的改进方案,得到了领导及专家的好评。【问题1】(7分)在嵌入式系统中节能技术一般分为静态节能和动态节能两种,请用300字以内文 字分别说明什么是静态节能技术和动态节能技术,并列举三种动态节能技术。【问题2】(6分)王工的方案得到认可后,他带领团队研究了调度方式和系统能耗之间的关系,请用150字以内的文字说明为了节约系统能耗而釆用的设备调度策略的核心思路,并说明设备调度策略与任务实时性的关系。


    答案:
    解析:
    【问题1】(7分)答案:静态节能技术是在编译时刻对代码扫描,找出可以针对目标平台特性优化的部分进行代码重构。动态节能技术是在设备运行时根据任务负载、功率与输入电压平方的线性关系等进行运行状态以达到节能的技术,主流的动态节能技术有动态电压调节、动态频率调节、动态电源管理、动态电压缩放、体偏压调节、自适应衬底偏置等。【问题2】(6分)答案:在不违背时限,保证延迟的前提下,合理调度任何到各设备上,求得最佳调度以降低系统能耗。设备调度策略是直接影响任务实时性能的因素。 【问题3】(12分)

  • 第21题:

    试题三(25分)阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1至问题3。某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024KB)、4路422半双工串口接口(其中两路的频率115200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):(1)系统要求以5ms为周期从双口存储器中采集1024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)(2)系统要求以20ms为周期从两路422接口(115200Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)(3)系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)本公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工程师(简称李工)提出了为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。[问题1](10分)请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?[问题2](10分)李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。[问题3](5分)根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入/输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。


    答案:
    解析:
    【问题1】采用嵌入式实时操作系统的主要理由及优点:操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:(1)任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。(2)操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。(3)操作系统对可靠性有较强的保障支持能力。(4)使用简单,支撑环境配套好,可配置、可剪裁能力强。【问题2】嵌入式实时系统中时间性能评估主要考虑以下几个因素:(1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。(2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。(3)任务的上下文切换时间和中断响应时间。针对本题的具体数据,系统的工作时序关系应该是:系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。【问题3]优先级策略:小周期优先策略。数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。AD、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。

  • 第22题:

    阅读以下关于嵌入式实时系统设计的描述,回答问题1至问题3。

    【说明】嵌入式系统是当前航空、航天、船舶及工业、医疗等领域的核心技术,嵌入式系统可包括实时系统与非实时系统两种。某宇航公司长期从事航空航天飞行器电子设备的研制工作,随着业务的扩大,需要大量大学毕业生补充到科研生产部门。按照公司规定,大学毕业生必须进行相关基础知识培训,为此,公司经理安排王工对他们进行了长达一个月的培训。【问题1】(7分)王工在培训中指出:嵌入式系统主要负责对设备的各种传感器进行管理与控制。而航空航天飞行器的电子设备由于对时间具有很强的敏感性,通常由嵌入式实时系统进行管控,请用300字以内文字说明什么是实时系统,实时系统有哪些主要特性。【问题2】(8分)实时系统根据应用场景、时间特征以及工作方式的不同,存在多种实时特性,大致有三种分类方法,即时间类别、时间需求和工作方式结构。根据自己所掌握的“实时性”知识,将图3-1给出的实时特性按三种分类方式,填写图3-1中(1)~(8)处空白。备选答案:时限的危害程度;时间角包;弱;时间响应;固定;时限/反应时间;时间明确;输入输出激励;时间触发;强;周期/零星/非周期;事件触发。

    【问题3】(10分)可靠性是实时系统的关键特性之一,区分软件的错误(Error)、缺陷(Defect)、故障(Fault)和失效(Failure)概念是软件可靠性设计工作的基础。请简要说明错误、缺陷、故障和失效的定义;并在图3-2中标出错误、缺陷和失效出现阶段,说明缺陷、故障和失效的表现形式,填写图3-2中(1)~(6)处的空白。


    答案:
    解析:
    实时系统是指向系统发出一指令后,在一个极短的时间内,系统回复结果。实时系统的特性:(1)时间约束性(及时性)(2)可预测性(3)高可靠性(4)与外部环境的交互作用性(5)多任务类型(6)约束的复杂性(7)具有短暂超载的特点参考答案:(1)强(2)(3)时间响应、时间明确(4)(5)(6)时限/反应时间、输入/输出激励、周期/零星/非周期(7)(8)时间触发、事件触发参考答案:软件错误:软件错误是指在软件生存期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。软件缺陷:软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。软件故障:软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态。软件失效:软件失效是指软件运行时产生 的一种不希望或不可接受的外部行为结果。(1)存在(2)引起(3)用户经历(4)在开发过程中(5)在产品中(6)在运行时

  • 第23题:

    A公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。
    系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133 MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024 KB)、4路422半双工串口接口(其中两路的频率115200 Hz,另两路频率38400 Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下:
    (1)系统要求以5 ms为周期从双口存储器中采集1024 KB的输入数据,处理任务的时间约为1ms(称为5ms任务)。
    (2)系统要求以20 ms为周期从两路422接口(115200 Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4 ms)任务后,分别输出大小为16 B的控制命令(称为20 ms任务)。
    (3)系统要求以60 ms为周期从两路422接口(38400 Hz)中采集一定数据格式的大小为6 B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2 ms)任务后,分别输出大小为2 B的控制命令和一个28位D/A数据,输出8路离散量控制数据(称为60ms任务);
    (4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms(称为1s任务)。
    A公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工提出为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。
    【问题1】
    请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?
    【问题2】
    李工和王工通过认真地对需求进行分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。
    【问题3】
    根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。


    答案:
    解析:
    【问题1】
    采用嵌入式实时操作系统的主要理由及优点:
    操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和任务间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。
    采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。
    选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:
    (1)任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。
    (2)操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。
    (3)操作系统对可靠性有较强的保障支持能力。
    (4)使用简单,支撑环境配套好,可配置、可剪裁能力强。
    【问题2】
    嵌入式实时系统中时间性能评估主要考虑以下几个因素:
    (1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。
    (2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。
    (3)任务的上下文切换时间和中断响应时间。
    针对本题的具体数据,系统的工作时序关系应该是:
    系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20 ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。
    【问题3】
    优先级策略:小周期优先策略。
    数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。A/D、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。
    【解析】

    本题主要考查嵌入式系统的操作系统设计或选型要求,考查在保证完成各个实时任务的前提下,如何设计任务调度方案。
    【问题1】
    实时系统是指系统计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统错误,严重情况下会产生灾难性后果。实时系统在经济、航天、军事、科学等多个领域中起着重要的作用。
    实时操作系统主要负责实时系统的任务调度、资源分配、系统检测、可靠性保证等,并提供简单、易用的使用开发接口,为保证实时性,其内核应该是"短小精干",执行时占用CPU时间和其他开销很少。根据情况,实时操作系统可以直接在裸机上开发,也可直接应用商用嵌入式实时操作系统。
    李工认为在裸机上直接开发实时性好,王工认为采用嵌入式实时操作系统可靠性好。系统并没有给出拟采用的操作系统的具体性能指标,但题目中指出"课题组最后采用了王工的建议",可以判断该操作系统既有好的可靠性,又能满足实时性要求。
    【问题2】
    系统的任务按照执行的周期进行了分类,包括5ms任务(即在5ms、10ms、15ms等时刻,该任务需要被唤醒执行)、20ms任务、60ms任务和1s任务(系统软硬件测试)。
    系统的最小时间节拍定义为5ms,系统最大工作周期(或称主时间框架)为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20 ms的起点,则启动20 ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。工作流程如图8-1所示。

    【问题3】
    根据图8-1,可知需要采用小周期优先策略,即任务优先级排序从低到高为1s任务→60ms任务→20ms任务→5ms任务。
    因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。所以,422接口适合采用中断方式。
    双口存储器和离散量接口由于是直接访问存储器,所以采用查询方式比较合适。
    A/D、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。