unikernel介绍

最近听了一个关于容器的讲座,里面提到docker未来很可能向Unikernel发展,因此查资料学习了下。

定义

参考维基:unikernel由库操作系统组成,是一个特殊的、单地址空间的机器镜像。开发者从中选择模块化栈和最小库集合,组成应用需要的最小化系统架构来运行。这些库跟应用和配置代码一起编译,来构建封闭的、固定用途的镜像(unikernels),可以直接运行在hypervisor或硬件上,而不需要linux和windows这样的操作系统。

其中单地址空间是指,只有一个地址空间,即没有用户空间和内核空间的区分,因此没有用户态和内核态的切换,不需要用户空间和内核空间的数据拷贝。

简单来说,unikernel就是一个精简版的操作系统,去除了运行当前应用不需要的模块。如下图是传统操作系统和Mirage unikernel的对比。
在这里插入图片描述

相关概念-hypervisor

也称作VMM虚拟机监视器,是可以创建和运行虚拟机的软件、固件或硬件。在hypervisor上可以多个虚拟机,提供了虚拟机的隔离可运行不同的操作系统。
具体可参考:

  1. hypervisor
  2. Hypervisor的演化史及未来展望
  3. 虚拟化类型

特点

Unikernel主要目的是减小不必要的代码逻辑,让最简单的操作系统来运行应用。
比如运行web应用,可能只需要运行网络处理逻辑、磁盘处理逻辑、语言解释逻辑、cpu调度逻辑就可以了,其他的权限管理、进程切换、可视化、音视频播放等都可以删除掉。

优点
  1. 性能更优 不需要用户态和内核态拷贝
  2. 代码量更小,相比传统操作系统减小90%以上
  3. 安全,代码减小意味着漏洞更少
  4. 快速启动,可以在用户请求时才启动并进行处理
缺点
  1. 难调试和难扩展
  2. 如果硬件更换,硬件驱动可能需要更改,即unikernel需要更新

相关资料

https://zhuanlan.zhihu.com/p/29053035
http://unikernel.org/

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值