深入理解虚拟机原理与实现

现代计算机系统在系统的物理资源大大增加的同时,其物理实现也变得极为复杂,在可扩展性、可靠性、可用性、可管理性和安全性等方面都遇到了难以用单点体系结构技术来解决的一系列问题。

虚拟机用一层软件包裹硬件,从而使得计算机灵活可变。虚拟机正在发展的一些虚拟机新技术能够实现在同一种硬件上运行多个操作系统和执行多套指令集,并允许程序在执行过程中切换机器。同时改变计算机和网络系统及编程语言的实现方法,甚至排斥不安全的代码,在应对一系列问题上越来越显现出前所未有的重要性。

一、虚拟机原理与模型

1、虚拟机简介

虚拟机顾名思义就是虚拟出来的计算机,或指由软件提供且运行于物理计算机上模拟出来具有完整硬件系统功能和运行在一个完全隔离环境中的完整的计算机系统或称为“逻辑上的计算机”,它与真实的计算机几乎完全一样。

也就是说人们在当前使用的操作系统基础上安装并利用专门的虚拟机软件就可以虚拟出若干台计算机来,每台有各自的CPU、内存、硬盘、光驱、软驱、网卡、声卡、键盘、鼠标、串口、并口和USB口等“硬件”设备。当然这些硬件都是虚拟的,实质上还是在使用物理计算机中相应的硬件。这些虚拟的计算机可以独立运行,安装各自的操作系统、应用软件和杀毒软件等,可以如平时使用的计算机一样使用它们。

虚拟机在软件和硬件之间引入虚拟层,可为应用提供独立的运行环境。它屏蔽硬件平台的动态性、分布性和异构性,支持硬件资源的共享和复用并为每个用户提供属于个人的独立和隔离的计算环境;同时,为管理员提供硬件资源和软件资源的集中管理。

从静态的角度看,虚拟机是一类系统软件,又称为“虚拟机监视器”(Virtual Machine Monitor,VMM)。其核心功能是截获软件对硬件接口的调用,并重新解释为对虚拟硬件的访问;从动态的角度看,虚拟机是一个独立运行的计算机系统

你可能感兴趣的:(虚拟化技术,SDN,NFV,云计算技术,OpenStack,java,运维,开发语言)