2007年6月6日 星期三

微軟開發新作業系統 Singularity

微軟開發新作業系統 Singularity
http://research.microsoft.com/os/singularity/

The Singularity Operating System
http://www.darksideprogramming.net/2005/11/the_singularity_operating_syst.html#more

微軟的研究人員現在從根本打造一個全新的作業系統原型,具有新的系統、程式語言、以及工具,稱為 Singularity,他強調的是可靠穩定而非效能。Singularity 使用型別安全(type-safe)的語言以及抽像指令集來達成所謂的 Software Isolated Processes (SIPs)。SIPs 可以確保作業系統的程序(process)完全孤立,包括 isolated object space, separate GCs, separate runtimes,而不會超越硬體,如此可以增強保護的能力。他們提到目前的 SIPs 的研發是很 "cheap" 的,因為目前透過 ring 0 的等級在核心空間中就可以執行。Singularity 將每個程式、裝置、驅動程式或是系統的延伸功能獨立在 SIPs 當中執行,如此可以確保整個系統的安全性與可靠性。該計畫的 Overview 可以從這裡下載:ftp://ftp.research.microsoft.com/pub/tr/TR-2005-135.pdf

以下是 SIPs 的一些特性:

* SIPs are the OS processes on Singularity. All code outside the kernel executes in a SIP. differ from conventional operating system processes in a number of ways:

* SIPs are closed object spaces, not address spaces. Two Singularity processes cannot simultaneously access an object. Communications between processes transfers exclusive ownership of data.

* SIPs are closed code spaces. A process cannot dynamically load or generate code.

* SIPs do not rely on memory management hardware for isolation. Multiple SIPs can reside in a physical or virtual address space.

* Communications between SIPs is through bidirectional, strongly typed, higher-order channels. A channel specifies its communications protocol as well as the values transferred, and both aspects are verified.

* SIPs are inexpensive to create and communication between SIPs incurs low overhead.

* Low cost makes it practical to use SIPs as a fine-grain isolation and extension mechanism.

* SIPs are created and terminated by the operating system, so that on termination, a SIP's resources can be efficiently reclaimed.

* SIPs executed independently, even to the extent of having different data layouts, run-time systems, and garbage collectors.