HermiTux – Linux二进制兼容的unikernel

2020-12-14 22:25:15

发现我们的相关项目,在该项目中,我们使用英特尔内存保护锁来保护用Rust编写的单核:https://ssrg-vt.github.io/libhermitMPK

HermiTux是一个Unikernel:最小的操作系统,具有较低的内存/磁盘占用空间和不到一秒的启动时间,可在系统管理程序顶部的单个地址空间内执行应用程序。而且,HermiTux与Linux二进制兼容:它可以运行本机Linux可执行文件。

尽管是概念证明,但HermiTux支持多种编译(C,C ++,Fortran)和解释(Python,LUA)语言。它提供了二进制分析和重写技术,以优化系统调用延迟并在未修改的二进制文件存在的情况下模块化内核。它支持静态和动态链接的程序,不同的编译器和优化级别。HermiTux还提供了对多线程,调试和性能分析的基本支持。

比较LinuxVM,HermiTux / OSv / Rumprun unikernel和Docker容器的磁盘占用空间,启动时间和内存使用情况。有关更多详细信息,请参见我们的VEE’19论文。

有关详细说明,请阅读Hermitux的VEE 2019论文和Daniel Chiba的MSThesisat Virginia Tech。

HermiTux使用基于KVM的轻量级虚拟机管理程序,该虚拟机可在单个地址空间虚拟机中的最小OS层上加载Linux二进制文件。在运行时,应用程序进行的系统调用被HermiTux的内核捕获。

可选地,HermiTux提供了一种将系统调用调用重写为对内核的通用函数调用的机制,从而显着减少了系统调用延迟。

HermiTux还可以分析Linux二进制文件以确定哪个系统调用它,并编译仅包含这些特定系统调用的实现的自定义内核。 HermiTux在授权N00014-16-1-2104,N00014-16-1-2711和N00014-16-1-2818下得到了ONR的部分支持。 本网站上表达的任何观点,发现,结论或建议均为作者的观点,并不一定反映ONR的观点。 这项研究和开发也得到了德国联邦教育和研究部的资助,资助号为01IH16010C(“环境工程”)。