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

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


在这里插入图片描述

🎬 鸽芷咕:个人主页

 🔥 个人专栏:《粉丝福利》 《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 | 由博主动态公布抽奖结果

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

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

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

在这里插入图片描述

相关文章:

  • CANdelaStudio 使用教程5 编辑DID
  • 复习 学习 多看
  • GB28181学习(十七)——基于jrtplib实现tcp被动和主动发流
  • 【PTA题目】7-13 梅森数 分数 20
  • 分布式锁,分布式锁应该具备哪些条件,分布式锁的实现方式有:基于Zookeeper实现、Redis实现、数据库实现
  • 【WSA】无法打开 适用于 Android™ 的 Windows 子系统,因为它处于脱机状态。可能缺少存储设备,或者存储设备已断开连接。
  • ESP32网络开发实例-远程Web串口监视器
  • 微信小程序使用腾讯地图实现地点搜索并且随着地图的滑动加载滑动到区域的地点,本文地点使用医院关键词作为搜索地点
  • 高校大学校园后勤移动报修系统 微信小程序uniapp+vue
  • CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本?
  • 乐观锁解决库存超卖问题
  • 基于helm的方式在k8s集群中部署gitlab - 备份恢复(二)
  • 算法基础一
  • JBase到JRT
  • 使用Rust开发小游戏
  • 网络传输文件的问题
  • ES6核心特性
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JSDuck 与 AngularJS 融合技巧
  • KMP算法及优化
  • Meteor的表单提交:Form
  • Rancher-k8s加速安装文档
  • ubuntu 下nginx安装 并支持https协议
  • Vue2.x学习三:事件处理生命周期钩子
  • webgl (原生)基础入门指南【一】
  • 从零开始在ubuntu上搭建node开发环境
  • 如何胜任知名企业的商业数据分析师?
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 数据仓库的几种建模方法
  • ​【已解决】npm install​卡主不动的情况
  • #FPGA(基础知识)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • %check_box% in rails :coditions={:has_many , :through}
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (一)appium-desktop定位元素原理
  • (转)Unity3DUnity3D在android下调试
  • (转载)Google Chrome调试JS
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .form文件_SSM框架文件上传篇
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Reactor简单使用教程
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .net和jar包windows服务部署
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @RequestParam详解
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [\u4e00-\u9fa5] //匹配中文字符
  • [].slice.call()将类数组转化为真正的数组