首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >容器和过程VM(而不是系统VM)之间有什么区别?

容器和过程VM(而不是系统VM)之间有什么区别?
EN

Stack Overflow用户
提问于 2022-04-21 13:51:07
回答 2查看 93关注 0票数 0

据我所知..。

考虑到以上情况,我试图把我的头脑集中在容器和处理am (而不是系统am)之间的区别上。换句话说,OS级服务器虚拟化和应用程序虚拟化有什么区别?

从技术上讲,这不是指同一件事:使用抽象环境底层操作系统的软件创建的独立于平台的软件执行环境?

虽然有人说容器所实现的隔离是一个关键的区别,但也有人说系统VM 仅限于虚拟机提供的资源和抽象

EN

回答 2

Stack Overflow用户

发布于 2022-04-21 19:18:46

OS级虚拟化旨在为特定的操作系统运行未修改的应用程序。应用程序只能通过OS与外部世界通信,因此该API上的虚拟化组件允许向在不同的虚拟化上下文(容器)中运行的应用程序呈现不同的外部世界映像(例如内存量、网络配置、进程列表)。通常,应用程序运行在“真实的”CPU上(如果还没有虚拟化的话),并且不需要(有时也不需要)知道操作系统所呈现的环境是经过某种方式过滤的。它不是独立于平台的软件执行环境。

另一方面,应用程序VM的目标是运行为该VM专门准备的应用程序。例如,Java解析为“处理器”编译的字节码,该字节码与实际的CPU没有什么共同之处。有一些CPU可以本地运行一些Java字节代码,但是一般的概念是为不同的“真实”OS平台上的软件解释提供一个有效的字节码。要使其工作,JVM必须提供一些所谓的本机代码来与运行它的OS调用进行接口。您可以在Sparc、ARM、Intel等上运行您的程序,前提是您有特定于OS的整数应用程序,并且您的字节码符合规范。

票数 0
EN

Stack Overflow用户

发布于 2022-04-21 20:27:56

我已经为你创建了一个图形表示,它更容易(对我)解释这样的差异,我希望它能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71955661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档