关于 Unikernels 的思考

主要观点:Unikernels 是将应用与所需一切(包括内核驱动等)链接成单个二进制文件,可在云中运行的单用途设备,其相关论文获 2025 年 ASPLOS 会议有影响力论文奖。
关键信息

  • Unikernels 允许探索新想法,如 rethink 旧 OS 接口等,借助云及通用接口可在不同云提供商运行新 OS。
  • 是“库操作系统”,网络栈和设备驱动等是可直接与自定义应用逻辑链接的库,如基于 Mirage OS 的实验。
  • 对高保证应用是好选择,攻击面小,如 Xen 的 xenstore 服务用 OCaml 实现并作为隔离的 unikernel VM 运行以提高安全性,还可增加容错性。
  • 便于实验,因内核和用户代码在同一二进制文件中,可轻松尝试新接口,如响应网络请求生成 unikernels 隐藏 VM 启动延迟。
    重要细节
  • 2013 年论文《Unikernels: Library Operating Systems for the Cloud》获影响力论文奖,其链接为 https://dave.recoil.org/paper... ,文中有 Unikernel 架构图 https://dave.recoil.org/unike...
  • Mirage OS 有多种库,如 OCaml TCP/IP 栈、DNS 客户端和服务器、Xen 磁盘和网络驱动等,这些库可在其他情境使用,如在 Docker Desktop 解决网络问题。
  • 其他 Unikernel 项目如 UniKraft 支持运行现有应用作为 unikernels,Nanos 有 OCaml 支持及其他有趣功能,上游 Linux 也有 Unikernel Linux (UKL)。
阅读 16
0 条评论