2021-03-17

Exokernel -- An Operating System Architecture Application-Level Resource Management

Exokernel:用于应用程序级资源管理的操作系统体系结构(1995)


介绍

这篇论文着重介绍了exokernel的操作体系结构设计,以及如何安全高效地实现exokernel。这篇文章认为传统的操作系统通过固定接口和实现操作系统抽象(如进程间通信和虚拟内存)限制了应用程序的性能、灵活性和功能。因此提出了一种基于exokernel的操作系统体系架构,通过提供物理资源的应用程序级管理来消除这些限制。

  1. 文章的第2节介绍了设计Exokernels的动机,讨论了传统操作系统中存在的一些问题,并展示exokernel体系结构如何解决这些问题。
  2. 第3节讨论了Exokernels是如何设计的以及在设计过程中出现的问题。
  3. 第4节概述了研究现状,并说明了实验方法。
  4. 第5节和第6节介绍了Aegis(宙斯盾,an Exokernel)和ExOS(一个库操作系统)的实现并总结了性能度量。
  5. 第7节报告了演示exokernel体系结构灵活性的实验。
  6. 第8节总结了一些相关工作。
  7. 第9节对本文进行总结。

基本思想

在exokernel体系结构中,一个小内核通过底层接口安全地将所有硬件资源导出到不受信任的库操作系统。库操作系统使用此接口来实现系统对象和策略。这种资源保护与管理的分离允许通过扩展、专门化甚至替换库来定制特定于应用程序的传统操作系统抽象。首先exokernel系统由exokernel内核(一层很轻量的系统软件层)和library OS组成,应用程序跟library OS编译、链接在一起。这样,应用程序与library OS共用一个地址空间,应用程序可以有限制的访问系统资源(网络socket、内存VMA等),允许应用程序定制使用原本操作系统内核才可以使用的资源。

exokernel体系结构的核心原则是内核应该提供安全的低级原语,允许尽可能直接地访问所有硬件资源,所以他也有一个最重要的目标:将保护与管理分离开来。例如,exokernel应该在不理解窗口系统的情况下保护framebuffer(帧缓冲),在不理解文件系统的情况下保护磁盘。因此,exokernel使用一种不同的方法:它导出硬件资源,而不是模拟它们,这允许高效和简单的实现,exokernel使用三种技术来安全地导出资源:

首先,通过使用安全绑定,应用程序可以安全地绑定到机器资源并处理事件。

其次,通过使用可见资源撤销,应用程序参与了资源撤销协议。

第三,通过使用中止协议,exokernel可以强行破坏不合作应用程序的安全绑定。

文章给出了一个系统示例:
图1:一个基于exokernel的示例系统,它由一个薄的exokernel面板组成,该面板通过安全绑定将资源导出到库操作系统。每个库操作系统实现自己的系统对象和策略。应用程序链接到标准库(例如Web应用程序的WWW、POSIX和TCP库)或专用库(例如并行应用程序的分布式共享内存库)。
图1:一个基于exokernel的示例系统,它由一个薄的exokernel面板组成,该面板通过安全绑定将资源导出到库操作系统。每个库操作系统实现自己的系统对象和策略。应用程序链接到标准库(例如Web应用程序的WWW、POSIX和TCP库)或专用库(例如并行应用程序的分布式共享内存库)。

总结

在exokernel架构中,一个exokernel安全地在应用程序之间多路复用可用的硬件资源。库操作系统,工作在底层exokernel接口之上,实现更高层次的抽象,并可以定义最能满足应用程序性能和功能目标的特殊目的实现。exokernel体系结构是由一个简单的观察结果所驱动的:原语的级别越低,实现它的效率就越高,并且它赋予更高级别抽象的实现者更多的空间。为了实现一个低级的接口,exokernel将管理和保护分开。为了使这种分离更有效,它使用了安全绑定,使用硬件机制、软件缓存或下载代码实现。

首先,exokernel原语的简单性和有限的数量使它们能够非常有效地实现。Aegis的测量结果表明,它的基本原语比Ultrix提供的一般原语具有更高的效率。此外,Aegis的性能优于或与最近的异常调度和控制传输原语的高性能实现相当。

其次,由于exokernel原语速度快,因此可以有效地实现硬件资源的低级别安全多路复用。例如,Aegis比最新的实现更有效地多路复用处理器、内存和网络等资源。

第三,传统的操作系统抽象可以在应用程序层有效地实现。例如,ExOS的应用程序级VM和IPC原语比Ultrix的相应原语和文献中报告的最新实现要快得多。

第四,应用程序可以通过仅仅修改一个库来创建特定目的的抽象实现。

基于这些实验的结果,可得出结论,exokernel体系结构是一个可行的结构,为高性能,可扩展的操作系统。

参考

Exokernel: An Operating System Architecture for Application-Level Resource Management, SOSP 1995.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值