当前位置:网站首页>Embedded sig | multi OS hybrid deployment framework
Embedded sig | multi OS hybrid deployment framework
2022-06-30 12:06:00 【openEuler】
background : Hybrid critical systems
In an embedded scenario , although Linux It has been widely used , But it doesn't cover all the requirements , For example, high real time 、 Highly reliable 、 High security occasions . These occasions are often used by real-time operating systems . Some application scenarios require Linux Management ability 、 Rich ecology needs high real-time of real-time operating system 、 Highly reliable 、 High security , Then a typical design is to run on a high-performance processor Linux Responsible for rich functions , A microcontroller / DSP / The real-time processor runs the real-time operating system and is responsible for real-time control or signal processing , Between the two I/O、 Network or off chip bus . The problem with this approach is , Two systems are required for hardware 、 The degree of integration is not high , Communication constraints and off chip physical mechanisms such as speed 、 Delay, etc , Software Linux And real-time operating system , In terms of flexibility 、 There is room for improvement in maintainability .
Benefit from the rapid development of hardware technology , The hardware capability of embedded system is becoming more and more powerful , For example, the single core capability has been continuously improved 、 Single core to multi-core 、 The evolution of heterogeneous multicore and even multicore , Virtualization technology and trusted execution environment (TEE) Development and application of technology , In the future, advanced packaging technology will bring a higher degree of integration , So that in a system on chip (SoC) Deploy multiple OS Have a solid physical foundation .
meanwhile , Driven by application requirements , Such as the Internet of things 、 Intelligent 、 Functional security and information security, etc , The whole embedded software system is becoming more and more complex , All by a single OS The challenge of carrying all the functions is getting bigger and bigger . One solution is that different systems are responsible for the functions they are good at , Such as Windows Of UI、Linux Network communication and management 、 High real-time and high reliability of real-time operating system , And easy to develop 、 Deploy 、 Expand , The implementation can take the form of a container 、 Virtualization, etc .
In the face of the above hardware and application changes , Combined with its own original characteristics , One of the directions of embedded system evolution in the future is 「 Hybrid critical systems (MCS,Mixed Criticality System)」, This can be seen from a typical embedded system —— A glimpse of the recent development trend of automotive electronics .
「 chart 1」 openEuler Embedded General architecture of hybrid critical systems in

from openEuler Embedded The angle of , The general architecture of the hybrid critical system is shown in Figure 1 Shown , The hardware is a system on chip with homogeneous or heterogeneous multi-core , From the perspective of application, multiple... Will be deployed at the same time OS / Runtime , for example Linux Responsible for system management and service 、1 A real-time operating system is responsible for real-time control 、1 A real-time operating system is responsible for system reliability 、1 A bare metal runtime runs a dedicated algorithm , The functions of the whole system are determined by each OS / Runtime collaboration . In the middle of the 「 Hybrid deployment framework 」 and 「 Embedded virtualization 」 Is a specific support technology . Key (Criticality) In a narrow sense, it mainly refers to the functional safety level , Refer to the universal functional safety standard IEC-61508,Linux You can achieve SIL1 or SIL2 Level , The real-time operating system can reach the highest level SIL3; In broad sense , Criticality can be extended to real-time levels 、 Power consumption level 、 Information security level and other objectives .
In such a system , The following problems need to be solved :
「 Efficiently mix deployment issues 」: How to efficiently achieve multiple OS Collaborative development 、 Integrated build 、 Independent deployment 、 Independent upgrade . 「 Efficient communication and collaboration issues 」: The overall function of the system is completed by each domain , Therefore, how to achieve high efficiency between different domains 、 Scalable 、 real time 、 Secure communication . 「 Effectively isolate and protect problems 」: How to effectively implement strong isolation and protection between multiple domains , So that they do not affect each other when the fault is found , And smaller trusted bases (Trust Compute Base). 「 Efficient resource sharing and scheduling 」: How to satisfy different objective constraints ( real time 、 Functional safety 、 performance 、 Power waste ), Manage scheduling resources efficiently , So as to improve the utilization of hardware resources .
For the above questions ,openEuler Embedded Our current thinking is 「 Hybrid critical systems = Deploy + Isolation + Dispatch 」, That is to say, we should first realize multiple OS A hybrid deployment of , More OS Isolation and protection between , Finally, the resource utilization is improved by hybrid critical scheduling , It can be mapped to 「 Hybrid deployment framework 」 and 「 Embedded virtualization 」. The hybrid deployment framework solves 「 Efficiently mix deployment issues 」 and 「 Efficient communication and collaboration issues 」, Embedded virtualization solutions 「 Effectively isolate and protect problems 」 and 「 Efficient resource sharing and scheduling 」.
many OS Hybrid deployment framework
openEuler Embedded Zhongduo OS The architecture of the hybrid deployment framework is shown below , The open source framework is introduced OpenAMP[1] As the foundation , And further innovate in combination with their own needs .
「 chart 2」 many OS Infrastructure of hybrid deployment framework

In the above Architecture ,libmetal It provides a unified abstraction by shielding the details of different system implementations ,virtio queue Equivalent to... In the network protocol MAC Layer provides an efficient underlying communication mechanism ,rpmsg It is equivalent to that the transport layer in the network protocol provides endpoint based services (endpoint) And the passage (channel) Abstract communication mechanism ,remoteproc Provide lifecycle management functions including initialization 、 start-up 、 Pause 、 End, etc .
stay openEuler Embedded 22.03 in , Integrated OpenAMP Related support , And with openEuler Of SIG Zephyr[2] Cooperation has achieved openEuler Embedded With real-time operating systems Zephyr[3] stay QEMU Hybrid deployment on the platform , For details, please refer to
many OS Mixed deployment Demo[4]
On this basis ,openEuler Embedded The hybrid deployment framework will continue to evolve , Including docking with more real-time operating systems , Such as domestic open source real-time operating system RT-Thread[5], The implementation is as shown in the figure 3 Many are shown OS Service deployment and timely introduction of embedded elastic base based on virtualization technology .
「 chart 3」 many OS Service deployment architecture

In the above many OS Service deployment architecture ,openEuler Embedded It's the center. , Mainly for others OS Provide management 、 The Internet 、 File system and other general services , other OS Can focus on what they are good at , And pass shell、log and debug Isochannel and Linux Rich and powerful docking of large dimension measuring bodies to simplify the development work .
Pay attention to our
Embedded Already in openEuler Community open source . A series of topics will be shared , If you are right about Embedded The construction of , Application is interested in , Welcome to watch and join .
Project address :https://gitee.com/openeuler/yocto-meta-openeuler
Welcome to star、fork, Get involved in community development , Contribute more .
Enter the communication group
If you are interested in embedded applications , Welcome to join openEuler Embedded&Yocto SIG Technology exchange group , Discuss Embedded and Yocto And other related technologies . Please scan the QR code below to join the group chat .

quote
[1]https://www.openampproject.org/
[2]https://gitee.com/openeuler/community/tree/master/sig/sig-Zephyr
[3]https://www.zephyrproject.org/
[4]https://gitee.com/openeuler/yocto-embedded-tools/tree/openEuler-22.03-LTS/mcs
[5]https://www.rt-thread.org/
This article is from WeChat official account. - openEuler(openEulercommunity).
If there is any infringement , Please contact the [email protected] Delete .
Participation of this paper “OSC Source creation plan ”, You are welcome to join us , share .
边栏推荐
- R语言ggplot2可视化:gganimate包基于transition_time函数创建动态散点图动画(gif)、使用labs函数为动画图添加动态时间标题(抽取frame_time信息)
- Global Capital Market 101:国内高净值人群最好的投资标的之一BREIT
- R language ggplot2 visualization: use ggplot2 visualization scatter diagram and the size parameter in AES function to specify the size of data points (point size)
- R language ggplot2 visualization: use ggplot2 to visualize the scatter diagram and use scale_ The size function configures the measurement adjustment range of the size of the data point
- Boost study: boost log
- 1175. 质数排列
- How can c write an SQL parser
- A Generic Deep-Learning-Based Approach for Automated Surface Inspection-論文閱讀筆記
- A quietly rising domestic software, low-key and powerful!
- Quel est le rôle du rétroéclairage LED?
猜你喜欢

Paper interpretation (AGC) attributed graph clustering via adaptive graph revolution

MATLAB中polarplot函数使用

网络营销之四大误解

聊聊怎么做硬件兼容性检测,快速迁移到openEuler?

ZABBIX monitors the number of TCP connections

A quietly rising domestic software, low-key and powerful!

Embedded SIG | 多 OS 混合部署框架
![[pattern recognition]](/img/b1/dcb444cbf40a43eeb7f7b233d7741a.png)
[pattern recognition]

再不上市,旷视科技就熬不住了

Multiparty cardinality testing for threshold private set-2021: Interpretation
随机推荐
R language ggplot2 visualization: use ggplot2 to visualize the scatter diagram and use scale_ x_ The log10 function configures the value range of the X axis to be logarithmic coordinates
【BUG解决】fiftyone报AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘错误解决方法
Webview,ScrollView滑动冲突咋整
R语言ggplot2可视化:使用ggplot2可视化散点图、在geom_point参数中设置show_legend参数为FALSE配置不显示图例信息
R language ggplot2 visualization: use ggplot2 visualization scatter diagram and the color parameter in AES function to specify that data points in different groups are displayed in different colors
使用cookie技术实现历史浏览记录并控制显示的个数
1020. 飞地的数量
[cf] 803 div2 B. Rising Sand
Quel est le rôle du rétroéclairage LED?
[pattern recognition]
STM32F407ZGT6使用SDIO方式驱动SD卡
麒麟软件韩乃平:数字中国建设需要自己的开源根社区
Go zero micro Service Practice Series (VIII. How to handle tens of thousands of order requests per second)
Parallel interface 8255A
服务器常用的一些硬件信息(不断更新)
线下门店为什么要做新零售?
学习redis实现分布式锁—–自己的一个理解
Beego development blog system learning (II)
网络营销之四大误解
【重温经典C语言】~c语言中%x、%c、%d、%x等等等、c语言取地址符&的作用、C语言中的 联合体