開源虛擬化操作系統OSv初探(一)

OSv是專爲虛擬化環境開發的操作系統,其創始人包括鼎鼎大名的KVM創立者Avi Kivity。

當前的Linux並非爲虛擬化設計,包含了太多的東西,從而顯得笨重而影響性能。

以下是官方的說法:

"probably the best OS for cloud workloads!

OSv is designed from the ground up to execute a single application on top of a hypervisor, resulting in superior performance and effortless management"


OSv不是linux發行版,也不是基於Linux內核。OSv是使用C++全新開發的一個操作系統。

OSv的目標是提供運行在虛擬機內部的操作系統。因此並非要取代Linux。

  • 面向虛擬機中的OS。

  • 支持Linux軟件,但是不是Linux。

  • 開源。BSD協議。


作者的這句解釋說的非常好。

"If you take the hypervisor as the layer for granted, then by all means OSv is an operating system. But if you look at the whole stack and you're running KVM, which is essentially Linux, OSv is basically a library that you attach your application to and you can boot directly on KVM. You're booting that application and using KVM as a containing mechanism."


傳統的操作系統主要提供兩類功能:硬件管理和多用戶/多進程的隔離。在雲環境中,OS面臨的情況已經發生了很大變化。

  • 硬件型號統一爲幾種,而非像傳統一般有衆多的廠商提供的硬件產品型號。
  • 雲環境中更傾向於一個OS中部署一個應用。(通過OS進行應用間隔離。這也更有利於擴展和可靠性的提升。)

OSv做了哪些優化?

真實環境下,硬件操作通常納秒級返回,而虛擬硬件的操作通常會毫米級返回。另外由於hypervisor對VCPU的調度,指令間的延遲可能無法估計的大。

針對與此,OSv避免使用自旋鎖等,通過non-blocking, lock-free algorithms, and sleeping mutexes確保不浪費CPU時間。同時儘量在虛擬化環境執行費時的操作。

其他還有統一的內存地址空間。

統一的特權級別,不再有內核和應用層的切換消耗。


JVM做了那些優化?

通過應用與內核執行在同一特權級別,避免了上下文切換的代價。

通過大頁改進應用訪問內存的性能。

通過暴露硬件API給JVM,提升垃圾回收等方面的性能。


目前OSv還在開發中,計劃3月提供alpha版本。

從目前的benchmark看,memcached在OSv中比普通Linux上處理請求的能力有40%以上的提升。



參考:

PPT介紹:https://www.usenix.org/conference/lisa13/osv-new-open-source-operating-system-designed-cloud

官網:http://osv.io/

其他文章:https://www.linux.com/news/featured-blogs/200-libby-clark/748578-osv-the-open-source-cloud-operating-system-that-is-not-linux

中文說明:http://os.51cto.com/art/201309/412164.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章