4.嵌入式软件体系结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

主讲:穆春阳
电气信息工程学院
muchunyang@126.com
4.4 通用软件体系结构
1、整体结构
关于“整体结构”的说明:
嵌入式软件常用形式之一,适合低端嵌入式应用开发,是早期嵌入式软件 开发的唯一体系结构。 实质就是“无体系结构”: 不区分软件类别:整个嵌入式软件是一组程序(函数)的集合,不区分 应用软件、系统软件、驱动程序等; 函数之间任意调用:每个函数均可根据需要调用其他任意函数。
4.1 软件体系结构的基本概念
软件体系结构的定义
目前还没有一个统一的定义:
软件工程标准IEEE 610.12–1990定义:体系结构是以构件、构件之间的关 系、构件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上 述内容设计与演化的原理。 Perry & Wolf 从体系结构风格、模式和规则等角度, 认为软件体系结构: ①包含3类元素:处理元素、数据元素和连接元素; ②其模式由专有特性和关系组成:前者用于限制元素的选择,后者用 于限制元素组合的拓扑结构; ③在软件开发过程中,必须基于一组准则选择合适的体系结构方案。 Boehm软件体系结构定义: ①它是包含系统构件、连接件和约束的集合,是反映不同人员需求的 集合,也是展示由构件、连接件和约束所定义的系统在实现时如何满足 不同人员需求的原理的集合。 ②强调它是一组概念以及关于软件系统结构的设计决策,用于指导待 开发系统满足重要的功能与质量需求。 总之:本质上,软件体系结构的核心内容必须考虑①软件系统的结构,②涵 盖构件、构件之间的交互关系、限制,③构件和连接件构成的拓扑结构、设计原 则与指导方针等基本实体。
4.5 轮询系统
2、调度
轮询系统的工作特点:
系统完成一个轮询的时间取决于轮询环中需要执行的函数个数; 轮询的次序是静态固定的,在运行时是不能进行动态调整的。 典型应用:多路采样系统、实时监控系统等。
轮询系统的缺点:
所有函数必须顺序执行,不区分各自的 重要程度; 系统无法根据实际需要灵活调整函数执行 的粒度。
PDA掌上电脑
15 muchunyang@126.com
4.4 通用软件体系结构
3、客户机/服务器结构
关于“客户机/服务器结构”的说明:
客户机/服务器结构:即Client/Server Architecture, C/S,是现代软件常用 体系结构之一。 基本思想:①软件系统被分成服务器端和客户端两部分;②服务器端统一 存放系统中将使用的各种实现策略、算法和信息,根据客户端的请求提供相 应的服务;③客户端根据软件功能的实际需要,向服务器端发出请求,接收 返还的信息,呈现给终端用户;④一个服务器端可以同时接收多个客户端的 请求。
克服缺点的办法:
优先级调度:允许优先级高的函数被多次 重复调度。 【例1】重要函数的重复轮询。 在本例中,相对重要的函数F2被调用多次, 这样F2获得CPU的概率将比其他函数大。
21 muchunyang@126.com
V开发模型在开发过程中同样注重编写文档,仍为顺序开发模型,更适合于需
求确定的开发。
1 muchunyang@126.com
4.2 软件体系结构的作用
2、抽象管理框架
软件体系结构对管理的辅助作用
有了软件体系结构,软件结构设计师可以不关心需求模型中众多的非功能 需求和附加质量要求,通过关注模型的修改和移植,较容易地设计同类型的 软件系统: 它独立于任何一个现实系统平台; 它是对现实系统的抽象,现实系统中的许多细节被提炼并封装成软件 体系结构中的元素。 便于分析矛盾需求之间的平衡点: 【例】系统中采用客户提供的硬件进行数据采集。 考虑到今后客户硬件的升级,有必要将该硬件封装成独立的元素。此 时,需要借助结构设计的方法对硬件封装的具体方案进行设计,这代码 了一种管理模式。 在具体实现时,有多种体系结构可供选择,例如建立硬件抽象层、提 供独立的硬件服务单元等。
课程名称:嵌入式系统原理与应用
Agenda: 4.1 软件体系结构的基本概念 4.2 软件体系结构的作用 4.3 软件体系结构的发展历程 4.4 通用软件体系结构 4.5 轮询系统 4.6 前后台系统 4.7 实时多任务系统 4.8 多处理器系统
主讲:穆春阳
电气信息工程学院
muchunyang@126.com
通信层之间逻辑流和数据流程对比
14
OSI参考模型和TCP/IP参考模型比较
muchunyang@126.com
4.4 通用软件体系结构
2、层次结构
层次结构的应用举例
【例2】面向领域嵌入式应用软件的体系结构——现代高端嵌入式应用开发 方法的重点方向之一。 说明: ①硬件接口层是对BSP和设备驱动的抽象; ②操作系统扩展层是对不同嵌入式系统基本内核的抽象; ③PDA领域接口层是对PDA产品开发的共性的抽象。
19
muchunyang@126.com
4.5 轮询系统
1、程序结构
轮询系统的程序框架
说明: ①首先,进行系统初始化; ②之后,系统进入无限循环状态; ③主程序对轮询环中的函数进行判断: 函数符合执行条件将被执行,否则将被跳过,执行之后的函数,此过程 称为轮询。
20 muchunyang@126.com
电气信息工程学院
muchunyang@126.com
4.3 软件体系结构的发展历程
伴随软件系统规模不断增大和软件开发方法不断变革
软件系统规模不断增大, 软件开发方法不断变革, 4个发展阶段:
20世纪70年代前,主要是汇编程序,软件规模小,基本不考虑体系结构; 20世纪70年代,出现结构化开发方法,引出概要设计与详细设计,在开发 过程中出现软件结构的概念; 20世纪80年代初至90年代中期,明确将软件体系结构作为一个明确的文 档和中间产品置入软件开发过程中,成为软件工程领域的研究热点; 20世纪90年代中期至今,仍在发展… …
7 muchunyang@126.com
课程名称:嵌入式系统原理与应用
Agenda: 4.1 软件体系结构的基本概念 4.2 软件体系结构的作用 4.3 软件体系结构的发展历程 4.4 通用软件体系结构 4.5 轮询系统 4.6 前后台系统 4.7 实时多任务系统 4.8 多处理器系统
主讲:穆春阳
11
muchunyang@126.com
4.4 通用软件体系结构
1、整体结构
整体体系结构的示意模型:
【例】传统家用电器中的控制系统软件。
12
muchunyang@126.com
4.4 通用软件体系结构
2、层次结构
关于“层次结构”的说明:
Layered Architecture,软件分层次组织 ,每层为上次提供服务,并作为下层软件的 客户。 对多数层次结构而言,内层只对直接外层 开放,对其他各层隐蔽,因而这些层次可被 看成是抽象层。
电气信息工程学院
muchunyang@126.com
4.2 软件体系结构的作用
0、软件体系结构的作用
体现在两个方面
它是一个系统的设计计划; 它是帮助管理复杂系统的抽象框架。
4
muchunyang@126.com
4.2 软件体系结构的作用
1、系统设计计划
与“项目计划”概念的比较
项目计划:是为设计一个结构或开发一个产品描述项目中应该具有的活动 和人员安排; 系统设计计划:是一个结构性计划,用于描述系统由那些元素组成、元素 之间如何相互适应、协同工作以完成系统的需求目标。 系统设计计划是项目计划的输入参数; 介于需求与详细设计之间,可以是一个独立阶段,也可以作为概要设 计或总体设计的一部分; 通过规划各个设计元素内部及其之间关系,获得系统的软件体系结构 (一个设计计划),用于指导详细设计。
4.4 通用软件体系结构
2、层次结构
层次结构的应用举例
【例1】最典型的层次结构软件——网络协议。TCP/IP模型,OSI模型:每 层提供了与该层抽象有关的通信描述,每层仅与相邻层交互。 。 ①OSI模型以在一个通信会话中事件发生的自然顺序为基础,将通信会话需 要的各种进程划分成7个相对独立的功能层次。 ②TCP/IP模型更侧重于互联设备间的数据传送,而不是严格的功能层次划分
2 muchunyang@126.com
课程名称:嵌入式系统原理与应用
Agenda: 4.1 软件体系结构的基本概念 4.2 软件体系结构的作用 4.3 软件体系结构的发展历程 4.4 通用软件体系结构 4.5 轮询系统 4.6 前后台系统 4.7 实时多任务系统 4.8 多处理器系统
主讲:穆春阳
5
muchunyang@126.com
软件的开发模型
V开发模型
特点:“V”型左边描述的是系统的分析、设计和实现过
程;右边是与左边对应的开发成果的验证和测试活动;不 同层级的水平方向通过测试计划和测试活动建立联系。 V开发模型注重开发和测试的关 联,有利于保证整个开发过程的质 量和可控性。 通过开发与设计规格的一致性保 证,使最终产品可以很好地符合客 户的需要。 强调开发的协作和速度,在保证 开发过程质量的同时,可缩短开发 周期。
电气信息工程学院
muchunyang@126.com
4.5 轮询系统
0、轮询系统简述
关于“轮询系统”的说明:
即Polling Systems,或称简单循环控制系统,最简单的嵌入式实时软件体 系结构之一。 基本思想: ①对于单微处理器的系统,其功能由多个函数(子程序)完成,每个函 数负责系统的软件或硬件的一部分; ②系统中的函数按照一定的执行顺序 构成轮询环,依次占用CPU; ③每个函数执行完后,才将CPU移交 给下一个函数。
16
muchunyang@126.com
4.4 通用软件体系结构
3、客户机/服务器结构
C/S结构的应用举例
嵌入式软件中,C/S结构应用非常广泛:嵌入式实时操作系统、嵌入式系统 安全防护、嵌入式网络上的应用软件系统等。 【例】安全核的C/S结构模型(见下图)。 说明:①图中的“安全核”作为一个服务器(安全服务器);②如果“应用软件”不 需安全防护,则直接操作“系统软件”,否则将涉及安全的操作传递给安全核加以 验证,通过完全核完成相应的工作。
层次结构的特点:
可在现有抽象层基础上增加新的抽象层, 便于简化复杂问题的设计实现; 每层功能、接口的改变仅影响相邻层; 每层接口都是抽象的,内部实现不受限制 ,很容易支持软件的重用; 实际软件设计很难完全按照层次系统的定 义进行实现,经常是软件系统中的一部分采 用层次结构。
13 muchunyang@126.com
17
muchunyang@126.com
课程名称:嵌入式系统原理与应用
Agenda: 4.1 软件体系结构的基本概念 4.2 软件体系结构的作用 4.3 软件体系结构的发展历程 4.4 通用软件体系结构 4.5 轮询系统 4.6 前后台系统 4.7 实时多任务系统 4.8 多处理器系统
主讲:穆春阳
整体结构下开发嵌入式软件的特点:
系统中每个函数有唯一定义好的接口,函数间调用不受限制; 软件开发是设计、函数编码/调试、连接成系统的反复过程,所有函数相互 可见,不存在任何的信息隐藏; 函数调用可以有简单的分类,如核心调用、系统调用、用户调用等,用以 简化编程,也可以不严格划分; 系统有唯一的主程序入口,如C程序的main函数。
嵌入式 软件体系 结构:除 通用的软 件体系结 构之外, 还具有自 身特点。
9来自百度文库
muchunyang@126.com
课程名称:嵌入式系统原理与应用
Agenda: 4.1 软件体系结构的基本概念 4.2 软件体系结构的作用 4.3 软件体系结构的发展历程 4.4 通用软件体系结构 4.5 轮询系统 4.6 前后台系统 4.7 实时多任务系统 4.8 多处理器系统
6
muchunyang@126.com
4.2 软件体系结构的作用
3、软件体系结构的特点
嵌入式软件的体系结构表示了一个嵌入式软件系统的高层框架, 是系统整体结构的一部分:
是一个高层次的抽象: 不涉及具体的系统结构,也不关心具体的实现; 实际系统是这种体系结构的一个实现。 必须满足系统规格说明定义的所有需求: 包括功能性和非功能性需求; 在设计时,还必须考虑系统的动态行为。 在体系结构设计时,需要进行综合决策判断,必须考虑的因素有: 系统的实时性、系统环境的局限性; 系统的安全性、可靠性、扩展性和伸缩性; 与现存系统的兼容性等。
相关文档
最新文档