欢迎光临
我们一直在努力

【架构专栏】第16章 嵌入式系统架构设计 2/3

架构设计 相关文档,希望互相学习,共同进步

风123456789~-CSDN博客


系统架构设计 相关文章:

【架构专栏】架构考试介绍

【架构专栏】架构知识点


知识总览

共19章内容,主要包括:

       1)1绪论、2计算机系统、3信息系统、4信息安全技术、5软件工程

       2)6数据库设计、7系统架构设计基础知识

       3)8系统质量属性与架构评估、9软件可靠性

           10软件架构演化与维护、11未来信息综合技术

       4)12信息系统架构设计、13层次式架构设计、14云原生架构设计

             15面向服务架构设计、16嵌入式系统架构设计、17通信系统架构设计、

             18安全架构设计、19大数据架构设计

每天进步一点点,加油!小伙伴们!💪


 本文学习 第16章 嵌入式系统架构设计,以下为个人笔记,希望有所帮助,共同学习。

        (涉及案例分析25分,侧重知识点的记忆理解和应用,来源于教材)

包括:

        嵌入式系统概述(嵌入式系统发展历程、硬件体系结构、软件架构概述)、

        嵌入式系统软件架构原理与特征(典型架构模式、嵌入式操作系统、嵌入式数据库、嵌入式中间件、嵌入式系统软件开发环境)

        嵌入式系统软件架构设计方法(基于架构的软件设计开发方法的应用、属性驱动的软件设计方法、实施系统设计方法)、

        嵌入式系统软件架构案例分析(鸿蒙操作系统架构案例分析、面向安全攸关系统的跨领域系统架构、物联网操作系统软件架构案例  分析)。

第16章 嵌入式系统架构设计

      嵌入式系统由硬件软件组成,常被视为独立运行的器件或智能设备。相比于一般的微型计算机处理系统而言,嵌入式系统有着较大的特殊性和差异性,但其又与计算机系统工程和软件工程有着极大的相似性。

16.1 嵌入式系统概述

【架构专栏】第16章 嵌入式系统架构设计 1/3https://blog.csdn.net/weixin_42081167/article/details/166372621?spm=1001.2014.3001.5501

16.2 嵌入式系统软件架构原理与特征

    16.2.1 典型的嵌入式系统架构模式

       嵌入式系统的典型架构可概括为两种模式,即层次化模式架构递归模式架构

        1.层次化模式架构

       层次化模式架构:位于高层的抽象概念低层的更加具体的概念之间存在着依赖关系

       层次化模式架构主要设计思想是:        (1)当一个系统存在高层次的抽象,这些抽象的表现形式是一个个的抽象概念,而这些抽象概念需要具体的低层概念进行实现时,就可采用层次化模式。        (2)分层模式结构只包含了一个主要的元素(域包)和它的接口,以及用来说明模式结构的约束条件。        (3)层次化模式可以分为两种:封闭型和开放性。封闭型的特征是:一层中的对象只能调用同一层或下一个底层的对象提供的方法。而开放型一层中的对象可以调用同一层或低于该层的任意一层的对象提供的方法。

        2.递归模式架构

       递归模式解决的问题是:需要将一个非常复杂的系统进行分解,并且还要确保分解过程是可扩展的,即只要有必要,该分解过程就可以持续下去。

       在创建这种模式的实例时,通常使用两种相反的工作流程

            ● 自顶向下

       自顶向下的工作流从系统层级开始并标识结构对象,这些对象提供实现协作的服务。在实时系统和嵌入式系统中,大多数情况下是基于某个标准方法,将系统分成一个个子系统。当开发人员逐步降低抽象层级,向下推进时,容易确保开发者的工作没有偏离用例中所规定的需求。             ● 自底向上

        自底向上专注于域的构造——首先确定域中的关键类和关系。这种方法之所以可行是因为:开发者以往有丰富的开发经验,并能将其他领域所获得的知识映射到当前开发所在的域中。通过这种方法,最终开发者会到达子系统级的抽象。

    16.2.2 嵌入式操作系统 EOS

        1.定义

      嵌入式操作系统(Embedded Operating System,EOS),是指用于嵌入式系统的操作系统。通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。

      嵌入式操作系统特点如下:可剪裁性,可移植性,强实时性,强紧凑性,高质量代 码,强定制性,标准接口,强稳定性,弱交互性,强确定性,操作简捷、方便,较强的硬件适应性, 可固化性

        2.嵌入式操作系统的分类

嵌入式操作系统分为: 面向控制、通信领域以及面向消费电子产品两类。

        3.嵌入式操作系统的一般架构

     从嵌入式操作系统体系架构看,主要存在4种结构:整体结构、层次结构、客户/服务器结构、面向对象结构

      整体结构也称为模块结构无序结构,它是基于结构化程序设计的一种软件设计方法,其架构如下图:

        4.嵌入式操作系统的基本功能

 1)操作系统内核架构

      内核是操作系统的核心部分,它管理着系统的各种资源。内核可以看成连接应用程序和硬件的一座桥梁,是直接运行在硬件上的最基础的软件实体。目前从内核架构来划分,可分为宏内核(即单体内核)微内核。包括:

    (1)宏内核。用于管理用户程序和硬件间的系统资源,在宏内核中用户服务和内核服务在同一 空间中实现,代码耦合度非常高,内核的功能组件代码可以互相调用。

     (2)微内核。微内核管理所有系统资源,在微内核中用户服务和内核服务在不同空间中实现, 系统结构清晰,代码量少。      

 2)任务管理

       任务管理是嵌入式操作系统最基本功能之一,这里的任务(task)是指嵌入式操作系统调度最小单位,类似于计算机操作系统中进程的概念。

       任务有 3 种工作状态

      1)执行状态:任务获得处理机,程序在处理机中执行。

      2)就绪状态:任务已获得处理机以外资源,待获得处理机即可执行。

      3)阻塞状态:执行状态任务因等待事件发生无法执行而放弃处理机。

      三种基本状态转换

      三种划分:  (1)离线和在线调度  (2)抢占和非抢占调度    (3)静态和动态调度

      嵌入式操作系统大都支持优先级抢占调度算法时间片轮转调度算法

      在实时系统的任务调度 中,存在大量的实时调度方法,大致可以概述为主要三种划分,即离线和在线调度(在运行前还是运行时获得调度信息)、抢占和非抢占调度(能否打断正在运行的任务)、静态和动态调度(在设计时还是运行时确定任务优先级)等。

      1)离线调度算法:系统运行前确定调度信息,如时间驱动,确定性,缺乏灵活性。

      2)在线调度算法:系统运行中动态获得调度信息,如优先级驱动,灵活性较大。

      3)抢占调度算法:运行任务可能被打断,更复杂,更耗资源。

      4)非抢占调度算法:运行任务不被打断。

      5)静态调度算法:任务优先级在设计时确定,不变化,简单,缺乏灵活性。

      6)动态调度算法:任务优先级在运行中确定,不断变化,灵活,耗资源。         

     实时调度算法中,典型的强实时调度算法:        (1)最早截止时间优先 (Earliest Deadline First,EDF) 算法

                根据任务截止时间确定优先级,截止时间越早,其优先级越高

       (2)最低松弛度优先 (Least Laxity First,LLF) 算法

               根据任务紧急或松弛程度确定优先级,紧急程度越高,优先级越高。松弛度(又叫富裕度)即进程的富裕时间,或者可以理解为自由时差。

       (3)单调速率调度算法 (Rate Monotonic Scheduling,RMS)。

              根据任务周期确定有限期,周期越短,优先级越高。这种算法被认为是最优的。是一种静态优先级调度算法,是经典的周期性任务调度算法。RMS的基本思路是任务的优先级与它的周期表现为单调函数的关系,任务的周期越短,优先级越高;任务的周期越长,优先级越低。

3) 存储管理

      存储管理目的是:解决多个用户使用主存的问题。管理的对象是主存,也称内存

      存储管理方法5种:分区存储管理、分页存储管理、分段存储管理、段页存储管理以及虚拟存储管理等等。

      主要功能包括:分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护

              目标地址保护、地址独立            (1)地址独立:程序并发的地址与物理主存地址无关            (2)地址保护:一个程序不能访问另个程序地址空间               

4) 任务间通信

      任务间通信管理也是嵌入式操作系统的关键功能之一。

      主要为操作系统的应用程序提供多种类型的数据传输、任务同步/异步操作等手段

      操作系统任务之间一般存在以下关系:相互独立、竞争、同步、通信

      (1)相互独立:任务之间仅仅存在竞争CPU的资源,再无其他关联。       (2)竞争:任务之间存在对除 CPU外的其他资源的竞争(即互斥机制)       (3)同步:协调彼此运行的步调。       (4)通信:彼此间传递数据和信息,以协调完成某项工作。

      要实现多任务间的协同工作,操作系统必须提供任务间的通信手段。

      嵌入式操作系统常用的通信方式包括:       ●共享内存:数据的简单共享。多任务访问同一地址空间。,       ●信号量:基本的互斥和同步。最优,主要手段,任务间最快速通信。       ●消息队列:同一CPU内多任务间消息传递。类似于缓冲区的对象,像一个管道接收发送者消息等待接收者读取。       ●Socket和远程调用:任务间透明的网络通信,不同计算机之间通信。       ●Signals(信号):用于异常处理。通知进程发生了异步事件,是对中断机制的一模拟

        5.典型嵌入式操作系统

    16.2.3 嵌入式数据库

 1.嵌入式数据库的定义及特点

      数据库嵌入到了应用程序进程设备中,强调实时性、移动性、工作环境复杂性、伸缩性。

       嵌入式数据库具有嵌入式、实时性、移动性、伸缩性的特点。

2.嵌入式数据库的分类

       嵌入式数据库可以按照如下方式 分类:

(1)按嵌入对象分为:软件嵌入数据库、设备嵌入数据库、内存数据库。

(2)按系统结构分为:嵌入数据库、移动数据库、小型 C/S 结构数据库。

(3)按存储位置分为:基于内存方式、基于文件方式、基于网络方式

       ①基于内存的数据库系统(Main Memory Database System,MMDB) :

       数据库至于内存中,redis 等。是实时系统和数据库系统的有机结合。采用内存存储,是支持实时事务最佳技术。其本质特征是以其“主拷贝” 或“工作版本” 常驻内存,即 活动事务只与实时内存数据库的内存拷贝打交道。典型产品是 eXtremeDB 嵌入式数据库。

       ②基于文件的数据库 (File Database,FDB):以文件方式磁盘存储,安全性低

以文件方式存储数据库数据,即数据按照一定格式储存在磁盘中,如 sqllite。使用时由应用程序通过相应的驱动程序甚至直接对数据文件进行读写

       ③基于网络的数据库 NDB:远程服务器存储, 无须解析 SQL,支持更多 SQL 操作,客户端小,便于代码重用。

       嵌入式网络数据库主要由三部分组成:客户端、通信协议远程服务器

3.嵌入式数据库的一般架构

  1)基于内存的数据库系统 MMDB:典型产品是 eXtremeDB 嵌入式数据库。特点:                 ● 最小化支持持久数据所必需的资源:实质是将内存资源减到最小。                 ● 保持极小的必要堆空间:在某些配置上 只需不到1KB的堆空间。                 ● 维持极小的代码体积。                 ● 通过紧密的集成持久存储和宿主应用程序语言消除额外的代码层                 ● 提供对动态数据结构的本地支持:如变成字符串、链表和树。

   2)基于文件的嵌入式数据库系统 FDB:典型产品是 SQLite。

        特点:开源的内嵌式关系型数据库、集成在程序中,无须配置管理,服务器客户端同进程,简化管理,减少网络开销、对数据类型有独特处理

        ●SQLite是一个开源的、内嵌式的关系型数据库。         ●SQLite数据库服务器就在你的数据库应用程序中,其好处是不需要网络配置和管理,也不需要通过设置数据源访问数据库服务器。         ●SQLite数据库的服务器和客户端运行在同一个进程中。这样可以减少网络访问的消耗,简化数据库管理,使你的程序部署起来更容易。         ●SQLite在处理数据类型时与其他的数据库不同。区别在于它所支持的类型以及这些类型是如何存储、比较、强化(enforce)和指派(assign)。

       SQLite 架构上采用模块的设计:由公共接口、编译器系统、虚拟机后端四个子系统组成。

  3)基于网络的数据库 NDB系统 :C/S 架构的数据库、B/S 架构的数据库以及云数据库       是基于手机4G/5G的移动通信基础之上的数据库系统,在逻辑上可以把嵌入式设备看作远程服务器的一个客户端。实际上,嵌入式网络数据库是把功能强大的远程数据库映射到本地数据库,使嵌入式设备访问远程数据库就像访问本地数据库一样方便。

      嵌入式网络数据库主要由三部分组成:客户端、通信协议和远程服务器包括:远程数据库管理系统、远程数据库、 同步服务器、嵌入式数据库管理系统、嵌入式数据库连接网络

4.嵌入式数据库的主要功能

   除了具有与通用数据库相似的功能外,嵌入式数据库还具有的功能包括:                 ● 足够高效的数据存储机制;                 ● 数据安全控制(锁机制);                 ● 实时事务管理机制;                 ● 数据库恢复机制(历史数据存储)。   

    嵌入式数据库划分:

         数据库运行处理、数据库存取、数据管理、数据库维护数据库定义等功能

    在嵌入式环境下开发实时数据库系统,需要解决以下设计问题:存储空间管理模块数据安全性、完整性控制模块事务并发控制模块实时数据转储模块运行日志管理模块

       (1)存储空间管理模块。嵌入式实时数据库系统由于采用了内存缓冲的技术,必然要涉及嵌入式操作系统的内存管理。系统运行时,由该模块通过实时0S向系统申请内存缓冲区,作为共享的内存数据区使用。之后,将历史数据库中的初始化数据调入内存区对这些空白内存进行初始化。        (2)数据安全性、完整性控制模块。        (3)事务并发控制模块。在实时数据库中的封锁粒度通常选择一张关系表为一个单位。        (4)实时数据转储模块。该模块实现的功能是将实时数据存储为历史数据,通常由该模块先将历史数据保存在内存缓冲区中,缓冲区满时才一次性写入磁盘;读历史数据时,先从缓冲区内取数据,取不到数据时再进行文件的读写。        (5)运行日志管理模块。日志文件可以用来进行事务故障恢复和系统故障恢复。

        5.典型嵌入式数据库系统

    16.2.4 嵌入式中间件

        1.嵌入式中间件的定义及特点

       嵌入式中间件是在嵌入式系统中处于嵌入式应用和操作系统之间层次中间软件

      主要作用:是对嵌入式应用屏蔽底层操作系统的异构性。 

       中间件 = 平台 + 通信。 

       中间件共性特点:通用性、异构性、分布性、协议规范性、接口标准化

        具体到嵌入式中间件而言,它还应提供对下列环境的支持: ●网络化:支持移动、无线环境下的分布应用,适应多种设备特性以及不断变化的网络环境; ●支持流媒体应用,适应不断变化的访问流量和宽带约束; ●QoS质量品质:在分布式嵌入式实时环境下,适应强QoS的分布应用的软硬件约束; ●适应性:能够适应未来确定的应用要求。

        2.嵌入式中间件的分类

   典型的嵌入式中间件:消息中间件、分布式对象中间件

通用中间件大致存在以下几类: ●企业服务总线中间件:ESB是一种开放的、基于标准的分布式同步/异步信息传递中间件。 ●事务处理监控器:为发生在对象间的事务处理提供监控功能,以保证操作成功。 ●分布式计算环境:指创建运行在不同平台上的分布式应用程序所需的一组技术服务。 ●远程过程调用:指客户机向服务器发送关于运行某程序的请求时所需的标准。 ●对象请求代理:为用户提供与其他分布式网络环境中对象通信的接口。 ●数据库访问中间件:支持用户访问各种操作系统或应用程序中的数据库。 ●消息传递:电子邮件系统是该类中间件的其中之一。 ●基于XML的中间件:xML允许开发人员为实现Internet中交换结构化信息而创建文档。

        3.嵌入式中间件的一般架构

            1)消息中间件                 (1)采用异步处理模式                 (2)应用程序和应用程序调用关系为松耦合关系             2)分布式对象中间件                 (1)对象请求代理 (ORB)                 (2)公共服务:为创建对象、对象访问控制提供了一套标准函数。                 (3)公共设施:向对象提供应用服务框架的集合                 (4)应用对象:为用户提供完成特定任务的对象

        4.嵌入式中间件的主要功能

   常见功能:网络通信、内存管理数据处理等。

        5.典型嵌入式中间件系统

            公共对象请求代理结构 ( CORBA )             数据分发服务  (Data Distribution Service,DDS)

    16.2.5 嵌入式系统软件开发环境

      1.嵌入式系统软件开发环境的定义及特点

      嵌入式系统软件开发环境的特点是:集成开发环境,交叉开发,开放式架构,可扩展性,可操 作性,可移植性,可配置性,实时性,可维护性,用户界面友好。

        2.嵌入式系统软件开发环境的分类         3.嵌入式软件开发环境的一般架构         4.嵌入式系统软件开发环境的主要功能         5.典型嵌入式开发环境

16.3-16.4  嵌入式系统软件架构设计方法、案例分析(鸿蒙操作系统架构案例分析、面向安全攸关系统的跨领域系统架构、物联网操作系统软件架构案例分析)

【架构专栏】第16章 嵌入式系统架构设计 3/3https://blog.csdn.net/weixin_42081167/article/details/166373630

     数据库服务器架构:数据库客户端通常通过数据库驱动程序如JDBC、ODBC等访问数据库服务器,数据库服务器再操作数据库文件。数据库服务是一种客户端服务器模式,客户端和服务器是完全两个独立的进程。它们可以分别位于在不同的计算机甚至网络中。客户端和服务器通过TCP/IP进行通信。这种模式将数据与应用程序分离,便于对数据访问的控制和管理。       嵌入式数据库架构:嵌入式数据库不需要数据库驱动程序,直接将数据库的库文件链接到应用程序中应用程序通过API访问数据库,而不是TCP/IP。因此,嵌入式数据库的部署是与应用程序在一起的。

◆数据库服务器和嵌入式数据库对比如下: (1)数据库服务器通常允许非开发人员对数据库进行操作,而在嵌入式数据中通常只允许应用程序对其进行访问和控制。 (2)数据库服务器将数据与程序分离,便于对数据库访问的控制。而嵌入式数据库则将数据的访问控制完全交给应用程序,由应用程序来进行控制。 (3)数据库服务器需要独立的安装、部署和管理,而嵌入式数据通常和应用程序一起发布,不需要单独地部署一个数据库服务器,具有程序携带性的特点。

嵌入式数据库有其自身的特殊需要,它应具备的功能包括以下4点: ●足够高效的数据存储机制; ●数据安全控制(锁机制); ●实时事务管理机制; ●数据库恢复机制(历史数据存储)。

ok, 今天就到这里吧 🤗


相关系列文章,欢迎点赞、收藏,提供意见!

计算机系统基础知识 1分:概述、计算机硬件、计算机软件   操作系统 3分:进程管理、存储管理、文件管理、设备管理    数据库技术 3分:数据库设计、关系代数、范式、事务并发、数据库安全、新技术 嵌入式技术 3分:嵌入式硬件、嵌入式操作系统、嵌入式软件开发 计算机网络 3分(超纲较多):OSI七层模型、TCP/IP协议族、网络生命周期、IP地址 其他计算机系统基础知识 1分:计算机语言、多媒体、系统工程 系统性能 1分:性能指标、性能设计 信息系统基础知识 3分:信息系统生命周期、开发方法、五大典型系统 信息安全技术基础 5分:安全属性、信息安全技术、网络安全技术、安全协议

软件工程 12分:概述、需求工程、系统设计、运维、测试、基于构件;

面向对象技术 3分:面向对象基础、分析设计、UML关系、图 项目管理 1分:进度管理、配置管理、质量管理、风险管理

系统架构设计 20分:架构概念、生命周期、ABSD、DSSA、架构风格、

                                  架构复用、质量属性、架构评估 软件可靠性 2分:可靠性建模、软件可靠性设计

软件架构的演化和维护1分:架构演化分类、评估、面向对象架构演化 未来信息综合技术 3分:信息物理系统、人工智能、边缘计算、机器人、数字李生、云计算 数学与经济管理 2分:最小生成树、最短路径、网络与最大流量、线性规划、决策论 知识产权和标准化 2分:知识产权属性、保护期限、产权人确定、侵权判定 专业英语 5分:完形填空,大学英语3级难度,自学

架构专栏  知识点

【架构专栏】架构考试介绍

【架构专栏】架构知识点

【架构专栏】第1章 绪论 【架构专栏】第11章 未来信息综合技术
【架构专栏】第2章 计算机基础知识 【架构专栏】第12章 信息系统架构设计理论与实践
【架构专栏】第3章 信息系统基础知识 【架构专栏】第13章 层次式架构设计理论与实践
【架构专栏】第4章 信息安全技术基础知识 【架构专栏】第14章 云原生架构设计理论与实践
【架构专栏】第5章 软件工程基础知识 【架构专栏】第15章 面向服务架构设计理论与实践
【架构专栏】第6章 数据库设计基础知识 【架构专栏】第16章 嵌入式系统架构设计理论与实践
【架构专栏】第7章 系统架构设计基础知识 【架构专栏】第17章 通信系统架构设计理论与实践
【架构专栏】第8章 系统质量属性与架构评估 【架构专栏】第18章 安全架构设计理论与实践
【架构专栏】第9章 软件可靠性基础知识 【架构专栏】第19章 大数据架构设计理论与实践
【架构专栏】第10章 软件架构的演化和维护



希望有所帮助,互相学习、共同进步,欢迎点赞、收藏!

赞(0)
未经允许不得转载:171主机测评 » 【架构专栏】第16章 嵌入式系统架构设计 2/3
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址