一、LibOS
库操作系统(Library Operating System,简称 LibOS)是根据某类应用的特殊需求,由某一高级编程语言将原本属于操作系统内核的某些资源管理功能,如文件磁盘 I/O、网络通信等,按照模块化的要求,以库的形式提供给应用程序的特殊操作系统。
它能代替操作系统内核合理地管理和控制所涉及的计算机资源,并将所涉及的计算机资源直接暴露给应用程序,让应用程序直接访问底层(虚拟)硬件,以便应用程序能够高效地运行。特别地,它与应用程序在编译时被链接到一起,形成一个只有单地址空间的二进制文件并工作在应用层,是构建 Unikernel 的一个必不可少的系统组件。
相对于 Container/VM 等共享内核技术,LibOS 更加轻量、运行资源消耗更少,并提供了内核定制能力。LibOS 有更好的隔离性,能够给每个应用都提供独立的 OS,从而让应用可以在不同的平台上运行。
引自 Rudy 大神的 《库操作系统 libos》
二、SGX
英特尔软件防护扩展(Intel Software Guard Extensions&#x