虚拟化技术在智能终端的应用

发布时间:2022-07-23 04:34:02 作者:xianba 阅读量:6730

服务器和桌面机虚拟化一直占据有相当大的版面,随着云计算和存储的兴起,虚拟化技术更 被热捧,还有一种虚拟化技术发展迅猛--嵌入式虚拟化。嵌入式虚拟化是指嵌入式系统中部署虚拟机监控程序。尽管嵌入式设备一直受到严格的资源限制,但 的设备范围广泛--从拥有服务器级功能(比如对虚拟化的硬件支持)的强大处理器到拥有计较少容量和资源的功耗优化系统。如果向嵌入式系统添加一个虚拟机监 控程序,将添加灵活性和一些高级功能,将嵌入式设备转变为一种新型系统。
嵌入式领域包含几个有用的虚拟化应用领域:移动设备、安全性内核和并发性嵌入式操作系统。本文介绍了智能终端中虚拟化技术的应用。
(一)虚拟化技术概述
虚拟化是指计算机软件在一个虚拟的平台上而不是真实的硬件平台上运行。虚拟化技术可以 扩大硬件的容量,简化软件的重新配置过程。其中CPU的虚拟化可以单CPU模拟多CPU并行运行,允许一个平台同时运行多个操作系统,并且应用程序可以在 相互独立的空间内运行而互不影响。虚拟化技术在降低硬件成本的同时,还可以显著提高系统的工作效率和安全性。
虚拟化系统的实现通常是在操作系统和硬件之间加入一个虚拟机监控程序,称为 Hypervisor(如图1所示)。由Hypervisor主要负责各个操作系统之间的硬件资源协调。虚拟机监控程序是一种特殊操作系统,直接在裸机上 运行(针对完全虚拟化技术)。虚拟机监控程序创建一个底层硬件平台抽象,一个或多个虚拟机(VM)共享这个底层硬件平台。在这种环境中,VM 只是操作系统及其应用程序的容器,一个 VM 与虚拟机监控程序上运行的其他 VMs 隔离,这支持多个操作系统或多个配置不同的相似操作系统。
图1  虚拟化系统结构
智能终端虚拟化技术也是通过Hypervisor来实现多个操作系统的硬件资源共享。现有的虚拟化技术方案主要有VirtualLogix的VLX、Open Kernel Labs的OKL4等,这些技术方案虽然实现了不同的Hypervisor,但总体结构相似。
(二)智能终端领域的虚拟化
虚拟化技术使得软件和硬件通过虚拟化技术实现了较松的耦合,系统软件只需要实现很少的 改动能移植到新的硬件平台上。智能终端可以在虚拟平台上运行多个相互隔离的操作系统,提高手机系统的安全性。如将重要数据和安全需求高的应用专门隔离保 护起来,即使某操作系统上的应用软件甚至整个智能操作系统因中毒等崩溃,虚拟化技术可以将重要数据隔离保护起来。另外虚拟化技术还可能减少硬件成本,如果 一颗CPU计算能力足够,可以在一颗CPU上模拟多颗逻辑CPU的执行,将智能操作系统和基带的RTOS运行在同一个CPU上,减少主芯片数量,节约大量 成本。多核平台中也可以通过将CPUs虚拟成虚拟CPU池,所有软件部分都通过虚拟化技术共享这些硬件资源。
如果虚拟化技术在嵌入式领域高度发展,应该可以实现软硬件的极松耦合--所有软件(操作系统,WIFi、蓝牙等微控制程序)共享硬件平台、运行在虚拟硬件层,逻辑硬件间形成统一的逻辑接口,硬件平台支持方便的替换、升级。那时,智能终端将可任意定制。
(三)ARM架构上基于OKL4的Android虚拟化
OKL4是Open Kernel Labs公司的一款虚拟化产品,作为针对嵌入式系统的Hypervisor,OKL4支持经过虚拟化处理的操作系统(包括智能操作系统和RTOS),一些 操作系统的内核组件也进行虚拟化处理,独立运行在OKL4的轻量级执行环境下。OKL4既支持粗粒度的操作系统虚拟机,又支持细粒度的轻量级执行环境。驱 动程序或文件系统等内核组件可直接运行在轻量级执行环境中,其它子系统可以共享该组件,提高了系统的安全性,也提高代码的复用率。基于OKL4的手机虚拟 化结构如图2所示。
图2 OKL4虚拟化系统结构
虚拟机VMM(虚拟机监控器)运行在物理CPU的特权级,对物理资源虚拟的三个主要任务:处理器虚拟化、内存虚拟化和I/O虚拟化。本节通过CPU虚拟化、内存虚拟化介绍ARM架构上基于OKL4的虚拟化Android。
1,CPU虚拟化的设计
OKL4 Hypervisor运行在特权级(6 种特权模式)上,负责管理CPU资源,负责虚拟机的调度和切换,而轻量级执行环境和虚拟机均位于用户模式下,使用OKL4提供的IPC机制进行通信。
在基于OKL4的虚拟化Android系统中,当Android试图访问CPU寄存器 时,该请求不会真正发生在物理寄存器上,相反,OKL4会将访问定位到“虚拟寄存器”。根据不同的处理器体系结构,OKL4定义了一套存放在内存中的“虚 拟寄存器”,这些虚拟寄存器作为线程的本地变量位于线程的用户线程控制块中。通过“虚拟寄存器”,Android不会访问到真实的物理资源,从而实现了操 作系统与CPU资源的隔离。
2,虚拟内存管理
在OKL4虚拟化系统中,Android操作系统使用的内存地址空间其实是OKL4建 立的虚拟地址空间,是由一些物理内存映射而生成的虚拟内存。在OKL4 Hypervisor启动时,一个称为__okl4_environ的全局变量会被初始化,__okl4_environ的成员 okl4_virtmem_item为一个结构体数组,它代表了各个虚拟化子系统(包括操作系统和虚拟化组件)的虚拟内存地址空间。子系统可以通过 OKL4提供的接口OKL4_ENV_GET_ STATIC()访问该结构体数组,获取虚拟内存地址。
存储虚拟化技术在这个新的IT时代之下,仍将持续发挥巨大作用。
 

***本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。

我要评论

网友评论


评论时间:2024-01-27 06:25:02

(4)虚拟主机租什么地方好 根据实际情况设计了一个能够快速响应用户需求的动态调整机制,以适应各种变化的环服务器配置教程 化的环境


评论时间:2023-11-01 18:25:02

17云主机可以挂机游戏吗 .易于维弹性云主机通用入门型 于维护


评论时间:2022-12-15 18:25:02

同时,随着5G时代来临,企业上云化进程加快,传统的以硬件为主的数据中心架云主机和虚拟主机的主要区别 构已经难以满足需求虚拟主机登录面板 快,传统的以硬件为主的数据中心架构已经难以满足需求


评论时间:2022-07-25 06:25:01

那么租用主机又分为哪种类型呢?租用主机可以划分为三种类型:1.独立主机(也叫虚拟主机):在自己的网站上建立属于自己的服务器空间,用户不需要另外投入资金和人力成本,只需简单操作即可实现与服务器进行数服务器系统下载 据交换服务器机柜尺寸大小 可以划分为三种类型:1.独立主机(也叫虚拟主机):在自己的网站上建立属于自己的服务器空间,用户不需要另外投入资金和人力成本,只需简单操作即可实现与服务器进行数据交换

最新文章

 2023-12-25 22:44:35   admin

活动发布区版规

 2023-05-27 22:03:52   御风而行

容器、无服务器、虚拟机:安全性差...

 2023-05-27 19:08:41   小绵羊0123

科技巨头布局云端 服务器 网络硬...

 2023-05-27 18:17:46   姐姐的跟屁虫

钉钉因系统访问流量激增,宕机1小...

热门阅读

 2022-07-23 00:34:02   freeatom

常见ftp命令 FTP命令使用详...

 2022-07-21 02:17:02   ares

双硬盘组建Raid0磁盘阵列图文...

 2022-07-20 06:17:02   mankeung123

用友软件客户端连接不上服务器的解...

 2022-07-23 00:51:02   antonfxb

WebService实例

 2022-07-13 05:38:02   苯小孩

开发、运维不可不看的Linux调...

 2022-07-20 18:51:02   nightstone

如何使用Charles抓取Web...

随机文章

 2021-12-28 05:38:01   xxm830

推荐一款超性价比的百兆独享服务器

 2022-07-19 02:00:05   zldxgz8888

智慧医疗是什么,未来智慧医疗的新...

 2022-07-19 02:34:02   12222211

程序员必备开发工具,使工作事半功...

 2022-07-19 09:17:02   jiongxing

web服务器搭建:apache服...

 2022-07-19 12:34:02   庄稼人

VPS服务器磁盘分区教程

 2022-07-19 13:51:02   wenwen

服务器上线后的基本安全设置(上)

热评文章

 2022-07-19 20:17:02   dengyu0429

linux vi使用及详细介绍

 2022-07-20 01:00:05   激动的舌头

Linux视频教程:用户管理命令...

 2022-07-21 20:51:02   jessica-an

创建本地FTP站点

 2022-02-07 05:38:03   jasonkidd

WEB服务器配置详解

 2022-07-20 04:51:02   wolfssss

ACL权限-默认与递归(4)

 2022-07-22 15:00:05   淡水珊瑚

Linux下 Samba Ser...
全球云服务器
Catfish(鲶鱼) Blog V 4.7.3