虚拟机的三个级别

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

  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等

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值