当前位置: 首页 > news >正文

【咕咕送书 | 第六期】深入浅出阐述嵌入式虚拟机原理,实现“小而能”嵌入式虚拟机!


在这里插入图片描述

🎬 鸽芷咕:个人主页

 🔥 个人专栏:《粉丝福利》 《linux深造日志》

⛺️生活的理想,就是为了理想的生活!

文章目录

  • ⛳️ 写在前面参与规则
  • 引言
  • 一、为什么嵌入式系统需要虚拟化技术?
    • 1.1 专家推荐
  • 二、本书适合谁?
    • 2.1 本书定位
      • 嵌入式领域开发的技术人员介绍
      • 虚拟机管理程序介绍
  • 三、内容简介
    • 3.1 目录简介
    • 3.2 权威作者团队
  • 🎁🎁🎁 文末直达送书福利

⛳️ 写在前面参与规则

  • 参与方式:关注博主、点赞收藏评论,任意评论(每人最多评论三次)

  • ⛳️本次送书1~5取决于阅读量,阅读量越多,送的越多

  • 📆 活动时间至:2023-11-30 20:00:00 | 随机抽取由博主动态公布抽奖结果

如有特别需要的同学可添加博主微信进入粉丝福利群发放福利哦!

🔥 注:活动结束后,会私信中奖粉丝的,各位注意查看私信哦!

⛳️ 文章末尾扫码加入粉丝群,不定期发放粉丝福利,各种专业书籍免费赠送

引言

随着物联网设备的爆炸式增长和万物互联应用的快速发展,虚拟化技术在嵌入式系统上受到了业界越来越多的关注、重视和实际应用。嵌入式系统与虚拟化技术这个跨界创新组合应运而生,其典型的应用场景包括软件定义汽车驾驶舱、工业领域的工作负载整合等。

在这里插入图片描述

一、为什么嵌入式系统需要虚拟化技术?

虚拟化技术尤其是开源虚拟化技术,构成了云计算的基石,促进了云时代的蓬勃发展。而随着万物互联的物联网的指数级发展,虚拟化技术也开始在嵌入式领域得到广泛的应用。

能够促使嵌入式设备支持虚拟化技术的原因有如下几点:

  • 第一、随着半导体技术的发展,摩尔定律推动硬件的性能提升,成本下降。今天的嵌入式SoC的性能甚至可能超过了昨天的服务器。

  • 第二、无处不在的CPU多核技术的发展自然地能够支持多个系统。

  • 第三、是不同业务的负载整合、数字化互联的需求。

  • 第四、节约硬件成本考虑,减少硬件系统的互连,降低整体硬件系统的复杂度。

  • 第五、系统需要重用已有的软件系统,降低移植工作量。还可以把多个 “异构” 的操作系统(实时系统和非实时系统、安全系统和非安全系统)整合在一套系统上。

在这里插入图片描述

本书由英特尔开源软件技术中心虚拟化项目组专家撰写。围绕嵌入式虚拟化技术的核心内容介绍了虚拟化基本原理,详细解读了Linux基金会开源嵌入式虚拟机ACRN技术的架构、原理和应用实现。
本书还特别披露和总结了虚拟化系统的实时性能调优方法和功能安全认证实践。读者可以从第一行代码实现一个x86平台上的“小身材、大能耐”的嵌入式虚拟机。

1.1 专家推荐

“本书作为英特尔开源软件技术中心的一部力作,尝试在内容和形式上大胆创新。内容上从剖析现有虚拟化技术解决方案及其在嵌入式领域所面临的挑战出发,掀开了嵌入式虚拟化创新解决方案的篇章;形式上不仅图文并茂,还增加了大量开源软件代码解析和应用案例。”

—— 英特尔亚太研发有限公司总经理

谢晓清 博士

“英特尔公司和Linux开源基金会合作的ACRN开源软件,是希望嵌入式虚拟化技术这门技术能够释放出硬件的计算力,激发出更多更酷的应用场景,并给用户带来最终价值。”

—— 英特尔中国软件生态部总经理

李映 博士


二、本书适合谁?

嵌入式虚拟化技术是一门跨领域的交叉技术。其中虚拟化技术涉及操作系统、计算机体系结构等领域的知识,而嵌入式系统的设计和开发经验可以帮助更好理解该技术的特殊性。

2.1 本书定位

本书定位的读者是从事嵌入式领域开发的技术人员,或者任何想了解如何在嵌入式系统上实现虚拟机管理程序的专业人员。

嵌入式领域开发的技术人员介绍

  • C/C++编程语言:嵌入式系统通常使用C/C++编程语言,开发人员需要熟练掌握其语法和特性。

  • 汇编语言:嵌入式系统通常需要高效地访问硬件,因此开发人员需要了解汇编语言。

  • 微控制器:嵌入式系统通常使用微控制器,开发人员需要了解微控制器的架构和特性。

  • 电路设计:开发人员需要了解电路设计和原理图绘制,以便于嵌入式系统的硬件设计和调试。

  • RTOS:嵌入式系统通常需要实时操作系统(RTOS)的支持,开发人员需要了解RTOS的原理和使用方法。

  • 通讯协议:嵌入式系统通常需要和其他设备进行通讯,开发人员需要了解常用的通讯协议,如UART、SPI、I2C等。

虚拟机管理程序介绍

  1. 虚拟机监控器(VMM):也称为虚拟化层,是虚拟机管理程序的核心组件,负责虚拟机的创建、启动、停止和删除等操作。VMM还负责管理虚拟机的资源,如内存、CPU和磁盘等。

  2. 管理控制台:提供一个图形化界面或命令行界面,用于管理员管理虚拟机和虚拟机管理程序的配置和监控。管理员可以从控制台中启动、停止、暂停和恢复虚拟机,也可以对虚拟机的资源进行配置和监控。

  3. 虚拟机配置文件:虚拟机管理程序通常需要使用虚拟机配置文件来描述虚拟机的硬件配置和软件环境。虚拟机配置文件包括虚拟机的内存、CPU、磁盘和网络配置等信息。

  4. 虚拟磁盘管理器:虚拟磁盘管理器负责管理虚拟机的磁盘映像文件,包括创建、删除、备份和恢复等操作。虚拟磁盘管理器还可以对虚拟机的磁盘进行扩展和压缩等操作。

  5. 虚拟网络管理器:虚拟网络管理器负责管理虚拟机的网络配置,包括虚拟机的网卡配置、虚拟交换机配置和虚拟网络拓扑等信息。

三、内容简介

本书首先介绍虚拟化技术的基本原理,以及KVM在云服务器上实现。然后围绕虚拟化技术的核心内容,从CPU虚拟化、内存虚拟化、中断虚拟化和设备虚拟化这四个方面,重点介绍了开源嵌入式虚拟机ACRN的架构、原理和实现。另外,本书还特别总结了虚拟化系统的实时性能调优方法和功能安全认证实践。最后对嵌入式虚拟化技术的典型应用场景进行了举例分析。

本书作为嵌入式虚拟化技术入门参考书,通过对ACRN开源软件的介绍,帮助读者理解虚拟化技术架构,从而开始了解、学习、开发虚拟化软件,掌握嵌入式虚拟化技术并应用于工程实践。


3.1 目录简介

第1章 虚拟化技术概述
第2章 虚拟化技术原理
第3章 主流开源虚拟化KVM——原理与实现
第4章 嵌入式虚拟化——ACRN实现
第5章 嵌入式虚拟化——ACRN设备虚拟化
第6章 嵌入式虚拟化——ACRN使用
第7章 嵌入式虚拟化——实时性能优化
第8章 嵌入式实时操作系统
第9章 嵌入式虚拟化赋能功能安全
第10章 应用案例——智能数控系统和数字孪生
第11章 应用案例——机器视觉和机器控制的负载整合
第12章 应用案例——自主移动机器人
第13章 应用案例——软件定义的驾驶舱


3.2 权威作者团队

图片
本书写作小组团队成员是来自英特尔亚太研发有限公司的技术专家们。他们在虚拟化领域、嵌入式领域、工业领域沉浸和工作多年,具有丰富的理论和实践经验。

🎁🎁🎁 文末直达送书福利

  • 参与方式:关注博主、点赞收藏评论,任意评论(每人最多评论三次)

  • ⛳️本次送书1~5取决于阅读量,阅读量越多,送的越多

  • 📆 活动时间至:2023-11-30 20:00:00 | 由博主动态公布抽奖结果

如有特别需要的同学可添加博主微信进入粉丝福利群发放福利哦!

🔥 注:活动结束后,会私信中奖粉丝的,各位注意查看私信哦!

⛳️ 文章末尾扫码加入粉丝群,不定期发放粉丝福利,各种专业书籍免费赠送

在这里插入图片描述

相关文章:

【咕咕送书 | 第六期】深入浅出阐述嵌入式虚拟机原理,实现“小而能”嵌入式虚拟机!

🎬 鸽芷咕:个人主页 🔥 个人专栏:《粉丝福利》 《linux深造日志》 ⛺️生活的理想,就是为了理想的生活! 文章目录 ⛳️ 写在前面参与规则引言一、为什么嵌入式系统需要虚拟化技术?1.1 专家推荐 二、本书适合谁&#x…...

论文阅读——DDeP(cvpr2023)

分割标签耗时且贵,所以常常使用预训练提高分割模型标签有效性,反正就是,需要一个预训练分割模型。典型的分割模型encoder部分通过分类任务预训练,decoder部分参数随机初始化。作者认为这个方法次优,尤其标签比较少的情…...

Docker | Docker常用命令

Docker | Docker常用命令 ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:Docker系列 ✨…...

精进:简单聊聊华为战略与DSTE

首发:麦子禾 作者:石头 在以前专题文中,石头聊华为市场管理MM、基于价值驱动的业务设计VDBD、轻量级战略流程五看三定、业务领先模型BLM、业务执行力模型BEM比较多,印象中石头没有具体谈过DSTE(从战略规划到执行&…...

强制删除文件

DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 强制删除文件,新建一个文本文件,将以上代码复制到文档中,保存,将文档重命名为delete.bat 如果弹窗提示修改后缀名可能导致文件不可用,也点击确认修改文件名称. 将需要强制删除的文件拖拽到这个delete.bat文件上,显示使用delete.bat打…...

Vue+ElementUI+C#技巧分享:周数选择器

文章目录 前言一、周数的计算逻辑1.1 周数的定义1.2 年初周数的确定1.3 周数的计算方法 二、VueElementUI代码实现2.1 计算周数2.2 获取周的日期范围2.3 根据周数获取日期范围2.4 控件引用2.4.1 控件引用代码分析2.4.2 初始化变量代码分析 2.5 周数选择器完整代码 三、C#后端代…...

【算法】FFT-1(递归实现)(不包括IFFT)

FFT 多项式多项式乘法复数及运算导数泰勒公式及展开式欧拉公式单位根 FFTCode IFFT 多项式 我们从课本中可以知道,一个 n − 1 n-1 n−1 次的多项式可以写成 a 0 a 1 x a 2 x 2 a 3 x 3 ⋯ a n − 1 x n − 1 a_{0}a_{1}xa_{2}x^2a_{3}x^3\dotsa_{n-1}x^{n-…...

大模型训练效率提升至2.6倍,腾讯Angel机器学习框架升级

在算力紧缺的背景下,如何提升大模型训练和推理的效率,并降低成本,成为业界关注的焦点。 11月23日,腾讯披露,腾讯混元大模型背后的自研机器学习框架Angel再次升级,大模型训练效率提升至主流开源框架的2.6倍…...

【方块消消乐】方块消除游戏-微信小程序开发流程详解

有做过俄罗斯方块游戏小程序的经验,这次有做了一个消灭方块的游戏,实现过程很顺利,游戏看着和之前做的俄罗斯方块游戏很像,这里调整了玩法,试玩感觉还可以,接下来给大家讲一讲消灭方块游戏开发过程。 俄罗斯…...

mybatis配置文件中配置类型别名的方式

在MyBatis配置文件&#xff08;通常是mybatis-config.xml&#xff09;中&#xff0c;可以通过以下方式配置类型别名&#xff1a; 1. 使用typeAliases元素配置全局类型别名 <configuration> <typeAliases> <typeAlias alias"YourAlias" type"…...

leetcode目标和

给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 ‘’ 或 ‘-’ &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2 之前添加 ‘’ &#xff0c;在 1 之前添加 ‘-…...

2023人形机器人行业海外科技研究:从谷歌看机器人大模型进展

今天分享的是人形机器人系列深度研究报告&#xff1a;《2023人形机器人行业海外科技研究&#xff1a;从谷歌看机器人大模型进展》。 &#xff08;报告出品方&#xff1a;华鑫证券&#xff09; 报告共计&#xff1a;26页 大模型是人形机器人的必备要素 长期来看&#xff0c;人…...

【深度学习笔记】01 数据操作与预处理

01 数据操作与预处理 一、数据操作1.1 基本数据操作1.2 广播机制1.3 索引和切片1.4 节省内存1.5 转换为其他Python对象 二、数据预处理读取数据集处理缺失值转换为张量格式练习 一、数据操作 1.1 基本数据操作 导入torch import torch张量表示一个由数值组成的数组&#xff…...

Python与设计模式--门面模式

8-Python与设计模式–门面模式 一、火警报警器&#xff08;1&#xff09; 假设有一组火警报警系统&#xff0c;由三个子元件构成&#xff1a;一个警报器&#xff0c;一个喷水器&#xff0c; 一个自动拨打电话的装置。其抽象如下&#xff1a; class AlarmSensor:def run(self):…...

改进YOLOv8 | YOLOv5系列:RFAConv续作,即插即用具有任意采样形状和任意数目参数的卷积核AKCOnv

RFAConv续作,构建具有任意采样形状的卷积AKConv 一、论文yolov5加入的方式论文 源代码 一、论文 基于卷积运算的神经网络在深度学习领域取得了显著的成果,但标准卷积运算存在两个固有缺陷:一方面,卷积运算被限制在一个局部窗口,不能从其他位置捕获信息,并且其采样形状是…...

机器学习-激活函数的直观理解

机器学习-激活函数的直观理解 在机器学习中&#xff0c;激活函数&#xff08;Activation Function&#xff09;是用于引入非线性特性的一种函数&#xff0c;它在神经网络的每个神经元上被应用。 如果不使用任何的激活函数&#xff0c;那么神经元的响应就是wxb&#xff0c;相当…...

Fedora 36 ARM 镜像源更换与软件安装

1、什么是Fedora Fedora Linux是较具知名度的Linux发行套件之一&#xff0c;由Fedora专案社群开发、红帽公司赞助&#xff0c;目标是建立一套新颖、多功能并且自由的作业系统。 Fedora是商业化的Red Hat Enterprise Linux发行版的上游原始码。 2、Fedora软件安装 64 位 .deb&a…...

多级缓存快速上手

哈喽~大家好&#xff0c;这篇来看看多级缓存。 &#x1f947;个人主页&#xff1a;个人主页​​​​​ &#x1f948; 系列专栏&#xff1a;【微服务】 &#x1f949;与这篇相关的文章&#xff1a; JAVA进程和线程JAVA进程和线程-CSDN博客Http…...

初始React

<!DOCTYPE html> <html> <head> <meta charset"UTF-8" /> <title>React</title> </head> <body> 了解React <!-- React是一个用于构建web和原生态交互界面的库 相对于传统DOM开发优势&#xff1a;组件化开发…...

2.5 逆矩阵

一、逆矩阵的注释 假设 A A A 是一个方阵&#xff0c;其逆矩阵 A − 1 A^{-1} A−1 与它的大小相同&#xff0c; A − 1 A I A^{-1}AI A−1AI。 A A A 与 A − 1 A^{-1} A−1 会做相反的事情。它们的乘积是单位矩阵 —— 对向量无影响&#xff0c;所以 A − 1 A x x A^{…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...