嵌入式管理程序

在功能强大的计算机中使用虚拟机管理程序的想法是众所周知的。它有利于同时使用多个操作系统,并提供了可以在其中部署未修改的旧版软件的虚拟化环境。虚拟机管理程序在现代嵌入式系统中也占有一席之地。本文考虑了嵌入式管理程序的特性,它可以提供的功能以及一些典型的应用程序。

有些技术不应该真正存在。但是,之所以这样做,是因为它们满足特定的需求。通常,此类技术会拉伸某些东西以使其以最初未预期的方式执行。传真机就是一个例子。在纸质办公环境中,经常需要将文档从A移到B。最初,这导致了邮件的产生。但是传真是使用电话线产生类似结果的一种巧妙方法。电子邮件普及后,传真几乎在一夜之间消失了。国内宽带是另一个例子–古老的铜线用于以几年前被认为是完全不可能的速度提供数字连接。虚拟机管理程序是在世界上已经占有一席之地的另一项“不应存在”的技术。

什么是管理程序?

广义上讲,管理程序是一个软件层,它使多个操作系统可以在单个硬件平台上同时运行。它们已经在大型机上使用了数十年,最近在台式机上也得到了使用,但是现在开始与嵌入式开发人员非常相关。

虚拟机管理程序并不是真正的新技术–大约50年前,大型计算机上就推出了第一批可识别的产品。当时的动机是最好地利用昂贵的资源。需要高效使用昂贵的硬件才能完全经济,而且停机时间也很昂贵。需要保护软件投资,因此促进在新硬件上无缝执行很有吸引力。具有讽刺意味的是,IBM的早期虚拟化软件以源代码形式分发(最初不提供支持),并由用户修改/增强。在构思开放源代码概念之前已有很多年了。

在现代嵌入式系统的背景下,要记住在一个硬件上运行多个OS有何好处?最重要的答案是安全性。系统管理程序在来宾操作系统之间提供了非常强大的隔离和保护层,从而确保了一个多线程应用程序不会干扰另一个应用程序。IP重用是运行多个操作系统的次要但仍然非常重要的动机。想象一下,您想在设计中使用一些重要的Linux软件IP。但是,您的设备是实时的,因此RTOS更有意义。如果不选择多核(因为这是在一个设备上运行多个操作系统的另一种方式),则使用虚拟机管理程序是前进的方式,以便您可以运行Linux和RTOS。

虚拟

机管理程序的类型虚拟机管理程序本质上有两种类型,它们被想象地命名为1型和2型。类型2需要基础主机操作系统。对于嵌入式应用程序,类型1对于大多数应用程序最有意义。

多核– SMP和AMP

有关管理程序在单个硬件平台上启用多个OS的说法意味着这意味着一个处理器。实际上,许多产品都支持使用多个CPU,并通过虚拟机管理程序分配资源。要进一步探索这一点,需要稍微考虑多核基础知识。

从软件的角度来看,本质上有两种类型的多核体系结构:对称多处理(SMP)和非对称多处理(AMP)。使用SMP,可以在所有CPU核上运行单个操作系统,该核必须具有相同的体系结构。操作系统需要专门设计为在SMP系统中运行。在AMP系统中,每个CPU都运行自己的OS(或完全不运行)。CPU不必具有相同的体系结构。

虚拟机管理程序和多核

所有嵌入式系统都具有有限的资源,需要对其进行管理。可以说这是嵌入式软件开发的关键所在。为了便于讨论,我们将考虑一个具有单个串行端口的假设示例系统。根据软件和CPU硬件的配置,可以通过多种方式管理此端口。

在单核系统上,操作系统可以管理对串行端口的访问,并可以在可能希望使用它的多个任务之间进行仲裁。有很多方法可以实现这一点,这是一条通俗易懂的道路。

如果系统具有多个相同的核心,则将其配置为SMP(在所有核心上运行的单个操作系统实例)可能会很有用。提供了许多RTOS产品的SMP版本(例如Nucleus),并且具有SMP支持的Linux也可以选择。如果应用程序受益于OS能够根据需要分配CPU电源,则此方法是理想的。操作系统可以通过与在单个核心系统上几乎相同的方式来管理对串行端口的访问。

在许多系统上,SMP并没有吸引力,因为需要更精确的控制,或者系统具有如此多的内核,因此性能可能会下降。在其他方面,由于内核不相同,所以SMP是不可能的。在这些情况下,在每个内核上都有单独的OS实例的AMP配置是有意义的。这就提出了一个挑战:如何管理单个串行端口?

如果系统中的所有内核都适合运行虚拟机监控程序,则可以在所有内核上运行它,每个内核的操作系统都被视为“来宾”。然后可以由管理程序管理对串行端口的访问。

如果一个或多个内核不能运行虚拟机监控程序(因为它们是性能较低的处理器),则可以使用另一种选择(例如,Mentor Embedded的异构多核框架HMF)。这便于在其他地方(在同一芯片上功能更强大的CPU上)运行的管理程序对较小内核的管理。因此,系统管理程序可以管理系统中所有核心(无论运行系统管理程序还是HMF)对串行端口的访问。

嵌入式管理程序应用程序嵌入式管理程序可以

在三个应用程序领域中找到自己的位置:

汽车行业

产业

医疗

汽车

在这种情况下,信息娱乐软件,仪表板控制和远程信息处理可能全部运行在单个多核芯片上。由于可能需要混合使用多种操作系统,例如用于仪器的RTOS和用于音频的GPS和Linux,因此管理程序非常有意义。

工业

对于工业应用(工厂,矿山,发电厂等),通常需要实时控制(RTOS)和复杂的网络(Linux)。另外,近年来,人们越来越关注网络攻击或将恶意软件引入控制系统。管理程序是分离系统和维护安全性的理想方法。

医疗

医疗系统带来了一些新的挑战。通常,实时(患者监视和治疗控制)和非实时(数据存储,网络和用户界面)功能混合在一起,因此虚拟机管理程序最初看起来很有吸引力。患者数据的机密性至关重要,因此管理程序的安全性变得很重要。最后,完全分离需要认证的系统部分(通常是实时部分)的能力使虚拟机监控程序具有吸引力。

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!(点击找小助理领取)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/9663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】2.1——物理层(编码波形、奈氏准则和香农公式计算)

物理层 基本概念 概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流 为数据链路层屏蔽了各种传输媒体的差异 数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么 物理层协议主要任务 机械特性 指明接口所…

计算机网络最基础知识介绍

OSI和TCP/IP是很基础但又非常重要的知识,很多知识点都是以它们为基础去串联的,作为底层,掌握得越透彻,理解上层时会越顺畅。今天这篇网络基础科普,就是根据OSI层级去逐一展开的。 01 计算机网络基础 01 计算机网络的分类 按照网络的作用范围:广域网(WAN)、城域网(MA…

uniapp:手写签名,多张图合成一张图

要实现的内容&#xff1a;手写签名&#xff0c;协议内容。点击提交后&#xff1a;生成1张图片&#xff0c;有协议内容和签署日期和签署人。 实现的效果图如下&#xff1a; 1、签名页面 <template><view class"index"><u-navbar title"电子协议…

企业级PaaS低代码快开平台源码,基于 Salesforce Platform 的开源替代方案

PaaS低代码快开平台是一种快速开发应用系统的工具&#xff0c;用户通过少量代码甚至不写代码就可以快速构建出各种应用系统。 随着信息化技术的发展&#xff0c;企业对信息化开发的需求正在逐渐改变&#xff0c;传统的定制开发已经无法满足企业需求。低代码开发平台&#xff0…

三分钟带你了解音频转文字哪个好用

在数字世界的角落里&#xff0c;有一项神奇的技术——音频转文字。它隐藏着巨大的力量和惊人的能力。它如同一位神奇的文字解码师&#xff0c;能够将听觉的旋律转化为视觉的符号&#xff0c;让语言的美妙之音在屏幕上跃然纸上。接下来&#xff0c;让我带你进入这个充满奇迹的数…

AQS抽象同步队列核心原理

CLH自旋锁 JUC中显式锁基于AQS抽象队列同步器&#xff0c;而AQS是CLH锁的一个变种。队列头结点可以获得锁&#xff0c;其他节点排队等候。 在争夺锁激烈的情况下&#xff0c;为了减少CAS空自旋&#xff08;CAS需要CPU进行内部通信保证缓存一致性造成流量过大引起总线风暴&…

马上医疗项目介绍

“马上好医”项目白皮书 一、大型医疗挂号微服务“马上好医”医疗项目 “马上好医”即为网上医疗预约挂号系统&#xff0c;首先&#xff0c;由于互联网的发展&#xff0c;衍生出非常多的便民医疗服务的需求&#xff0c;而网上预约挂号则是其中一个便民需求&#xff0c;我们能…

基于Javaweb实现ATM机系统开发实战(十五)退卡和转账跳转实现

首先创建一个servlet接受和处理请求&#xff1a; package com.atm.servlet;import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException;//用户退出 WebServlet("/logout") public class ExitServlet ex…

JavaScript逻辑运算符

not运算符&#xff08;!&#xff09; 反着来and运算符&#xff08;&&&#xff09; 全true才trueor运算符&#xff08;||&#xff09; 全false才false 举例 const hasDriversLicense true; const Drinking false;console.log(hasDriversLicense && Drinking…

7. Spring Boot 配置文件

目录 1. 配置文件作用 2. 配置文件格式 3. properties 配置文件说明 3.1 properties 基本语法 3.2 读取配置文件 3.3 缺点 4. yml 配置文件说明 4.1 properties 基本语法 4.2 读取配置文件 4.3 yml 配置不同的数据类型 布尔值 整数值 null 值 配置对象 配置集合 …

SpringBoot集成kafka全面实战

本文是SpringBootKafka的实战讲解&#xff0c;如果对kafka的架构原理还不了解的读者&#xff0c;建议先看一下《大白话kafka架构原理》、《秒懂kafka HA&#xff08;高可用&#xff09;》两篇文章。 一、生产者实践 普通生产者 带回调的生产者 自定义分区器 kafka事务提交…

第三大的数

414、第三大的数 class Solution {public int thirdMax(int[] nums) {Arrays.sort(nums);int tempnums[0];int ansnums[0];int count 0;// if(nums.length<3){// return nums[nums.length-1];// }// else {for(int inums.length-1;i>0;i--){if (nums[i]>nums[i…

安防监控视频汇聚平台EasyCVR修改录像计划等待时间较长是什么原因?

安防监控视频EasyCVR视频融合汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检…

UI设计工具都有哪些好用的推荐?

对于UI设计的初学者来说&#xff0c;掌握一个实用且易于使用的界面UI软件是非常重要的。今天&#xff0c;我整理了四个易于使用的界面UI软件。让我们看看。 即时设计 即时设计是一款免费的在线 UI 设计工具&#xff0c;无系统限制&#xff0c;浏览器打开即可使用&#xff0c;…

如何使用 After Effects 导出摄像机跟踪数据到 3ds Max

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在本教程中&#xff0c;我将展示如何在After Effects中跟踪实景场景&#xff0c;然后将相机数据导出到3ds Max。 1. 项目设置 步骤 1 打开“后效”。 打开后效果 步骤 2 转到合成>新合成以创建新合…

Python - Opencv应用实例之树叶自动分割、标签及统计分析系统

Python - Opencv应用实例之树叶自动分割、标签及统计分析系统 本文通过Python+opencv 实现这样的需求:输出位置和角度(x, y, r),并标记出轮廓基于传统图像处理算法实现,算法原理:输入图像 -> 灰度化 -> 二值化 -> 形态学处理 -> 轮廓提取 -> 树叶中心定位 -…

window10脚本转服务教程

先说下脚本/我们启动的一些三方服务转window本机服务目前我了解到的好处 一键设置开机自启、随用随启、延时自启解决一些服务类应用启动后会阻塞当前dos窗口导致桌面一直要开着的问题脚本化服务注册&#xff0c;方便管理&#xff0c;统一运维… 1. 实践涉及内容介绍 编写好的…

YOLOV8最强操作教程.

YoloV8详细训练教程. 相信各位都知道yolov8发布了&#xff0c;也是U神大作&#xff0c;而且V8还会出论文喔&#xff01; 2023.1.17 更新 yolov8-grad-cam热力图可视化链接 2023.1.20 更新 YOLOV8改进-添加EIoU,SIoU,AlphaIoU,FocalEIoU 链接 2023.1.30 更新 如果你需要修改或者…

最新Ai创作源码ChatGPT商用运营源码/支持GPT4.0+支持ai绘画+支持Mind思维导图生成

本系统使用Nestjs和Vue3框架技术&#xff0c;持续集成AI能力到本系统&#xff01; 支持GPT3模型、GPT4模型Midjourney专业绘画&#xff08;全自定义调参&#xff09;、Midjourney以图生图、Dall-E2绘画Mind思维导图生成应用工作台&#xff08;Prompt&#xff09;AI绘画广场自定…

基于Spring包扫描工具和MybatisPlus逆向工程组件的数据表自动同步机制

公司产品产出的项目较多。同步数据库表结构工作很麻烦。一个alter语句要跑到N个客户机上执行脚本。超级费时麻烦。介于此&#xff0c;原有方案是把增量脚本放到一resource包下&#xff0c;项目启动时执行逐行执行一次。但由于模块开发人员较多&#xff0c;总有那么一两个机灵鬼…