我是靠谱客的博主 热心鸡,最近开发中收集的这篇文章主要介绍虚拟机的三个级别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

虚拟机有三个级别,分别从硬件层到应用层

  1. 硬件虚拟机:一般也被称为抽象机,是在硬件层面抽象出一个主机,可以安装各类型的操作系统,等于虚拟出一套硬件系统。典型代表:VMware,virtualbox

  2. 操作系统虚拟机:在操作系统层面重新构写其他操作系统的api,实现操作系统之间的兼容。典型代表:wine

  3. 代码运行环境虚拟机:提供一个程序运行时的环境,如java,python,lua等语言的运行环境

如果需要不同的操作系统平台,一般用硬件虚拟机,如部署hadoop。如果需要不同的编译解释环境,一般用运行环境虚拟机,如安装spark和zepplin等。操作系统级别用的较少。

以下是我看到得另一种分类方法,分为四层

  1. 模拟硬件的虚拟机

    此类虚拟机的用户是操作系统,也就是硬件层虚拟机抽象出了一个计算机硬件体系,此类虚拟机模拟的是cpu指令集。

    典型有kvm,vmware等。

  2. 模拟操作系统的虚拟机

    此类虚拟机模拟的是操作系统,准确来说是操作系统的系统调用接口。此类虚拟机(多是基于宿主操作系统提供的功能)能创建多个虚拟运行容器。对于运行在每个容器之中的程序而言,此类虚拟机均提供了一个完整的操作系统,为其中的软件提供了完善的系统调用接口,也就是说模拟的是系统调用。比如docker,docker基于linux的cgroup,否则docker也无法实现虚拟操作系统环境。

  3. API层的虚拟机

    此类虚拟机模拟的是该操作系统的各类用户态API,通常是运行库的函数接口(也就是说模拟的是用户态中各种库的接口函数),总之不是对处理器指令的仿真(绝不是一个层面 )。

  4. 编程语言的虚拟机

    此类虚拟机也称为语言的运行时,运行时环境,即runtime。通过解释或即时编译技术(Just-In-Time,JIT)来运行语言虚拟机指令,从而实现软件的跨平台特性。如java,lua,python等

最后

以上就是热心鸡为你收集整理的虚拟机的三个级别的全部内容,希望文章能够帮你解决虚拟机的三个级别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部