1、系统架构设计师-案例分析(四)及答案解析(总分:102.99,做题时间:90 分钟)一、B简答题/B(总题数:10,分数:103.00)希赛公司计划建设一个企业数据中心,该数据中心支持 A、B、C、D 和 E 这 5 项业务,各业务完全独立运行,各项业务运行的操作系统均不相同。在单台某型服务器上,除了为系统开销预留 30%的 CPU 占用率之外,各业务在繁忙时段(白天)及非繁忙时段(夜间)的 CPU 占用率如下表所示。 B各业务的 CPU 占用率/B业务类型 A B C D E繁忙时段 30% 35% 45% 45% 45%非繁忙时段 15% 20% 40% 33% 40%现希赛公司拟全部采用
2、该类型服务器,张工和李工据此提出了不同的设计方案。张工认为需要采购 5 台服务器,每项业务分配一台服务器。但李工提出了一种基于虚拟化技术的解决方案,采用的服务器数量少于 5 台。(分数:12.00)(1).在数据中心中应用虚拟化技术会带来哪些收益?请至少给出 3 项。(分数:4.00)_(2).李工的方案需要配置几台服务器?应如何设计?(分数:4.00)_(3).为了进一步节省电力,按照李工的方案,非繁忙时段最少只需几台服务器工作即可满足业务负载要求?应如何设计?(分数:4.00)_希赛公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:设备由多个
3、处理机模块组成,需要时外场可快速更换(即 LRM 结构)。应用软件应与硬件无关,便于软硬件的升级。由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离。宇航设备可靠性要求高,系统要有故障处理能力。公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图所示,并将软件设计工作交给了李工,要求其在 3 周内完成软件总体设计工作,给出总体设计方案。(分数:12.00)(1).用 150 字以内的文字,说明公司制定的 TLS 软件架构的层次特点,并针对上述功能需求,说明架构中各层内涵。(分数:4.00)_(2).在 TLS 软件架构的基础上,关于选择哪种类型的
4、嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于 VxWorks 5.5 的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于 Linux 的操作系统。 请说明两种操作系统的主要差异,完成表 1 中的空白部分,并针对本任务要求,用 200 字以内的文字说明你选择操作系统的类型和理由。 B表 1 两种操作系统的主要差异/B比较类型 VxWorks 5.5 Linux工作方式 操作系统与应用程序处于同一存储空间 多任务支持 支持
5、多任务(线程)操作 实时性 实时系统安全性 标准 API 支持 支持(分数:4.00)_(3).故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用 150 字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。(分数:4.00)_希赛公司承担了一项嵌入式系统软件开发项目。该项目主要用于车载电子系统中监视发动机及燃油系统等系统工作状况,并通过综合仪表显示给驾驶员。经过多次与用户沟通,形成以下技术要求:(1)本项目的硬件平台由主处理机模块和多种接口模块组成,底板采用标准 VME总线(硬件结构图见图
6、1),具体硬件模块配置如下:(分数:12.99)(1).李工在设计 IOC 模块软件时指出:为了使 CPM 模块能够及时处理 RS422 数据,在 IOC 与 CPM 间的双端口存储器中为每个 422 通道设计一级缓冲,当某通道接收一个字节时,就将数据放入缓冲,由 CPM 接收(其结构见图 2)。这样的好处在于每当有数据输入时,CPM 模块可立即读取,而增大双口缓冲的目的是在CPM 来不及处理时可防止数据的丢失。同时,IOC 中的程序相对简单、实时性好、可以不考虑 422 通道的数据传输周期,只要按查询方式对 16 路 422 输入进行查询读取即可。(分数:4.33)_(2).如果 CPM 模
7、块中采用了嵌入式实时操作系统,请根据本项目的需求,用 300 字以内的文字说明 CPM 模块中数据采集任务应如何划分?系统对任务调度的最小调度周期如何计算?各个任务周期及优先级如何定义?(分数:4.33)_(3).请用 150 字以内的文字说明针对 IOC 模块的多路 RS422 接口的数据采集,其驱动程序使用中断方式或查询方式的主要差别是什么?主要优缺点有哪些?(分数:4.33)_某企业根据业务扩张的要求,需要将原有的业务系统扩展到互联网上,建立自己的 B2C 业务系统,此时系统的安全性成为一个非常重要的设计需求。为此,该企业向软件开发商提出如下要求:合法用户可以安全地使用该系统完成业务。灵
8、活的用户权限管理。保护系统数据的安全,不会发生信息泄露和数据损坏。防止来自于互联网上的各种恶意攻击。业务系统涉及各种订单和资金的管理,需要防止授权侵犯。业务系统直接面向最终用户,需要在系统中保留用户使用痕迹,以应对可能的商业诉讼。该软件开发商接受任务后,成立方案设计小组,提出的设计方案是:在原有业务系统的基础上,保留了原业务系统中的认证和访问控制模块;为了防止来自互联网的威胁,增加了防火墙和入侵检测系统。企业和软件开发商共同组成方案评审会,对该方案进行了评审,各位专家对该方案提出了多点不同意见。李工认为,原业务系统只针对企业内部员工,采用了用户名/密码方式是可以的,但扩展为基于互联网的 B2C
9、 业务系统后,认证方式过于简单,很可能造成用户身份被盗取:王工认为,防止授权侵犯和保留用户痕迹的要求在方案中没有体现。而刘工则认为,即使是在原有业务系统上的扩展与改造,也必须全面考虑信息系统面临的各种威胁,设计完整的系统安全架构,而不是修修补补。(分数:12.00)(1).信息系统面临的安全威胁多种多样,来自多个方面。请指出信息系统面临哪些方面的安全威胁并分别予以简要描述。(分数:4.00)_(2).认证是安全系统中不可缺少的环节,请简要描述主要的认证方式,并说明该企业应采用哪种认证方式。(分数:4.00)_(3).请解释授权侵犯的具体含义;针对王工的意见给出相应的解决方案,说明该解决方案的名
10、称、内容和目标。(分数:4.00)_希赛公司欲针对 Linux 操作系统开发一个 KWIC(Key Word In Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对 KWIC 系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。在对 KWIC 系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道
11、-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。(分数:9.00)(1).在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用 200 字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。(分数:3.00)_(2).请完成表 1 中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。(分数:3.00)_(3).如图 1 所示是李工给出的架构设计示意图,请将恰当的功能描述填入图中的(1)(4)。(分数:3
12、.00)_希赛软件公司承担了某项国家重点项目的研制工作,任务重点是参考国外汽车电子发展趋势,开发某汽车公司的企业汽车电子基础软件的架构,逐步实现汽车企业未来技术发展规划。该公司接收此项任务后,调动全体技术人员深入收集国外相关技术资料,经过多方调研和分析,公司提出遵照国际组织最新推出的 AUTOSAR 规范,按统筹规划、分步骤实施的原则,实现汽车公司的基础软件架构设计。图 1 给出了AUTOSAR 规范所定义的工作包,图中灰色部分代表本项目工作所包含的内容,即软件架构和基础软件。(分数:9.00)(1).AUTOSAR 规范中要求,汽车电子软件开发流程应尽量满足并发、可多次迭代的特性。为了定义汽
13、车电子的软件开发过程,公司李工和王工分别提出了两种软件开发流程,其开发流程如图 2 和 3 所示(图中ECU 是指汽车电子中的电子控制单元)。请说明李工和王工谁定义的流程更符合 AUTOSAR 的规定,并说明理由。图 2 李工设计的流程(分数:3.00)_(2).图 1 中的 II-1.1.1 项中定义了软件架构和操作系统的要求,图 4 所示是满足 AUTOSAR 定义的操作系统各功能模块的层次结构,请说明(1)(5)箭头所标的具体操作含义。(分数:3.00)_(3).AUTOSAR 是一种开放式架构,用 150 字以内的文字,说明采用 AUTOSAR 架构的主要优点,并说明汽车电子 ECU
14、覆盖汽车的哪 3 个领域。(分数:3.00)_TeleDev 是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求:目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能。目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换。集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系。集
15、成框架应能集成一些常用的第三方实用工具,如即时通信,邮件系统等。集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB)作为集成框架的基础架构。(分数:9.00)(1).ESB 是目前企业级应用集成常用的基础架构。请列举出 ESB 的 4 个主要功能,并从集成系统的部署方式、待集成系统之间的耦合程度、集成系统的可扩展性 3 个方面说明为何采用 ESB 作为集成框架的基础架构。(分数:3.00)_(2).在 ESB 基础架构的基础上,请根据题干描述中的 4 个需求,说明每个需求应该采用何种具体的集成方式或架构风格最为合适。(分数:3.00)_(3).请指出在实现工具之间数据格式的灵活转
16、换时,通常采用的设计模式是什么,并对实现过程进行简要描述。(分数:3.00)_某软件公司承担了某大型企业应用系统集成任务,该企业随着信息化的进展,积累了许多异构的遗产信息系统,这些系统分别采用 J2EE、.NET 等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。企业要求集成后的系统能够实现功能整合,并在组织现有功能的基础上提供增值服务。为了按时完成任务,选择合适的企业应用集成方法和架构非常重要。项目组在讨论方案时,提出了两种集成思路。刘工建议采用传统的应用集成方法,将应用集成分为多个层次,并采用消息代理中间件连接遗产系统。王工建议采用基于 SOA 的方法进行应用集成,将现有遗
17、产系统采用 Web Service 的方式进行包装,暴露统一格式的接口,并采用企业服务总线(ESB)进行连接。项目组仔细分析比较了两种方案的优点和不足后,认为刘工和王工的建议都合理,但是结合当前项目的实际情况,最后决定采用王工的建议。(分数:9.00)(1).请分析比较两种方案优点和不足,完成下表中的空白部分。(分数:3.00)_(2).针对该企业的集成实际情况,请用 200 字以内的文字叙述王工建议中企业服务总线(ESB)应该具有的基本功能。(分数:3.00)_(3).王工的方案拟采用 Web Service 作为基于 SOA 集成方法的实现技术。请根据该系统的实际情况,用300 字以内的文
18、字说明系统应该分为哪几个层次,并简要说明每个层次的功能和相关标准。(分数:3.00)_电子商务是构建在 Internet 上的新商务模式。企业和个人使用电子商务来降低交易成本,提高商品和信息流的周转速度,提高客户服务水平,并且使得制造商、供应商和客户之间可以紧密合作。企业信息化是实施企业电子商务的基础,特别是在企业流程再造、供应链管理、客户关系管理等方面需要依托信息技术进行整合和优化。(分数:9.00)(1).一个完整的电子商务系统必须处理销售生命周期中消费者经历的多个阶段。请用 200 字以内的文字简要叙述有哪些阶段。(分数:3.00)_(2).供应链管理过程是企业的一个关键业务过程。请用
19、200 字以内的文字回答:供应链管理主要包括哪 3个子过程?电子商务环境下,供应链管理过程的整合、优化有何意义?(分数:3.00)_(3).一个大型电子商务项目正处于建设方案征集、论证阶段,某系统集成商为了赢得客户的信任,需要提供一份建议方案文档,对客户的需求进行响应(包括问题 1、问题 2 和问题 3 所涉及的内容)。高质量的建议方案能够显示出集成商在处理客户 RFP(Request For Proposal)方面的能力、实力和专业性,而创建一个高质量的建议方案,需要调配众多的资源,按照计划执行。请用 300 字以内文字简要叙述如何创建一份高质量的建议方案文档。(分数:3.00)_希赛公司是
20、一家电子商务公司,其主要业务是在线购物,包括书籍、服装、家电和日用品等。随着公司业务规模不断增大,公司决策层决定重新设计并实现其网上交易系统,公司负责系统开发的王工和李工分别给出了两种不同的设计方案,如图 1 和 2 所示。图 1 王工设计方案的体系结构设计示意图(分数:9.00)(1).请分析比较王工、李工两种方案的优点和不足,完成下表中的空白部分。(分数:3.00)_(2).对数据库的访问是该系统开发中需要特别注意的一个问题,O/R 映射是一种常用的数据库访问编程技术。请用 200 字以内的文字说明 O/R 映射的含义,并指出采用 O/R 映射的 3 个主要好处。(分数:3.00)_(3)
21、.性能是 Web 应用系统的一个重要质量属性。请用 200 字以内的文字说明 3 个主要影响 Web 应用系统性能的因素,针对每个因素提出解决方案以提高系统性能。(分数:3.00)_系统架构设计师-案例分析(四)答案解析(总分:102.99,做题时间:90 分钟)一、B简答题/B(总题数:10,分数:103.00)希赛公司计划建设一个企业数据中心,该数据中心支持 A、B、C、D 和 E 这 5 项业务,各业务完全独立运行,各项业务运行的操作系统均不相同。在单台某型服务器上,除了为系统开销预留 30%的 CPU 占用率之外,各业务在繁忙时段(白天)及非繁忙时段(夜间)的 CPU 占用率如下表所示
22、。 B各业务的 CPU 占用率/B业务类型 A B C D E繁忙时段 30% 35% 45% 45% 45%非繁忙时段 15% 20% 40% 33% 40%现希赛公司拟全部采用该类型服务器,张工和李工据此提出了不同的设计方案。张工认为需要采购 5 台服务器,每项业务分配一台服务器。但李工提出了一种基于虚拟化技术的解决方案,采用的服务器数量少于 5 台。(分数:12.00)(1).在数据中心中应用虚拟化技术会带来哪些收益?请至少给出 3 项。(分数:4.00)_正确答案:(在数据中心中应用虚拟化技术将降低数据中心建设中的硬件成本,节约数据中心占用的场地面积,减少能耗。)解析:(2).李工的方
23、案需要配置几台服务器?应如何设计?(分数:4.00)_正确答案:(李工的方案需要配置 4 台服务器,其中,业务 A 和 B 共享 1 台服务器,业务 C、D、E 各自配置 1 台服务器。)解析:(3).为了进一步节省电力,按照李工的方案,非繁忙时段最少只需几台服务器工作即可满足业务负载要求?应如何设计?(分数:4.00)_正确答案:(按照李工的方案,非繁忙时段最少只需 3 台服务器工作即可满足业务负载要求,其中,业务D 在非繁忙时段迁移到业务 A 与 B 工作的那台服务器上,业务 C 和 E 在非繁忙时段继续驻留在各自原来的服务器上。)解析:解析 在计算机领域,虚拟化通常是指计算元件在虚拟的(
24、而不是真实的)基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU 的虚拟化技术可用单 CPU 模拟多 CPU 的并行处理过程,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 虚拟化技术与多任务及超线程技术完全不同。多任务是指在一个操作系统中多个程序同时并行运行,在虚拟化技术中可以同时运行多个操作系统,并且每一个操作系统中都有多个程序在运行,每一个操作系统都运行在一个虚拟的 CPU 或者是虚拟主机上;而超线程技术只是单 CPU模拟双 CPU 来平衡程序的运行性能,这两个模拟出来的 CPU 不能分离,只能协
25、同工作。 虚拟化技术可以有不同的实现方法,如完全虚拟化、准虚拟化、操作系统层虚拟化等。 最流行的虚拟化方法使用名为Hypervisor(虚拟机管理程序)的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。在完全虚拟化的环境下,Hypervisor 运行在裸硬件上,充当主机操作系统;而由 Hypervisor 管理的虚拟服务器运行客户端操作系统(Guest OS)。Hypervisor 可以捕获 CPU 指令,为指令访问硬件控制器和外设充当中介。因此,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务器上,其主要缺点是给处理器带来的较大开销。 完全虚拟化是处理器密集型技术,因为它
26、要求 Hypervisor。管理各个虚拟服务器,并让它们彼此独立。减轻这种负担的一种方法就是改动客户操作系统,让它以为自己运行在虚拟环境下,能够与 Hyperwisor 协同工作,这种方法就叫准虚拟化(Pare-Virtualization)。 Xen 是开源准虚拟化技术的一个例子。操作系统作为虚拟服务器在 Xen Hypervisor 上运行之前,它必须在核心层面进行某些改变。因此,Xen 适用于 BSD、Linux、Solaris 及其他开源操作系统,而不适合对类似于 Windows 的专有操作系统进行虚拟化处理,因为它们无法改动。准虚拟化技术的优点是性能高。经过准虚拟化处理的服务器可与
27、Hypervisor 协同工作,其响应能力几乎不逊于未经过虚拟化处理的服务器。 实现虚拟化还有一个方法,就是在操作系统层面增添虚拟服务器功能。Solaris Container 就是这样的一个例子,Virtuozzo/OpenVZ 是面向 Linux 的软件方案。 就操作系统层的虚拟化而言,没有独立的 Hypervisor 层。相反,主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。一个明显的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统(不过每个实例有各自的应用程序和用户账户)。 虽然操作系统层虚拟化的灵活性比较差,但本机速度性能比较高。
28、此外,由于架构在所有虚拟服务器上使用单一、标准的操作系统,管理起来比异构环境要容易。 当前虚拟化技术的优势已经得到了业界的普遍认可,虚拟化技术所具备的提高资源利用率和节能环保的特性也得到了越来越多高性能计算机用户的青睐,虚拟化技术的普及和推广成为信息化技术发展的必然趋势。据业内专家分析,3 个方面的因素使虚拟化技术迅速走向成熟:首先,信息化产业的快速发展使得服务器硬件技术有了巨大进步;其次,高端服务器所承载的软件应用环境已经逐步发展成熟;第三,也是最重要的一点,由于服务器技术的快速发展,以及信息化产业发展对于数据中心的规模要求越来越高,由此导致数据中心面临着越来越严重的发展瓶颈,而虚拟化由于具
29、有提高资源利用率及节能环保、可进行大规模数据整合等特点而成为信息化技术发展的又一项具有战略意义的新技术。 问题 1 将虚拟化技术应用于企业数据中心将有效提高服务器的资源利用率,支持运行在不同操作系统之上的多个业务共享同一台服务器,从而减少企业数据中心中的服务器数量,最终降低企业数据中心建设的硬件成本,节约场地面积,减少能耗。 问题2 尽管业务 A、B、C、D 与 E 运行的操作系统各不相同,但虚拟化技术支持同一台服务器上同时运行多个不同的操作系统实例,因而在不超出一台服务器 CPU 处理能力的条件下,多个业务在虚拟化的支持下能够共享同一台服务器。 问题 3 虚拟化技术中的业务负载迁移机制支持企
30、业数据中心依据业务负载的涨落动态迁移业务负载,将轻载服务器上的业务迁移到其他服务器,然后这些服务器进入硬件休眠,进一步降低数据中心的能耗。希赛公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:设备由多个处理机模块组成,需要时外场可快速更换(即 LRM 结构)。应用软件应与硬件无关,便于软硬件的升级。由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离。宇航设备可靠性要求高,系统要有故障处理能力。公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图所示,并将软件设计工作交给了李工,要求其在 3 周内完成
31、软件总体设计工作,给出总体设计方案。(分数:12.00)(1).用 150 字以内的文字,说明公司制定的 TLS 软件架构的层次特点,并针对上述功能需求,说明架构中各层内涵。(分数:4.00)_正确答案:(TLS 结构框架的主要特点如下: 应用软件仅与操作系统服务相关,不直接操作硬件。 操作系统通过模块支持原软件访问硬件,可与具体硬件无关。 模块支持层将硬件抽象成标准操作。 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。 TLS 结构框架的各层内涵如下: 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。 操作系统层实现应
32、用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的 API 接口(如 POSIX),确保了应用软件的可升级性。 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。)解析:(2).在 TLS 软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于 VxWorks 5.5 的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航
33、系统在选择操作系统时必须考虑这一点,建议选择类似于 Linux 的操作系统。 请说明两种操作系统的主要差异,完成表 1 中的空白部分,并针对本任务要求,用 200 字以内的文字说明你选择操作系统的类型和理由。 B表 1 两种操作系统的主要差异/B比较类型 VxWorks 5.5 Linux工作方式 操作系统与应用程序处于同一存储空间 多任务支持 支持多任务(线程)操作 实时性 实时系统安全性 标准 API 支持 支持(分数:4.00)_正确答案:(两种操作系统的差异如表 2 所示。 B表2 两种操作系统的主要差异/B比较类型VxWorks 5.5Linux工作方式操作系统与应用程序处于不同存储
34、空间多任务支持支持多进程、多线程操作实时性硬实时系统安全性任务间无隔离保护支持进程间隔离保护标准API选择类似于 Linux 的嵌入式操作系统。理由如下: Linux 操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。 Linux 操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。 嵌入式 Linux 操作系统支持硬件抽象,可有效实现 TLS 结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。)解析:(3).故障处理是宇航系统软件设计中极为重要
35、的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用 150 字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。(分数:4.00)_正确答案:(1)嵌入式系统中故障主要分为: 硬件故障:如 CPU、存储器和定时器等。 应用软件故障:如数值越界、异常和超时等。 操作系统故障:如越权访问、死锁和资源枯竭等。 (2)滤波算法: 门限算法。 递减算法。 递增算法。 周期滤波算法。 (3)容错算法: N+1 备份。 冷备。 温备。 热备。)解析:解析 这是一道嵌入式系统架构试题,题目以宇航嵌入式设备的研制为背景。考查软件需求分析、软件架构
36、、框架设计、可靠性设计及嵌入式操作系统相关的一些知识。题目所述的项目中提出了一种新型的架构 TLS,由于是项目中提出的架构,大家必然对这种架构感觉比较陌生,但从图中,我们可以很明显地看到,架构是分层的结构。这也就回到了我们熟悉的技术框架之内了。 首先看第 1 问,问题要求说明“公司制定的 TLS 软件架构的层次特点”,这需要从层次型架构的特点,以及题目已给出的说明两方面着手进行说明。层次型架构总的来说,特点有:下层为上层提供服务,层次与层次之间有着良好的独立性,结合题目的说明,可以总结出以下的特点: 应用软件仅与操作系统服务相关,不直接操作硬件。 操作系统通过模块支持原软件访问硬件,可与具体硬
37、件无关。 模块支持层将硬件抽象成标准操作。 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。 基于这种思想,TLS 结构框架实现了宇航设备中软件功能服务,这样考生就可以完整地叙述各层软件的设计内涵,即: 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。 操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的 API 接口(如 POSIX),确保了应用软件的可升级性。 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级
38、要求,便于硬件的外场快速更换。 接下来看第 2 问,该问考查嵌入式操作系统的相关知识。VxWorks 和 Linux 是两个常见的嵌入式操作系统,其特点如表 3 所示。 B表3 两种操作系统的主要差异/B比较类型VxWorks 5.5Linux工作方式操作系统操作系与应用程序处于同一存储空间统与应用程序处于不同存储空间多任务支持支持多任务(线程)操作支持多进程、多线程操作实时性硬实时系统实时系统安全性任务间无隔离保护支持进程间隔离保护标准AP支持支持I通过比较,显然选用类似于 Linux 的嵌入式操作系统适用本题要求。理由包括 3 点: Linux 操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态(这点是系统安全性要求),可以有效防止应用软件对操作系统的破坏。 Linux 操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。 嵌入式 Linux 操作系统支持硬件抽象,可有效实现 TLS 结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。 最后看第 3 问,作为宇航系统的嵌入式设备,硬/软件故障是宇航系统最为关注的内容,根据宇航系统的特点和系统组成,故