由于操作系统抽象(进程间通信,虚存)接口和实现比较固定,传统的操作系统限制了系统的性能和可变性,以及应用可能的功能。
这篇文章实现一个新的操作系统体系结构,使得可以提供应用层次的对物理资源的管理。
文章实现了一个完整的原型操作系统,
SOSP 1995
为IBM的J9 java虚拟机提供了一个执行环境,并不代替全部的操作系统
Libra and J9 form a single statically-linked image that runs in a hypervisor partition
Libra和J9组成了一个在hypervisor上运行的静态链接镜像。Libra提供J9性能需要的必要服务,但是还依赖者在另外一个hypervisor镜像上的linux实例。由这个linux实例来提供网络协议栈,文件系统以及其他的服务。
远程调用的开销被抵消(offset)了因为Libra的服务可以根据特定的工作负载来定制。
VEE 2007
The design and implementation of an operating system to support distributed multimedia applications
IEEE Journal of Selected Areas in
Communications,
Rethinking the library OS from the top down.
Singularity: Rethinking the Software Stack
ACM SIGOPS Operating Systems Review 2007
虽然软件和硬件都在不断发展,但是操作系统中的一些设计决策是不变的。操作系统构成了几乎所有软件栈的基础,所以当前的系统中的不足会对以后的系统产生不好的影响。
这篇文章描述了singularity工程的主要工作,在新的编程语言和验证工具下,重新审视以前的设计决策。
Singularity有三个体系结构方面的特色
l 用软件隔离的进程(SIP)来保护程序和系统服务
l 用基于合同的通道来通信
l 用基于证明的程序来验证系统特性