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


在这里插入图片描述

🎬 鸽芷咕:个人主页

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

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

文章目录

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

⛳️ 写在前面参与规则

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

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

  • 📆 活动时间:2023-11-06 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-06 20:00:00 | 由博主动态公布抽奖结果

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

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

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二级分类菜单及三级分类菜单的层级结构返回

前言 在开发投诉分类功能模块时,遇到过这样一个业务场景:后端需要按层级结构返回二级分类菜单所需数据,换言之,将具有父子关系的List结果集数据转为树状结构数据来返回 二级分类菜单 前期准备 这里简单复刻下真实场景中 出现的…

一文从Vue2过渡到Vue3

文章目录 Vue3简介创建Vue3.0工程使用 vue-cli 创建使用 vite 创建Vue3工程结构变化 常用 Composition API拉开序幕的setupref函数reactive函数Vue3.0中的响应式原理vue2.x的响应式Vue3.0的响应式 reactive对比refsetup的两个注意点计算属性与监视computed函数watch函数watchEf…

【限时免费】20天拿下华为OD笔试之【DP/贪心】2023B-观看文艺汇演-200分【欧弟算法】全网注释最详细分类最全的华为OD真题题解

【DP/贪心】2023B-观看文艺汇演 题目描述与示例 某公园将举行多场文艺表演,很多演出都是同时进行,一个人只能同时观看一场演出,且不能迟到早退,由于演出分布在不同的演出场地,所以连续观看的演出最少有 15 分钟的时间…

Docker搭建个人网盘NextCloud并接入雨云对象存储的教程

雨云服务器使用Docker搭建私有云盘NextCloud并接入雨云对象存储ROS的教程。 NextCloud简介 NextCloud由原ownCloud联合创始人Frank Karlitschek创建的,继承原ownCloud的核心技术又有不少的创新。在功能上NextCloud和ownCloud差不多,甚至还要丰富一些&a…

WebSocket了解

一.什么是WebSocket WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocket是一个持久化的协议 二.websocket的原理 web…

【MATLAB源码-第90期】基于matlab的OQPSKsimulink仿真,对比初始信号和解调信号输出星座图。

操作环境: MATLAB 2022a 1、算法描述 正交偏移二进制相移键控(OQPSK, Orthogonal Quadrature Phase Shift Keying)是一种数字调制技术,主要用于高效无线数据传输。它是传统二进制相移键控(BPSK)的一个变…

redis实现消息延迟队列

业务场景 在很多软件系统功能中都会出现定时任务的业务场景,比如提前点单,比如定时发布动态,文章等而出现这样的的定时的任务为延迟队任务 代码模块 任务的持久化一般都需要建立一个任务表和任务日志表,避免宕机导致任务失效,先新建立一个数据库,创建基本的任务表和任务日志表…

【刷题笔记】加油站||符合思维方式

加油站 文章目录 加油站1 题目描述2 思路3 解题方法 1 题目描述 https://leetcode.cn/problems/gas-station/ 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消…

每日一题--相交链表

离思五首-元稹 曾经沧海难为水,除却巫山不是云。 取次花丛懒回顾,半缘修道半缘君。 目录 题目描述: 思路分析: 方法及时间复杂度: 法一 计算链表长度(暴力解法) 法二 栈 法三 哈希集合 法四 map或unordered_map…

YOLOv5算法进阶改进(4)— 引入解耦合头部 | 助力提高检测准确率

前言:Hello大家好,我是小哥谈。解耦头是目标检测中的一种头部设计,用于从检测网络的特征图中提取目标位置和类别信息。具体来说,解耦头部将目标检测任务分解为两个子任务:分类和回归。分类任务用于预测目标的类别,回归任务用于预测目标的位置。这种设计可以提高目标检测的…

粒子群算法Particle Swarm Optimization (PSO)的定义,应用优点和缺点的总结!!

文章目录 前言一、粒子群算法的定义二、粒子群算法的应用三、粒子群算法的优点四、粒子群算法的缺点:粒子群算法的总结 前言 粒子群算法是一种基于群体协作的随机搜索算法,通过模拟鸟群觅食行为而发展起来。该算法最初是由Eberhart博士和Kennedy博士于1…

PyQt6实战开发之旅-代码均可运行

学习感悟 由于官方文档是英文的,所以学习起来不是很直观。网上的中文教程也都有点偏重就轻,去从头学习细枝末节不是很必要。假如每个控件组件讲十分钟,几百个控件可想而知。最关键的是有python基础,能理解类与继承,函…

【漏洞复现】OpenTSDB 2.4.0 命令注入(CVE-2020-35476)漏洞复现

漏洞描述 官方文档这样描述:OpenTSDB is a distributed, scalable Time Series Database (TSDB) written ontop of HBase; 翻译过来就是,基于Hbase的分布式的,可伸缩的时间序列数据库。 主要用途,就是做监控系统;譬如收集大规模集群(包括网络设备、操作系统、应用程序…

官网IDM下载和安装的详细步骤

目录 一、IDM是什么 二、下载安装 三、解决下载超时的问题 四、谷歌浏览器打开IDM插件 谷歌浏览器下载官网👇 五、测试 六、资源包获取 一、IDM是什么 IDM(internet download manager)是一个互联网下载工具插件,常见于用…

C语言数据类型和变量

# C语言数据类型和变量 # 数据类型介绍 C语⾔提供了丰富的数据类型来描述⽣活中的各种数据。使⽤整型类型来描述整数,使⽤字符类型来描述字符,使⽤浮点型类型来描述⼩数。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有…

可以在Playgrounds或Xcode Command Line Tool开始学习Swift

一、用Playgrounds 1. App Store搜索并安装Swift Playgrounds 2. 打开Playgrounds,点击 文件-新建图书。然后就可以编程了,如下: 二、用Xcode 1. 安装Xcode 2. 打开Xcode,选择Creat New Project 3. 选择macOS 4. 选择Comman…

使用Rust开发小游戏

本文是对 使用 Rust 开发一个微型游戏【已完结】[1]的学习与记录. cargo new flappy 在Cargo.toml的[dependencies]下方增加: bracket-lib "~0.8.7" main.rs中: use bracket_lib::prelude::*;struct State {}impl GameState for State { fn tick(&mut self,…

高校大学校园后勤移动报修系统 微信小程序uniapp+vue

本文主要是针对线下校园后勤移动报修传统管理方式中管理不便与效率低的缺点,将电子商务和计算机技术结合起来,开发出管理便捷,效率高的基于app的大学校园后勤移动报修app。该系统、操作简单、界面友好、易于管理和维护;而且对后勤…

微机11111

一、填空题(共15分,每空1分) 1、十六进制数30A.5转换为二进制是__________,转换为十进制是_________ 001100001010.0101B 778.3125 十六进制转换二进制 将一位十六进制分解成四位二进制 十六进制转换十进制 3X1620X16110X1605X1…

解决Vue编程式导航路由跳转不显示目标路径问题

我们配置一个编程式导航的路由跳转,跳转到 /search 页面,并且携带categoryName和categoryId两个query参数。 this.$router.push({path: "/search",query: {categoryName: dataset.categoryname,categoryId: dataset.categoryid} }) 如果我们…