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

服务器和桌面机虚拟化一直占据有相当大的版面,随着云计算和存储的兴起,虚拟化技术更被热捧,还有一种虚拟化技术发展迅猛--嵌入式虚拟化。嵌入式虚拟化是指嵌入式系统中部署虚拟机监控程序。尽管嵌入式设备一直受到严格的资源限制,但今天的设备范围广泛--从拥有服务器级功能(比如对虚拟化的硬件支持)的强大处理器到拥有计较少容量和资源的功耗优化系统。如果向嵌入式系统添加一个虚拟机监控程序,将添加灵活性和一些高级功能,将嵌入式设备转变为一种新型系统。

嵌入式领域包含几个有用的虚拟化应用领域:移动设备、安全性内核和并发性嵌入式操作系统。本文介绍了智能终端中虚拟化技术的应用。

(一)虚拟化技术概述

虚拟化是指计算机软件在一个虚拟的平台上而不是真实的硬件平台上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。其中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()访问该结构体数组,获取虚拟内存地址。

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

时间: 2024-11-16 10:56:18

虚拟化技术在智能终端的应用的相关文章

让网络更轻盈——网络功能虚拟化技术的现状和未来(中兴通讯)

让网络更轻盈--网络功能虚拟化技术的现状和未来 2014-08-19     作者:周宇翔(中兴通讯) 随着智能终端和移动互联网的发展,"通信"早已脱离传统的话音和短信,人与人广泛连接,甚至物物相连也成为可期的未来,各种OTT类新业务和商业模式不断在挑战运营商的传统优势地位.传统电信网络基于私有平台部署,采用专用设备,部署周期长.运维复杂,一些运营商意识到想要轻盈转身,必须向这些互联网运营商学习,从根本上改变电信网络的部署和运维方式.2012年10月,AT&T.英国电信.德国电

49 Linux操作系统原理、虚拟化技术基础原理

04 虚拟化技术基础原理 一.配置虚拟化网络 1.编辑配置文件 #关闭NetworkManager [[email protected] ~]# service NetworkManager stop [[email protected] ~]# chkconfig NetworkManager off    [[email protected] ~]# chkconfig --list NetworkManager NetworkManager  0:关闭  1:关闭  2:关闭  3:关闭

KVM虚拟化技术(二)KVM介绍

KVM:Kernel Virtual Machine KVM是基于虚拟化扩展的x86硬件,是Linux完全原生的全虚拟化解决方案.部分半虚拟化支持,主要是通过半虚拟网络驱动程序的形式用于Linux和Windows客户机系统的. KVM被设计为是一个内核模块,支持广泛的客户机操作系统:在KVM架构中,虚拟机实现为常规的Linux进程.这使KVM能够享受Linux内核的所有功能. KVM模块是KVM虚拟机的核心部分.其主要功能是初始化CPU硬件,打开虚拟化模式,然后将虚拟机客户机运行在虚拟机模式下,

Windows Server 2016 Hyper-v 嵌套虚拟化技术

我们前面已经有文章介绍了,近期微软正式发布了Windows Server2016,对于里面的功能更变确实变化很大,具体就不多介绍了,我们今天主要介绍的是windows server 2016下的Hyper-v的虚拟化嵌套技术,对于很多管理员来说,在日常的运维中会遇到很多突发问题,所以我们需要通过实验环境进行模拟测试,之前公司环境内部署了一条Hyper-v集群,所以借机想到做一次windows server 2016 Hyper-v的集群测试(Hyper-v虚拟机内运行Hyper-v虚拟机),在测

KVM虚拟化技术(一)虚拟化简介

一 .虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率. 虚拟化的类型: 全虚拟化 半虚拟化(涉及修改guestos内核,因此仅支持开源kernel的系统) 硬件辅助虚拟化(主板上开启虚拟化支持) 几种虚拟化软件简介 KVM 完全虚拟化 架构:寄居架构(linux

虚拟化技术原理

每一个I/O设备的组成由两部分组成: 设备控制器和设备本身 控制器:集成在主板上的一块芯片或一组芯片 真正的硬件操作都是由驱动完成 驱动程序:通常由设备生产商制作的,一般位于内核中 每个控制器都有少量的用于通信的寄存器,每个一寄存器表现为一个I/O端口,所有寄存器组合成为设备的IO地址空间 IO端口是在开机时,向主机的I/O端口空间注册使用的(0-65535),是cup通过总线跟设备打交道的地址 实现输入.输出: 三种方式: 1.轮训:cpu处于忙等待状态 2.中断:网卡收到数据时,立即向中断控

如何学习VMware虚拟化技术

如何学习VMware虚拟化技术 虚拟化与云计算,是一项综合的技术,需要掌握网络.存储.服务器等方面的知识,有一定的动手实践能力. 1 需要有VMware Workstation与网络基础 如果你只是一个初学者,能给自己的笔记本.台式机安装操作系统,安装Office.QQ等常用软件,那么,你可以先从VMware Workstation学起,你只要有一台配置了最低4GB内存的Windows 7操作系统的计算机,有一定的网络搜索能力(从网上下载常用操作系统的镜像.VMware Workstation软

虚拟化技术简介(转载学习)

虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率. 几种虚拟化软件 1.RedHat KVM虚拟化方式:完全虚拟化 架构:寄居架构(linux内核);祼金属架构RHEV-H 特点:祼金属架构RHEV-H或在关键的硬盘和网卡上支持半虚拟化VirtIO,达到最佳性能.

虚拟化技术比较 PV HVM

XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用于linux内核的系统,效率更高,hvm可以虚拟所有常见操作系统(可以使用windows),理论效率比pv略低,另外,hvm需要cpu虚拟化指令支持(CPU 必须开启Intel VT or AMD -V),pv无此要求.KVM是新兴的虚拟化项目,出售KVM的VPS商家不多,但据说KVM虚拟技术是比较强悍的.而OpenVZ是一个类似于Linux-VServer的操作系级全虚拟化解决方案,目前基于Xen和OpenVZ的VPS服务商比较多.本文就VP