隨著物聯(lián)網(wǎng)設(shè)備的爆炸式增長(zhǎng)和萬物互聯(lián)應(yīng)用的快速發(fā)展,嵌入式系統(tǒng)正面臨著一系列的挑戰(zhàn)與機(jī)遇。為了適應(yīng)這一變革,虛擬化技術(shù)逐漸成為了業(yè)界關(guān)注的焦點(diǎn),并在嵌入式系統(tǒng)中得到了廣泛的應(yīng)用。本文將深入探討嵌入式系統(tǒng)為何需要虛擬化技術(shù),以及這一跨界創(chuàng)新組合的應(yīng)用場(chǎng)景。
一、硬件性能提升:摩爾定律與嵌入式虛擬化
隨著半導(dǎo)體技術(shù)的飛速發(fā)展,摩爾定律在推動(dòng)硬件性能提升的同時(shí),也使得成本逐漸降低。這使得今天的嵌入式系統(tǒng)中的SoC(System on a Chip)性能得到了極大的提升,甚至在某些方面超越了傳統(tǒng)的服務(wù)器。這種性能的提升為嵌入式系統(tǒng)引入虛擬化技術(shù)提供了可能。通過虛擬化技術(shù),我們可以將多個(gè)操作系統(tǒng)或應(yīng)用程序運(yùn)行在單一的硬件平臺(tái)上,進(jìn)一步提升硬件資源的利用率。
二、CPU多核技術(shù):為嵌入式虛擬化提供支持
隨著CPU多核技術(shù)的發(fā)展,一個(gè)物理處理器能夠同時(shí)執(zhí)行多個(gè)線程或任務(wù),這為嵌入式系統(tǒng)支持虛擬化技術(shù)提供了強(qiáng)大的基礎(chǔ)。通過多核技術(shù),我們可以輕松地在單個(gè)硬件平臺(tái)上運(yùn)行多個(gè)操作系統(tǒng)或應(yīng)用程序,從而實(shí)現(xiàn)真正的并行處理。
三、業(yè)務(wù)負(fù)載整合:嵌入式虛擬化的核心需求
隨著物聯(lián)網(wǎng)的普及,不同業(yè)務(wù)之間的負(fù)載整合成為了關(guān)鍵需求。通過虛擬化技術(shù),我們可以將各種業(yè)務(wù)負(fù)載整合到一個(gè)統(tǒng)一的平臺(tái)上,從而實(shí)現(xiàn)資源的集中管理和優(yōu)化。這種整合不僅有助于提升系統(tǒng)的整體性能,還能降低運(yùn)營(yíng)成本和維護(hù)難度。
四、降低硬件成本:虛擬化技術(shù)的經(jīng)濟(jì)效益
在嵌入式系統(tǒng)的應(yīng)用中,節(jié)約硬件成本是一個(gè)重要的考慮因素。通過引入虛擬化技術(shù),我們可以減少硬件系統(tǒng)的互連,降低整體硬件系統(tǒng)的復(fù)雜度。這不僅能夠降低硬件成本,還能提升系統(tǒng)的可靠性和穩(wěn)定性。
五、軟件重用與移植:虛擬化技術(shù)的優(yōu)勢(shì)
在嵌入式系統(tǒng)中,軟件重用和移植是一個(gè)重要的需求。通過虛擬化技術(shù),我們可以將已有的軟件系統(tǒng)進(jìn)行封裝和隔離,使其在不同的硬件平臺(tái)上得到重用。此外,虛擬化技術(shù)還可以簡(jiǎn)化軟件的移植過程,降低開發(fā)難度和維護(hù)成本。
六、異構(gòu)操作系統(tǒng)的整合:虛擬化的獨(dú)特價(jià)值
在許多應(yīng)用場(chǎng)景中,我們需要將不同類型的操作系統(tǒng)(如實(shí)時(shí)系統(tǒng)和非實(shí)時(shí)系統(tǒng)、安全系統(tǒng)和非安全系統(tǒng))整合到一個(gè)系統(tǒng)中。通過虛擬化技術(shù),我們可以輕松地實(shí)現(xiàn)這種異構(gòu)操作系統(tǒng)的整合,從而滿足各種復(fù)雜的應(yīng)用需求。這種整合不僅有助于提升系統(tǒng)的靈活性和可擴(kuò)展性,還能降低開發(fā)和維護(hù)成本。
七、嵌入式虛擬化的應(yīng)用場(chǎng)景
嵌入式虛擬化技術(shù)的應(yīng)用場(chǎng)景十分廣泛,包括但不限于以下幾個(gè)方面:軟件定義汽車駕駛艙、工業(yè)領(lǐng)域的工作負(fù)載整合、智能家居設(shè)備的集中管理、醫(yī)療設(shè)備的遠(yuǎn)程監(jiān)控和維護(hù)等。在這些場(chǎng)景中,虛擬化技術(shù)能夠有效地提升系統(tǒng)的性能、可靠性和可維護(hù)性。
八、挑戰(zhàn)與展望:嵌入式虛擬化的未來發(fā)展
盡管嵌入式虛擬化技術(shù)已經(jīng)得到了廣泛的應(yīng)用和認(rèn)可,但仍面臨著一些挑戰(zhàn)。例如,如何進(jìn)一步提升虛擬化技術(shù)的性能和效率、如何實(shí)現(xiàn)更精細(xì)的資源管理和調(diào)度等。未來,隨著技術(shù)的不斷進(jìn)步和應(yīng)用需求的不斷增長(zhǎng),我們相信嵌入式虛擬化技術(shù)將會(huì)得到更廣泛的應(yīng)用和更深入的研究。
《嵌入式虛擬化技術(shù)與應(yīng)用》
編輯推薦
適讀人群 :本書定位的讀者是從事嵌入式虛擬化領(lǐng)域開發(fā)的技術(shù)人員,或者任何想了解如何在嵌入式系統(tǒng)上實(shí)現(xiàn)虛擬機(jī)管理程序的專業(yè)人員。
1.英特爾開源軟件技術(shù)中心虛擬化項(xiàng)目組專家力作,本書圍繞嵌入式虛擬化技術(shù)的核心內(nèi)容,詳細(xì)解讀Linux基金會(huì)開源嵌入式虛擬機(jī)ACRN技術(shù)的架構(gòu)、原理和應(yīng)用實(shí)現(xiàn)。本書還特別披露和總結(jié)了虛擬化系統(tǒng)的實(shí)時(shí)性能調(diào)優(yōu)方法和功能安全認(rèn)證實(shí)踐。讀者可以從第一行代碼實(shí)現(xiàn)一個(gè)x86平臺(tái)上的“小身材、大能耐”的嵌入式虛擬機(jī)。ACRN開源項(xiàng)目的地址:https://projectacrn.org/。
2.讀者通過該書學(xué)習(xí),在需要高算力的嵌入式應(yīng)用場(chǎng)景中,基于x86平臺(tái)和ACRN虛擬化技術(shù)可以實(shí)現(xiàn)工業(yè)領(lǐng)域的工作負(fù)載整合或軟件定義汽車智能駕駛艙等應(yīng)用產(chǎn)品。
3.本書適合從事嵌入式虛擬化領(lǐng)域開發(fā)的技術(shù)人員,或者任何想了解如何在嵌入式系統(tǒng)上實(shí)現(xiàn)虛擬機(jī)管理程序的專業(yè)人員。文章來源:http://www.zghlxwxcb.cn/news/detail-777210.html
內(nèi)容簡(jiǎn)介
伴隨著物聯(lián)網(wǎng)設(shè)備的指數(shù)級(jí)增長(zhǎng),在需要高算力的場(chǎng)景,例如軟件定義汽車駕駛艙、工業(yè)領(lǐng)域的工作負(fù)載整合,開源虛擬化技術(shù)在嵌入式系統(tǒng)上受到了越來越多的關(guān)注和應(yīng)用。本書首先介紹虛擬化技術(shù)的基本原理,包括CPU虛擬化、內(nèi)存虛擬化、中斷虛擬化和設(shè)備虛擬化,對(duì)比KVM在云服務(wù)器上參考實(shí)現(xiàn),重點(diǎn)介紹了開源嵌入式虛擬機(jī)ACRN的架構(gòu)設(shè)計(jì)、原理和實(shí)現(xiàn)。還特別總結(jié)了虛擬化系統(tǒng)的實(shí)時(shí)性能調(diào)優(yōu)方法和功能安全認(rèn)證實(shí)踐,以及嵌入式虛擬化技術(shù)的典型應(yīng)用場(chǎng)景案例分析。本書作為嵌入式虛擬化技術(shù)入門參考書,通過對(duì)ACRN開源軟件的介紹,幫助讀者從代碼開始了解、學(xué)習(xí)、開發(fā)虛擬機(jī)軟件,掌握嵌入式虛擬化技術(shù)并應(yīng)用于工程實(shí)踐。文章來源地址http://www.zghlxwxcb.cn/news/detail-777210.html
目 錄
推薦序一
推薦序二
前言
第1章 虛擬化技術(shù)概述 / 1
1.1 虛擬化技術(shù)的發(fā)展歷史 / 1
1.2 VMM模型的分類 / 3
1.3 虛擬化技術(shù)的分類 / 4
1.4 云虛擬化與嵌入式虛擬化 / 5
1.4.1 嵌入式虛擬化的背景與原因 / 5
1.4.2 云虛擬化和嵌入式虛擬化
的區(qū)別 / 5
1.5 嵌入式虛擬化技術(shù)的挑戰(zhàn) / 6
1.6 本章小結(jié) / 7
第2章 虛擬化技術(shù)原理 / 8
2.1 通用虛擬化架構(gòu) / 8
2.1.1 虛擬化的基本概念 / 8
2.1.2 虛擬化技術(shù)的基本原理 / 9
2.1.3 虛擬化的主要方式 / 18
2.1.4 VMM的分類 / 19
2.2 云虛擬化和嵌入式虛擬化對(duì)比 / 22
2.3 嵌入式虛擬化的場(chǎng)景 / 23
2.4 嵌入式虛擬化技術(shù)的特征 / 23
2.5 本章小結(jié) / 25
第3章 開源虛擬化技術(shù)—KVM / 26
3.1 KVM的歷史 / 26
3.2 KVM的原理 / 27
3.2.1 KVM的架構(gòu) / 27
3.2.2 KVM API及示例 / 28
3.3 KVM虛擬化實(shí)現(xiàn) / 32
3.3.1 KVM的初始化 / 33
3.3.2 KVM虛擬機(jī)的創(chuàng)建 / 35
3.3.3 CPU虛擬化 / 36
3.3.4 內(nèi)存虛擬化 / 43
3.3.5 中斷虛擬化 / 56
3.4 設(shè)備虛擬化 / 61
3.4.1 仿真設(shè)備 / 61
3.4.2 半虛擬化設(shè)備 / 62
3.4.3 直通設(shè)備 / 63
3.4.4 KVM設(shè)備虛擬化實(shí)現(xiàn) / 64
3.5 本章小結(jié) / 68
第4章 嵌入式虛擬化技術(shù)—
ACRN實(shí)現(xiàn) / 69
4.1 ACRN簡(jiǎn)介 / 69
4.1.1 ACRN的由來 / 69
4.1.2 ACRN的關(guān)鍵技術(shù)特點(diǎn) / 70
4.1.3 許可證和社區(qū) / 71
4.2 ACRN應(yīng)用場(chǎng)景 / 71
4.3 ACRN架構(gòu)設(shè)計(jì) / 73
4.3.1 ACRN 1.0整體架構(gòu) / 73
4.3.2 ACRN 2.0/3.0 整體架構(gòu) / 74
4.3.3 ACRN的關(guān)鍵組成 / 75
4.3.4 ACRN Hypervisor的架構(gòu) / 76
4.4 CPU虛擬化與實(shí)現(xiàn) / 77
4.4.1 處理器管理 / 79
4.4.2 vCPU 生命周期 / 80
4.4.3 vCPU調(diào)度 / 80
4.4.4 VMX 初始化 / 85
4.4.5 CPUID 虛擬化 / 85
4.4.6 MSR虛擬化 / 86
4.4.7 CR虛擬化 / 86
4.4.8 IO/MMIO模擬 / 86
4.4.9 指令模擬 / 87
4.4.10 TSC 模擬 / 88
4.4.11 ART虛擬化 / 88
4.4.12 XSAVE虛擬化 / 89
4.5 內(nèi)存虛擬化及實(shí)現(xiàn) / 90
4.5.1 概述 / 90
4.5.2 Hypervisor物理內(nèi)存管理 / 91
4.5.3 Hypervisor內(nèi)存虛擬化 / 93
4.5.4 與EPT相關(guān)的VM Exit / 96
4.5.5 服務(wù)虛擬機(jī)內(nèi)存管理 / 96
4.5.6 可信 / 97
4.6 中斷虛擬化及實(shí)現(xiàn) / 98
4.6.1 概述 / 98
4.6.2 物理中斷 / 100
4.6.3 虛擬中斷 / 105
4.6.4 中斷重映射 / 107
4.7 I/O虛擬化及實(shí)現(xiàn) / 110
4.7.1 I/O訪問捕獲路徑 / 111
4.7.2 Hypervisor中的I/O模擬 / 112
4.7.3 I/O請(qǐng)求 / 112
4.8 本章小結(jié) / 115
第5章 嵌入式虛擬化技術(shù)—
ACRN設(shè)備虛擬化 / 116
5.1 ACRN設(shè)備模型介紹 / 116
5.2 ACRN全虛擬化設(shè)備 / 119
5.2.1 PS/2控制器 / 119
5.2.2 UART串口 / 121
5.2.3 USB設(shè)備 / 122
5.2.4 AHCI控制器 / 125
5.2.5 系統(tǒng)時(shí)鐘 / 126
5.2.6 看門狗設(shè)備 / 131
5.2.7 Ivshmem / 132
5.2.8 顯卡設(shè)備 / 134
5.3 ACRN的virtio設(shè)備 / 135
5.3.1 ACRN的virtio框架實(shí)現(xiàn) / 135
5.3.2 virtio-net / 139
5.3.3 virtio-blk / 141
5.3.4 virtio-input / 143
5.3.5 virtio-console / 144
5.3.6 virtio-i2c / 146
5.3.7 virtio-gpio / 148
5.3.8 virtio-rnd / 150
5.3.9 virtio-gpu / 151
5.4 本章小結(jié) / 152
第6章 嵌入式虛擬化技術(shù)—
ACRN安裝使用 / 153
6.1 系統(tǒng)環(huán)境硬件配置 / 153
6.1.1 開發(fā)環(huán)境搭建 / 153
6.1.2 目標(biāo)機(jī)硬件配置要求 / 154
6.2 ACRN支持三種模式的場(chǎng)景 / 154
6.2.1 共享模式的場(chǎng)景 / 155
6.2.2 分區(qū)模式的場(chǎng)景 / 156
6.2.3 混合模式的場(chǎng)景 / 156
6.3 安裝部署流程 / 157
6.4 安裝部署入門指南 / 159
6.4.1 選擇硬件和場(chǎng)景 / 160
6.4.2 準(zhǔn)備開發(fā)機(jī)環(huán)境 / 160
6.4.3 準(zhǔn)備目標(biāo)機(jī)并生成目標(biāo)
平臺(tái)配置文件 / 162
6.4.4 編譯ACRN / 169
6.4.5 在目標(biāo)機(jī)上安裝ACRN / 170
6.4.6 啟動(dòng)ACRN和服務(wù)
虛擬機(jī) / 171
6.4.7 啟動(dòng)用戶虛擬機(jī) / 171
6.5 本章小結(jié) / 172
第7章 嵌入式虛擬化技術(shù)——實(shí)時(shí)
性能優(yōu)化 / 173
7.1 整體架構(gòu)設(shè)計(jì) / 173
7.1.1 實(shí)時(shí)性的分類 / 175
7.1.2 實(shí)時(shí)性的優(yōu)化準(zhǔn)則 / 175
7.2 ACRN虛擬機(jī)優(yōu)化 / 177
7.3 CPU優(yōu)化 / 179
7.4 中斷優(yōu)化 / 180
7.5 內(nèi)存優(yōu)化 / 181
7.5.1 緩存分配技術(shù) / 182
7.5.2 軟件SRAM / 185
7.6 I/O虛擬化 / 186
7.6.1 GPU直通 / 187
7.6.2 其他設(shè)備虛擬化 / 188
7.7 客戶機(jī)優(yōu)化—實(shí)時(shí)操作系統(tǒng) / 188
7.8 工具輔助優(yōu)化 / 189
7.8.1 ACRNTrace介紹 / 189
7.8.2 vmexit命令 / 191
7.8.3 PMU的數(shù)據(jù)分析 / 192
7.8.4 RTOS的實(shí)時(shí)性基準(zhǔn)測(cè)試工具 / 192
7.8.5 Intel TCC的介紹 / 194
7.9 虛擬機(jī)間通信 / 197
7.10 本章小結(jié) / 198
第8章 嵌入式實(shí)時(shí)操作系統(tǒng) / 199
8.1 RTOS介紹 / 199
8.1.1 常見的RTOS / 199
8.1.2 從GPOS到RTOS的轉(zhuǎn)換 / 200
8.1.3 RTOS運(yùn)行在虛擬機(jī)上的
注意事項(xiàng) / 200
8.2 Xenomai / 201
8.2.1 Xenomai的起源 / 201
8.2.2 Xenomai的特性 / 202
8.2.3 Xenomai 3.1系統(tǒng)架構(gòu) / 204
8.3 PREEMPT_RT Linux / 205
8.3.1 PREEMPT_RT Linux的起源 / 206
8.3.2 PREEMPT_RT Linux的發(fā)展 / 206
8.3.3 PREEMPT_RT的特性 / 207
8.4 Zephyr / 213
8.4.1 Zephyr的起源 / 213
8.4.2 Zephyr的特點(diǎn) / 213
8.4.3 Zephyr的系統(tǒng)架構(gòu) / 214
8.4.4 Zephyr的實(shí)現(xiàn) / 219
8.5 本章小結(jié) / 224
第9章 嵌入式虛擬化技術(shù)賦能功能安全 / 226
9.1 功能安全背景 / 226
9.2 功能安全概述 / 227
9.2.1 風(fēng)險(xiǎn)概念 / 229
9.2.2 功能安全標(biāo)準(zhǔn)的基本
術(shù)語與定義 / 230
9.2.3 風(fēng)險(xiǎn)和安全完整性 / 232
9.2.4 系統(tǒng)功能安全 / 234
9.2.5 軟件功能安全 / 236
9.3 典型軟件安全設(shè)計(jì) / 236
9.4 混合關(guān)鍵性系統(tǒng) / 239
9.4.1 混合關(guān)鍵性系統(tǒng)典型應(yīng)用場(chǎng)景 / 239
9.4.2 QNX Hypervisor / 241
9.5 ACRN賦能混合關(guān)鍵性系統(tǒng) / 243
9.5.1 安全目標(biāo) / 245
9.5.2 系統(tǒng)級(jí)安全措施 / 246
9.5.3 獨(dú)立性相關(guān)安全措施 / 247
9.5.4 安全分析 / 248
9.5.5 系統(tǒng)化開發(fā)流程 / 249
9.5.6 安全狀態(tài)設(shè)計(jì) / 253
9.5.7 安全架構(gòu)設(shè)計(jì) / 254
9.5.8 安全需求概述 / 256
9.5.9 使用限制 / 261
9.6 嵌入式虛擬化技術(shù)的功能
安全價(jià)值 / 265
9.7 本章小結(jié) / 265
第10章 應(yīng)用案例—智能數(shù)控
系統(tǒng)和數(shù)字孿生 / 266
10.1 行業(yè)概述 / 266
10.2 行業(yè)挑戰(zhàn)與需求 / 266
10.3 解決方案 / 267
10.4 具體實(shí)現(xiàn) / 268
10.4.1 架構(gòu)設(shè)計(jì) / 268
10.4.2 虛擬機(jī)與云端應(yīng)用的
協(xié)同機(jī)制 / 270
10.4.3 編譯及安裝 / 271
10.5 方案優(yōu)勢(shì) / 272
10.6 本章小結(jié) / 273
第11章 應(yīng)用案例—基于機(jī)器視覺和機(jī)器
控制的工作負(fù)載整合 / 274
11.1 行業(yè)概述 / 274
11.1.1 邁向工業(yè)4.0 / 274
11.1.2 物聯(lián)網(wǎng)中的工作負(fù)載整合 / 275
11.1.3 現(xiàn)代工業(yè)物聯(lián)網(wǎng)模型 / 275
11.2 行業(yè)挑戰(zhàn)與需求 / 276
11.2.1 工業(yè)自動(dòng)化需要數(shù)字化轉(zhuǎn)型 / 276
11.2.2 軟件定義的基礎(chǔ)設(shè)施幫助
工業(yè)數(shù)字化轉(zhuǎn)型 / 277
11.2.3 將軟件定義的基礎(chǔ)設(shè)施應(yīng)用于
工業(yè)自動(dòng)化 / 277
11.2.4 在工業(yè)領(lǐng)域進(jìn)行工作負(fù)載整合
的需求 / 279
11.2.5 工業(yè)控制領(lǐng)域的工作負(fù)載
整合案例—機(jī)器視覺和
機(jī)器控制 / 280
11.3 解決方案 / 281
11.3.1 負(fù)載整合技術(shù)方案—虛擬化
和容器化 / 281
11.3.2 通過虛擬化技術(shù)實(shí)現(xiàn)工作
負(fù)載整合 / 282
11.4 具體實(shí)現(xiàn) / 284
11.4.1 機(jī)器視覺—運(yùn)行在人機(jī)交互
虛擬機(jī)里 / 284
11.4.2 機(jī)器控制—運(yùn)行在實(shí)時(shí)
虛擬機(jī)里 / 285
11.4.3 服務(wù)虛擬機(jī)—為整機(jī)系統(tǒng)
提供后臺(tái)服務(wù) / 285
11.4.4 嵌入式虛擬機(jī)管理程序—
ACRN Hypervisor / 286
11.4.5 硬件資源和I/O設(shè)備的分配 / 286
11.4.6 虛擬機(jī)間通信 / 287
11.4.7 物理硬件平臺(tái)—基于x86的
工控機(jī) / 287
11.4.8 性能調(diào)優(yōu) / 287
11.4.9 安裝步驟示例 / 288
11.5 方案優(yōu)勢(shì) / 288
11.6 本章小結(jié) / 289
第12章 應(yīng)用案例—自主移動(dòng)機(jī)器人 / 290
12.1 行業(yè)概述 / 290
12.2 行業(yè)挑戰(zhàn)與需求 / 290
12.3 解決方案 / 291
12.4 具體實(shí)現(xiàn) / 292
12.5 安裝步驟示例 / 295
12.6 方案優(yōu)勢(shì) / 295
12.7 本章小結(jié) / 296
第13章 應(yīng)用案例—軟件定義汽車
駕駛艙 / 297
13.1 行業(yè)概述 / 297
13.1.1 多個(gè)獨(dú)立ECU的實(shí)現(xiàn) / 298
13.1.2 軟件定義駕駛艙 / 299
13.2 行業(yè)挑戰(zhàn)與需求 / 300
13.3 解決方案 / 302
13.4 具體實(shí)現(xiàn) / 303
13.4.1 基于x86架構(gòu)的SoC / 304
13.4.2 ACRN Hypervisor / 304
13.4.3 儀表盤系統(tǒng)—服務(wù)
虛擬機(jī) / 304
13.4.4 中控娛樂系統(tǒng)—用戶
虛擬機(jī) / 304
13.4.5 Intel GVT-g圖形顯卡共享 / 305
13.5 編譯及安裝 / 306
13.6 方案優(yōu)勢(shì) / 307
13.7 軟件定義駕駛艙的未來展望 / 307
13.8 本章小結(jié) / 308
附錄 / 309
附錄A Xenomai及其應(yīng)用程序的
編譯和安裝 / 309
附錄B PREEMPT_RT Linux的
編譯和安裝 / 316
附錄C Zephyr的編譯和安裝 / 319
附錄D 在ACRN上安裝運(yùn)行兩個(gè)
虛擬機(jī) / 323
附錄E ROS 2安裝與使用示例 / 331
技術(shù)術(shù)語表 / 335
參考文獻(xiàn) / 342
到了這里,關(guān)于從云計(jì)算到物聯(lián)網(wǎng):虛擬化技術(shù)的演變與嵌入式系統(tǒng)的融合的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!