Unikernel基础知识

Unikernel基础知识

简介

  • Unikernel 是专用的,单地址空间的,使用 library OS 构建出来的镜像。

  • Unikernel没有用户空间与内核空间之分,只有一个连续的地址空间。这样使得 Unikernel 中只能运行一个应用;

  • 对于运行的应用而言,没有硬件抽象可言,所有的逻辑,包括应用逻辑和操作硬件的逻辑,都在一个地址空间中。

特点

  • 小:Unikernel 镜像都很小,由 MirageOS 实现的一个 DNS server 才 184KB,实现的一个 web server 674 KB,小到恐怖的程度。

  • 快:因为镜像都很小,所以起停都在毫秒级别,比传统的 kernel 要快多了。

  • 安全:Unikernel 中没有 Shell 可用,没有密码文件,没有多余的设备驱动,这使得 Unikernel 更加安全。

Unikernel, Docker,Hyper 与 Linuxkit

Unikernel,是另一种形式上的容器。

在一个 Unikernel 中,只能运行一个应用,这与容器的哲学不谋而合。但现在容器最吸引人的特性并不是它的便捷,而是在它的分发。Docker 让我们看到了,原来应用的分发可以这么无痛。而 Unikernel 与容器相比,虽然可以做的更小更安全,而且也不需要有 Docker Daemon 这样的后台程序存在,甚至不需要 Host OS,或者 Hypervisor,但是它一是与传统的软件过程有较大的出入,二是在分发等等方面不能做到像容器那样方便。所以它目前肯定不会成为主流的应用分发方式,还需要进一步探索。

为了能够让 Unikernel 尽快进入生产环境,有一项工作很值得关注。

参考

  1. https://gaocegege.com/Blog/%E5%AE%89%E5%88%A9/unikernel-book

  2. Unikernel: 从不入门到入门

updatedupdated2024-08-252024-08-25