我对Hypervisor & Virtual的理解是,hypervisor是一个程序(要么运行在主机OS上,要么运行裸金属作为主机),它利用二进制兼容的设备驱动程序和一系列其他技术,以孤立的“虚拟”来宾机器的形式提供硬件仿真,所有这些都共享主机的硬件和外围设备。
我对Linux容器的理解是,Linux内核包含一个本机hypervisor,它允许这种相同类型的功能,但由于某种原因,它比传统的I/II管理程序及其VM轻量级得多。我的理解是,Docker在原始Linux容器上做了更多的改进,尽管我不确定具体是如何改进的。
我对Library OSes的理解是,它们是许多Linux库和包的一部分,有效地使您可以将自己的"Frankenstein“Linux发行版从一组特定于应用程序的最小化库中缝合起来。
我对Unikernel的理解是,它与库操作系统本质上是一样的,但是(不知怎么的?)更多的窒息和缩小。
我对不可变服务器的理解是,它是在构建时配置一次的服务器,并且在开始运行后不会更改其配置或内部状态。
因此,首先,如果我已经断言到目前为止是不正确或误导,请开始纠正我!假设我或多或少在这些方面上了轨道:
发布于 2015-05-19 06:50:44
单核背后的直觉与OpenMirage (a.k.a. )MirageOS)是为某些虚拟机管理程序(如Xen )编写一个专门的“内核”类程序(几乎运行在裸金属上,但实际上却是这样),它将运行几十个这样的单内核。
注意,OpenMirage unikernels与Linux内核共享很少的代码(AFAIK,none) (因为它们大多是用Ocaml编写的,而不是用C!);例如,它们的TCP堆栈是不同的。
库操作系统几乎是一个时髦的词,意义不大。阅读例如关于出入口的想法。OSkit项目(可能在2003年就死了)封装了Linux内核子系统和驱动程序,为人们提供了一些库,以使内核像软件一样。
Linux发行版的一些专门变体使您能够使用一个普通的linux内核,但是很少有特定的实用程序(但是接下来您使用的是一个普通的Linux内核,可能是您自己的init-like程序,或者仅仅是使用一些通常的init或systemd启动的专门程序)。许多嵌入式Linux (包括安卓)都是这样使用的,例如OpenWRT,但是用户地软件正在做系统(2)中列出的普通Linux 系统。
docker是一种软件容器 (即某种操作系统级虚拟化或沙盒)。也请参阅克鲁特,以及色度(2) & 人格(2) & 集(2)系统。
还可以阅读(Linux专用的) 全权证书(7)、能力(7)、命名空间(7)。
https://softwareengineering.stackexchange.com/questions/284261
复制相似问题