本文主要是介绍LXC/KVM/XEN区别(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注:Android系统攻城狮
Anbox是一个免费的开源兼容层,旨在允许为Android开发的移动应用程序和移动游戏在GNU / Linux发行版上运行。 使用LXC执行Android运行时环境,将Android的目录结构重新创建为可安装的循环映像。
Anbox 是一个免费的开源兼容层,旨在允许为 Android 开发的移动应用程序和移动游戏在 GNU / Linux 发行版上运行。 它通过使用 LXC 执行 Android 运行时环境,将 Android 的目录结构重新创建为可安装的循环映像,同时使用本机 Linux 内核来执行应用程序。
Anbox 使用 Linux 命名空间机制(user,pid,uts,net,mount,ipc)在容器中运行完整的 Android 系统,并在任何基于 GNU/Linux 的平台上提供 Android 应用。
容器内的 Android 没有直接访问任何硬件的权限。所有的硬件访问通过主机上的 anbox 守护进程。我们复用基于 QEMU 的模拟器中为 Android 所做的 OpenGL ES 加速渲染的实现。容器内的 Android 系统使用不同的管道与主机系统通信,并通过它们发送所有的硬件访问命令。
一、LXC/LXD: 基于liux操作系统
LXC或Linux容器是基于操作系统的基本操作系统内核的轻量级和可移植操作系统,但同时充当具有自己的文件系
统,进程和TCP/IP堆栈的隔离环境。因此容器不会再次创建整个操作系统或内核。 并且多个容器共享相同的内核,并且每个容器可以被约束为仅使用
定义数量的资源,例如CPU,内存和 I/O.它们可以与FreeBSD上的Solaris Zones或Jails进行比较。 由于没有虚拟化开销,因此它们的性能远远优于
虚拟机。 二、XEN:基于cpu硬件指令
XEN: Linux相关的虚拟机管理程序.三、KVM:基于cpu硬件指令
VirtualBox和VMware将安装在大多数具有x86处理器的计算机上,但KVM要求处理器支持Intel-VT或AMD-VT扩展,并且这些扩展在BIOS中启用。KVM虚拟化可让您启动不同的完整操作系统种类,甚至非Linux系统。
KVM表示在自己的Linux内核中构建的虚拟化功能。它只是管理程序,即它不是在裸机上运行。
五、LXC容器与市面是其他虚拟机最大的区别:
1.它是基于Linux内核,而不是基于CPU硬件指令集,LXC是一个轻量级的操作系统
2.LXC基于Host机器虚拟的容器,只有一个Host机器的内核;
调用流程是:--->app--->lxc容器--->真正HOST OS(只有宿主HOST一个OS)--->硬件3.其他虚拟机则不是,如KVM会在本身的OS里,会虚拟出多个虚拟OS。
调用流程是:--->app--->虚拟OS(可以有多个虚拟OS)--->真正 HOST OS--->硬件 如下图所示区别:
这篇关于LXC/KVM/XEN区别(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!