当前位置: 首页 > news >正文

Hypervisor 和Docker 还有Qemu有什么区别与联系?

Hypervisor

Hypervisor是一种运行在基础物理服务器和操作系统之间的中间软件层,可以让多个操作系统和应用共享硬件资源,也叫做虚拟机监视器(VMM)¹。

Hypervisor有两种类型:Type I和Type II²。

Type I 直接运行在硬件上,例如KVM,Xen,Hyper-V等。

Type II 运行在一个已有的操作系统上,例如VMware Workstation,VirtualBox等。

Docker

Docker是一种操作系统虚拟化(也叫容器化)的技术,可以在同一个操作系统内核下创建多个隔离的虚拟环境,也叫做容器(Container)³。Docker相比Hypervisor,更省资源,启动速度更快,部署更方便,但隔离性不如Hypervisor⁴。

Qemu

Qemu是一种模拟器,可以在不同的硬件平台上运行不同的操作系统和应用⁵。Qemu可以单独使用,也可以配合KVM使用,提高虚拟化的性能。Qemu和Docker的区别是,Qemu模拟的是整个硬件,而Docker只模拟的是操作系统的一部分。

总的来说,Hypervisor,Docker和Qemu都是虚拟化技术,但各有优势和适用场景。Hypervisor适合运行不同的操作系统,提供高度的隔离和安全性。Docker适合运行相同的操作系统,提供高效的资源利用和部署便捷性。Qemu适合运行不同的硬件平台,提供灵活的模拟和兼容性。

 


参考链接:
(1) Docker,K8s,KVM,Hypervisor和微服务有什么区别联系吗? - 知乎. https://www.zhihu.com/question/307537564.
(2) 虚拟化软件Docker、Wine、Qemu、KVM有什么区别? - 知乎. https://www.zhihu.com/question/540942002?write.
(3) docker和kvm的区别,简洁大白话篇,两者的优势对比_docker与kvm对比-CSDN博客. https://blog.csdn.net/qing1912/article/details/109387936.
(4) 云平台、虚拟化与容器:Hypervisor、KVM、QEMU、Libvirt、Docker、OpenStack. https://blog.csdn.net/Linagge/article/details/104755823.
(5) Hypervisor, KVM, QEMU总结 -腾讯云开发者社区-腾讯云. https://cloud.tencent.com/developer/article/1471036.

https://www.zhihu.com/question/540942002?write 

 

 

相关文章:

  • 鸿蒙开发案列一
  • 基本的 Socket 模型
  • 反序列化字符串逃逸(上篇)
  • 【.NET Core】深入理解异步编程模型(APM)
  • python基础 - 变量
  • 78.网游逆向分析与插件开发-背包的获取-背包类的C++还原与获取物品名称
  • Python基础之文件操作(I/O)
  • html 3D 倒计时爆炸特效
  • mac os电脑用n切换node版本
  • 【ARM 嵌入式 C 入门及渐进7 -- C代码中的可变参数宏详细介绍】
  • 【0247】PG内核checkpoint实现机制分析(2)
  • QT发送request请求
  • Kubernetes(K8S)拉取本地镜像部署Pod 实现类似函数/微服务功能(可设置参数并实时调用)
  • html火焰文字特效
  • MySQL修炼手册12:视图:简化复杂查询与保护数据
  • 深入了解以太坊
  • @angular/forms 源码解析之双向绑定
  • Android框架之Volley
  • ES6系统学习----从Apollo Client看解构赋值
  • JS字符串转数字方法总结
  • mongo索引构建
  • React-Native - 收藏集 - 掘金
  • Sequelize 中文文档 v4 - Getting started - 入门
  • SpiderData 2019年2月25日 DApp数据排行榜
  • SwizzleMethod 黑魔法
  • Vue2.x学习三:事件处理生命周期钩子
  • 多线程事务回滚
  • 构建二叉树进行数值数组的去重及优化
  • 近期前端发展计划
  • 力扣(LeetCode)56
  • 如何设计一个比特币钱包服务
  • 深度学习在携程攻略社区的应用
  • 深入浅出webpack学习(1)--核心概念
  • 使用parted解决大于2T的磁盘分区
  • 算法之不定期更新(一)(2018-04-12)
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 项目管理碎碎念系列之一:干系人管理
  • 小程序button引导用户授权
  • 一个项目push到多个远程Git仓库
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 第二十章:异步和文件I/O.(二十三)
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​LeetCode解法汇总518. 零钱兑换 II
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (转)http协议
  • (转)ORM
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (转载)(官方)UE4--图像编程----着色器开发
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • *Django中的Ajax 纯js的书写样式1
  • .java 9 找不到符号_java找不到符号