【系统架构设计师】二十二、嵌入式系统架构设计理论与实践③
目录
一、鸿蒙操作系统架构案例分析
1.1 鸿蒙操作系统定义
1.2 鸿蒙的层次化分析
1.2.1 内核层
1.2.2 系统服务层
1.2.3 框架层
1.2.4 应用层
1.3 鸿蒙操作系统的架构分析
1.3.1 鸿蒙操作系统架构具有4个技术特性
1.3.2 分布式架构所带来的优势
1.3.3 HarmonyOS 架构的系统安全性
二、面向安全攸关系统的跨领域 GENESYS 系统架构案例分析
2.1 GENESYS 定义
2.2 GENESYS 架构
2.3 GENESYS基于消息的构件接口
2.4 GENESYS 三级集成
往期推荐
一、鸿蒙操作系统架构案例分析
1.1 鸿蒙操作系统定义
鸿蒙操作系统 (HarmonyOS) 是华为公司研制的一款自主版权的操作系统,是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上, HarmonyOS 提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备的能力。
鸿蒙 (HarmonyOS) 整体采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统”→“子系统”→“功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块,如下图所示:
1.2 鸿蒙的层次化分析
1.2.1 内核层
内核层主要由内核子系统和驱动子系统组成。
内核子系统: HarmonyOS 采用多内核设计,支持针对不同资源受限设备选用适合的 OS 内核。内核抽象层 (Kernel Abstract Layer,KAL)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
驱动子系统:HarmonyOS 驱动框架 (HDF) 是HarmonyOS 硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。
1.2.2 系统服务层
系统服务层是HarmonyOS 的核心能力集合,通过框架层对应用程序提供服务。该层包含4个部分:系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集和硬件服务子系统集。
系统基本能力子系统集:为分布式应用在 HarmonyOS 多设备上的运行、调度、迁移等操作提供了基础能力。
基础软件服务子系统集:为HarmonyOS 提供公共的、通用的软件服务。
增强软件服务子系统集:为HarmonyOS 提供针对不同设备的、差异化的能力增强型软件服务。
硬件服务子系统集:为HarmonyOS 提供硬件服务。
1.2.3 框架层
框架层为HarmonyOS 的应用程序提供了Java/C/C++/JS 等多语言的用户程序框架和Ability框架,以及各种软硬件服务对外开放的多语言框架API;同时为采用HarmonyOS 的设备提供了C/C++/JS 等多语言的框架API, 不同设备支持的 API与系统的组件化裁剪程度相关。
1.2.4 应用层
应用层包括系统应用和第三方非系统应用。 HarmonyOS 的应用由一个或多个 FA(Feature Ability)或PA(Particle Ability) 组成。其中, FA 有 UI界面,提供与用户交互的能力;而PA 无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。基于FA/PA 开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。
1.3 鸿蒙操作系统的架构分析
1.3.1 鸿蒙操作系统架构具有4个技术特性
(1)分布式架构首次用于终端 OS,实现跨终端无缝协同体验。
(2)确定时延引擎和高性能 IPC 技术实现系统天生流畅。
(3)基于微内核架构重塑终端设备可信安全。
(4)通过统一 IDE 支撑一次开发,多端部署,实现跨终端生态共享。
1.3.2 分布式架构所带来的优势
在HarmonyOS 架构中,重点关注于分布式架构所带来的优势,主要体现在分布式软总线、分布式设备虚拟化、分布式数据管理和分布式任务调度等四个方面。
分布式软总线是多种终端设备的统一基座,为设备之间的互联互通提供了统一的分布式通信能力;
分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,多种设备共同形成一个超级虚拟终端。针对不同类型的任务,为用户匹配并选择能力合适的执行硬件;
分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,应用跨设备运行时数据无缝衔接,为打造一致、流畅的用户体验创造了基础条件;
分布式任务调度基于分布式软总线、分布式数据管理、分布式 Profle等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置等选择合适的设备运行分布式任务。
1.3.3 HarmonyOS 架构的系统安全性
HarmonyOS 架构的系统安全性主要体现在搭载HarmonyOS 的分布式终端上,可以保证
“正确的人,通过正确的设备,正确地使用数据”。
通过“分布式多端协同身份认证”来保证“正确的人”;
通过“在分布式终端上构筑可信运行环境”来保证“正确的设备”;
通过“分布式数据在跨终端流动的过程中,对数据进行分类分级管理”来保证“正确地使用据”。
二、面向安全攸关系统的跨领域 GENESYS 系统架构案例分析
2.1 GENESYS 定义
GENESYS(GENeric Embedded SYStem) 是一种跨领域的通用嵌入式架构平台。主要解决了当时嵌入式系统所面临的三方面挑战:
复杂性管理的挑战(采用消息交换方式实现软硬件构件的抽象级别的提升);
系统健壮性的挑战(设计出故障或错误的隔离框架);
能量有效使用的挑战(采用综合化资源管理方法)。
GENESYS 整个架构包括两类构成系统:即构件和基础平台。基础平台提供了一种“腰”型核心服务和大量用于实现系统构件的可选择服务的最小集合。
如上图所示,GENESYS 架构主要提供了三组服务,即领域无关服务、领域专用服务和应用专用服务(包括中间件)。领域无关服务又分为核心服务和选择服务;领域专用服务又分为领域专用中心服务 (DSC) 和领域专用选择服务 (DSO)。
(1)核心服务。核心服务是强制性的,是GENESYS 架构实例的一部分。核心服务应包含那些可构造较高级服务或者为了维持该结构性质而不可缺少的服务,它是系统服务中的最小集。
(2)选择服务。选择服务是在核心服务之上构造的。它是一种需要时可以扩展的开放式的集合。
(3)领域专用服务。领域专用服务是由领域特有的选择服务子集加上待开发的领域特征的特定服务组合。
2.2 GENESYS 架构
GENESYS 架构的重要思想是分离计算与通信,将计算构件和通信设施作为独立构件进行
设计。
GENESYS 的通信设施构件是基于消息传输的风格。构件中的基本交往机制是多播单向
消息的交换。消息在发送时刻发出,在某个稍后的时刻达到在接收者那里。每一个消息有专门
标识的发送者和若干个接受者。
GENESYS 架构将构件归为四类:硬件构件和软件构件、系统构件和应用构件。
● 硬件构件的功能使用硬件(如ASIC) 被预先确定,因此不能修改。
● 在软件构件中,将加载在软件构件上的软件称为作业。将作业分配给适当的可以执行该作业的硬件单元就创建了新的构件。
● 系统构件是提供某些架构服务的构件。
● 应用设计者只考虑应用构件的开发。
2.3 GENESYS基于消息的构件接口
基于GENESYS 架构的四类基于消息的构件接口。如下图所示:
链接接口 (LIF):LIF提供了构件与构件之间基于消息的操作服务,它是构件的综合接口。
局部接口 (LI):LI是构件连接到外部环境(如I/O、 其他系统)的接口,它建立了构件和局部环境之间的连接关系。
技术无关接口 (TII):TII是指用于系统运行需要的配置或管理资源的接口,它属于非功能属性范畴。
技术相关的接口 (TDI):TDI是指用于查看构件内部、观察构件的内部变量的接口,如构件诊断。
2.4 GENESYS 三级集成
GENESYS 定义了三级的集成,即芯片级 (Chip Level)、设备级 (Device Level)和系统级 (System Level)。
芯片级的构件是 IP核,IP 核间可通过 NoC(Network of Chip)相互连接;
设备级的构件是芯片,芯片间可以由内部通信芯片互相连接。一个设备可以是在互联网上的一个可寻址实体,也可以是一个IP 地址;
系统级的构件是设备,它们可以由有线或无线通信服务互相连接。
往期推荐
【系统架构设计师】二十二、嵌入式系统架构设计理论与实践①-CSDN博客文章浏览阅读310次,点赞10次,收藏11次。嵌入式操作系统 (Embedded Operating System,EOS)是指用于嵌入式系统的操作系统。通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统与通用操作系统相比,具备以下主要特点:可剪裁性,可移植性,强实时性,强紧凑性,高质量代码,强定制性,标准接口,强稳定性,弱交互性,强确定性,操作简捷、方便,较强的硬件适应性,可固化性。https://shuaici.blog.csdn.net/article/details/140791124【系统架构设计师】二十二、嵌入式系统架构设计理论与实践②-CSDN博客文章浏览阅读469次,点赞8次,收藏13次。中间件 (Middleware)属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间,在操作系统、网络和数据库之上,应用软件之下,其作用是为处于上层应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。https://shuaici.blog.csdn.net/article/details/140801697【系统架构设计师】二十一、面向服务架构设计理论与实践①-CSDN博客文章浏览阅读547次,点赞18次,收藏11次。为适应日益增长的用户访问量和产品的快速更新迭代,导致SOA 架构向更细粒度、更通用化程度发展,就成了所谓的微服务了。 SOA 与微服务的区别在于如下几个方面:(1)微服务相比于SOA 更加精细,微服务更多地以独立的进程的方式存在,互相之间并无影响;(2)微服务提供的接口方式更加通用化,例如HTTP RESTful 方式,各种终端都可以调用,无关语言、平台限制;(3)微服务更倾向于分布式去中心化的部署方式,在互联网业务场景下更适合。https://shuaici.blog.csdn.net/article/details/140764750【系统架构设计师】二十、云原生架构设计理论与实践①-CSDN博客文章浏览阅读1k次,点赞17次,收藏22次。云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。云原生的代码通常包括三部分:业务代码、三方软件、处理非功能特性的代码。https://shuaici.blog.csdn.net/article/details/140695519
相关文章:
【系统架构设计师】二十二、嵌入式系统架构设计理论与实践③
目录 一、鸿蒙操作系统架构案例分析 1.1 鸿蒙操作系统定义 1.2 鸿蒙的层次化分析 1.2.1 内核层 1.2.2 系统服务层 1.2.3 框架层 1.2.4 应用层 1.3 鸿蒙操作系统的架构分析 1.3.1 鸿蒙操作系统架构具有4个技术特性 1.3.2 分布式架构所带来的优势 1.3.3 HarmonyOS 架构…...
【轨物推荐】经济长波:创新周期的历史
原创 丑丑姐姐 专利分析可视化 2021年08月01日 21:18 图片来源:Visual Capitalist 在开始本文之前,我们先来学习两个概念: 经济长波(Long Waves),亦称“大循环理论”、“康德拉季耶夫周期”。经济长波理论…...
springboot高校勤工俭学平台-计算机毕业设计源码66824
摘 要 本研究基于Spring Boot企业框架,设计并实现了一款高校勤工俭学平台,包括首页、通知公告、新闻通知和岗位信息等功能模块。该平台旨在为高校学生提供便捷的勤工俭学信息发布与查询服务,促进校园内部劳动力资源的充分利用和高效管理。在研…...
CRM是什么?如何用CRM管理好客户?
在企业的销售运营中,客户是是贯穿始终的主体。客户的需求、偏好与满意度,指引着企业未来改变、优化的方向。而企业销售运营的核心,就是“客户至上”。 面对庞杂的客户信息,如何快速高效的进行客户管理呢?那就是要有一…...
编程入门:大学新生的指南与策略
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
Spring Cloud中怎么使用Resilience4j Retry对OpenFeign进行重试
在微服务架构中,服务之间的通信是非常频繁的。而使用OpenFeign可以极大简化微服务之间的HTTP通信。但在复杂的分布式系统中,服务之间的调用可能会因为网络问题、服务故障等原因而失败。因此,实现服务调用的重试机制显得尤为重要。Resilience4…...
【Redis 进阶】事务
Redis 的事务和 MySQL 的事务概念上是类似的,都是把一系列操作绑定成一组,让这一组能够批量执行。 一、Redis 的事务和 MySQL 事务的区别 1、MySQL 事务 原子性:把多个操作打包成一个整体。(要么全都做,要么都不做&am…...
Linux的防火墙
一、防火墙概述 防火墙是一种计算机硬件和软件的结合,使internet和intranet之间建立一个安全网关(Security Gateway),从而保护内网免受非法用户侵入的技术。 防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成。…...
跟张良均老师学大数据人工智能-批量集训营开班中
随着我国大数据和人工智能产业的飞速发展,未来社会对高素质科技人才的需求日益旺盛。为助力广大青少年提前掌握前沿技术,实现自我价值,泰迪智能科技多名优秀老师联合打造暑期大数据人工智能集训营,旨在培养具备创新精神和实战能力…...
2024年音频剪辑必备:五大最佳音频编辑软件精选!
在数字时代,音频剪辑已成为创意表达的重要工具。无论是音乐制作、播客编辑还是视频后期,一款优秀的音频剪辑软件都是不可或缺的。推荐五款备受推崇的音频剪辑工具。 福昕音频剪辑 链接:https://www.foxitsoftware.cn/audio-clip/ 福昕音频…...
Native Programs(本机程序)
Native Programs System Program(系统程序)Config ProgramStake ProgramVote ProgramAddress Lookup Table ProgramBPF LoaderEd25519 ProgramSecp256k1 Program Solana contains a small handful of native programs that are part of the validator im…...
RisingWave 1.10 发布!新增用户自定义聚合函数
我们非常高兴地宣布:RisingWave 1.10 版本正式发布!新版本为大家带来了许多重要更新,例如:新增用户自定义聚合函数 (UDAF)、支持从游标获取多个更新、支持可溢出哈希 Join、增强 CDC 连接器、新增 Sink 连接器等。一起来了解本次更…...
Modbus通讯协议
Modbus通讯协议 Modbus协议是一种用于电子控制器之间的通信协议,它允许不同类型的设备之间进行通信,以便进行数据交换和控制。Modbus协议最初为可编程逻辑控制器(PLC)通信开发,现已广泛应用于工业自动化领…...
fal.ai发布超分辨率模型——AuraSR V2
今天,我们发布了单步 GAN 升频器的第二个版本: AuraSR。 我们在上个月发布了 AuraSR v1,社区的反响让我们深受鼓舞,因此我们立即开始了新版本的训练。 AuraSR 基于 Adobe Gigagan 论文,以 lucidrain 的实现为起点。Gi…...
SYD88xx代码复位不成功和解决办法
原来的复位代码如下: void ota_manage(void){#ifdef _OTA_if(ota_state){switch(ota_state){case 1 : #if defined(_DEBUG_) || defined(_SYD_RTT_DEBUG_)dbg_printf("start FwErase\r\n");#endifCmdFwErase();#if defined(_DEBUG_) || defined(_SYD_RTT_DEBUG_)db…...
加油,为Vue3提供一个可媲美Angular的ioc容器
为什么要为Vue3提供ioc容器 Vue3因其出色的响应式系统,以及便利的功能特性,完全胜任大型业务系统的开发。但是,我们不仅要能做到,而且要做得更好。大型业务系统的关键就是解耦合,从而减缓shi山代码的生长。而ioc容器是…...
RS485 CAN SPI IIC UART RS232这些通信协议传输距离、传输速度对比给出比较顺序-笔记(面试必备)
各类通信协议(RS485、CAN、SPI、I2C、UART、RS232)的传输距离和传输速度各有不同,适用于不同的应用场景。以下是这些通信协议的传输距离和传输速度的对比及排序: 传输距离比较(从长到短) RS485 最大传输距…...
高频JMeter软件测试面试题
近期,有很多粉丝在催更关于Jmeter的面试题,索性抽空整理了一波,以下是一些高频JMeter面试题,拿走不谢~ 一、JMeter的工作原理 JMeter就像一群将请求发送到目标服务器的用户一样,它收集来自目标服务器的响应以及其他统计…...
iptables netfilter
iptables -L --line...
如何使用Python自动发送邮件?
Python 提供了强大的内置库 smtplib 和 email,让我们能够轻松地发送各种类型的电子邮件。本指南将带你逐步了解如何使用 Python 发送邮件,从简单文本邮件到包含 HTML 内容、附件和内嵌图片的复杂邮件。 1. 准备工作: 1.1 安装必要的库 确保…...
C#中读写INI配置文件
在作应用系统开发时,管理配置是必不可少的。例如数据库服务器的配置、安装和更新配置等等。由于Xml的兴起,现在的配置文件大都是以xml文档来存储。比如Visual Studio.Net自身的配置文件Mashine.config,Asp.Net的配置文件Web.Config࿰…...
深入解析Spring中的@RequestMapping注解
RequestMapping是Spring框架中的一个核心注解,用于映射Web请求到处理器类的方法上。本文将详细介绍RequestMapping注解的用途、支持的属性以及如何在Spring MVC和Spring WebFlux中应用它。 1. 引言 在Spring框架中,RequestMapping是一个用于简化请求映…...
Python:lambda函数
lambda函数解释 Lambda函数,也被称为匿名函数,是Python等编程语言中用于创建简单、一次性使用的函数对象的一种快捷方式。在Python中,lambda函数使用lambda关键字定义,其后紧跟一个或多个参数(用逗号分隔)…...
MySQL查询语句
1. 一般查询 select * from table; 创建表:并插入数据,为下面的查询做例 create table info ( id int primary key, name varchar(10), score decimal(5,2), address varchar(20), hobbid int(5));insert into info values(1,liuyi,80,bei…...
远程连接服务
1.SSH协议握手流程 TCP三次握手后当前主机与远程服务器之间协商用哪种协议版本,ssh有两个(ssh1/ssh2)一般用ssh2,协商完后进入到密钥交换的阶段,客户端会生成一个公钥和一个私钥,公钥用来上锁,私…...
系统架构设计师——软件开发方法分类
分类 软件开发方法是指软件开发过程所遵循的办法和步骤,从不同的角度可以对软件开发方法进行不同的分类。 按照开发风范 软件开发过程中,开发方法的选择对项目的成功至关重要。这些方法可按照特定的开发风范分为自顶向下和自底向上两种主要策略&#…...
《看漫画学Python》全彩PDF教程,495页深度解析,零基础也能轻松上手!
前言 说起编程语言,Python 也许不是使用最广的,但一定是现在被谈论最多的。随着近年大数据、人工智能的兴起,Python 越来越多的出现在人们的视野中。 在各家公司里,Python 还常被用来做快速原型开发,以便更快验证产品…...
用户画像系列——Spark任务调优实践
在画像标签的加工和写入hbase中,我们采用了spark来快速进行处理和写入。但是在实际线上运行的过程中,仍然遇到了不少问题,下面来总结下遇到的一些问题 1.数据倾斜问题 其实spark 数据倾斜思路和hive、mapreduce 数据倾斜思路处理类似&…...
前端面试宝典【HTML篇】【4】
欢迎来到《前端面试宝典》,这里是你通往互联网大厂的专属通道,专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习,无论是一线大厂还是初创企业的面试,都能自信满满地展现你的实力。 核心特色: 独家实战案例:每一期专栏都将深入剖析真实的前端面试案例,从基础知…...
【UbuntuDebian安装MySQL】在线安装MySQL8
云计算:腾讯云轻量服务器 系统:Ubuntu-v22 1.更新系统软件包列表 打开终端并运行以下命令来确保你的系统软件包列表是最新的: sudo apt update2.安装 MySQL 存储库 MySQL 提供了官方的 APT 存储库,可以确保你安装的是最新版本…...
陕西省住房城乡建设部门户网站/外包公司什么意思
缓存区溢出漏洞工具DoonaDoona是缓存区溢出漏洞工具BED的分支。它在BED的基础上,增加了更多插件,如nttp、proxy、rtsp、tftp等。同时,它对各个插件扩充了攻击载荷,这里也称为模糊用例(fuzz case)࿰…...
wordpress站点安装/百度灰色关键词代做
问题描述: rmq消息队列中接收到了消息,并由消费者消费,由于下游服务异常,导致异常抛出,消费者消费消息失败,导致消息一直处于unack,return给rmq-server,重新被消费,但消费…...
手机网站制作相关文章/郴州网站seo外包
原因 在插入mongodb时,插入的是同一个字典对象字典对象字典对象,所以 _id重复,报错! 解决 只需每次创建文档字典时,都新建一个字典对象即可...
linux网站环境/搜索引擎查关键词排名的软件
11月5日是川音流行音乐学院2020现代音乐制作周第四天活动日,共举行了五场学术讲座和一场音乐会,分别是:廖建中《漫谈文艺创作中的以小见大》、吴核《 浅谈歌词创作与生活的关系》、彭勃《耳朵里的奇幻世界 探秘双耳环绕声技术》、刘三斤《乘风…...
wordpress配置qq邮箱/谷歌推广怎么开户
erp5开源制造业erp集群部署指南 1 独立服务器安装mariadb 2 独立服务器安装memcache缓存 3 独立服务器安装zeo 4 1-n台服务器安装zope(erp5) 5 独立服务器安装apache代理,对外提供访问url...
宣化网站建设/山东免费网络推广工具
2019独角兽企业重金招聘Python工程师标准>>> ANT通配符有三种: 通配符说明?匹配任何单字符*匹配0或者任意数量的字符**匹配0或者更多的目录例子: URL路径说明/app/*.x匹配(Matches)所有在app路径下的.x文件/app/p?ttern匹配(Matches) /app/…...